$gate_id = $data->get("gate_id"); $identity_type = $data->get("identity_type"); $identity_code = $data->get("identity_code"); $card_holder = $data->get("card_holder"); $last_four_cardid = $data->get("last_four_cardid"); $usr_busi_agreement_id = $data->get("usr_busi_agreement_id"); $usr_pay_agreement_id = $data->get("usr_pay_agreement_id"); $version = $data->get("version"); $sign = $data->get("sign"); //获取UMPAY平台请求商户的支付结果通知数据,并对请求数据进行验签,此时商户接收到的支付结果通知会存放在这里,商户可以根据此处的trade_state订单状态来更新订单 $resData = new HashMap(); try { //获取UMPAY平台请求商户的支付结果通知数据,并对请求数据进行验签 //如验证平台签名正确,即应响应UMPAY平台返回码为0000。【响应返回码代表通知是否成功,和通知的交易结果(支付失败、支付成功)无关】 //验签支付结果通知 如验签成功,则返回ret_code=0000 $reqData = PlatToMer::getNotifyRequestData($data); $resData->put("ret_code", "0000"); } catch (Exception $e) { //如果验签失败,则抛出异常,返回ret_code=1111 System . out . printf("验证签名发生异常" + $e); $resData->put("ret_code", "1111"); } //验签后的数据都组织在resData中。 //生成平台响应UMPAY平台数据,将该串放入META标签,以下几个参数为结果通知必备参数 //生成平台响应UMPAY平台数据,将该串放入META标签 $resData->put("mer_id", $data->get("mer_id")); $resData->put("sign_type", $data->get("sign_type")); $resData->put("mer_date", $data->get("mer_date")); $resData->put("order_id", $data->get("order_id")); $resData->put("version", $data->get("version")); $resData->put("ret_msg", "success");
<html> <?php require_once "../api/plat2Mer.php"; require_once "../api/mer2Plat.php"; //获取联动平台支付结果通知数据(商户应采取循环遍历方式获取平台通知数据,不应采取固定编码的方式获取固定字段, //否则当平台通知数据发生变化时,容易出现接收数据验签不通过情况) $map = new HashMap(); foreach ($_REQUEST as $key => $value) { $map->put($key, $value); } //获取UMPAY平台请求商户的支付结果通知数据,并对请求数据进行验签,此时商户接收到的支付结果通知会存放在这里,商户可以根据此处的trade_state订单状态来更新订单。 $resData = new HashMap(); try { //如验证平台签名正确,即应响应UMPAY平台返回码为0000。【响应返回码代表通知是否成功,和通知的交易结果(支付失败、支付成功)无关】 //验签支付结果通知 如验签成功,则返回ret_code=0000 $reqData = PlatToMer::getNotifyRequestData($map); $resData->put("ret_code", "0000"); } catch (Exception $e) { //如果验签失败,则抛出异常,返回ret_code=1111 System . out . printf("验证签名发生异常" + $e); $resData->put("ret_code", "1111"); } //验签后的数据都组织在resData中。 //生成平台响应UMPAY平台数据,将该串放入META标签,以下几个参数为结果通知必备参数,实际响应参数请参照接口规范填写。 $resData->put("mer_id", $map->get("mer_id")); $resData->put("sign_type", $map->get("sign_type")); $resData->put("version", $map->get("version")); $resData->put("ret_msg", "success"); $data = MerToPlat::notifyResponseData($resData); ?>