1.平台下单接口
参考地址
注意:若是微信公众号支付 请使用 qmf.webPay 并在 微信公众号的环境中测试

 $mdKey = 'fcAmtnx7MwismjWNhNKdHC44mNXtnEQeJkRrhKJwyrW2ysRR';$mid = '898340149000005';$tid = '88880001';$merOrderId = '3194' . 'SH20191120093138668264';$msgSrc = 'WWW.TEST.COM';$time = time();$notifyUrl = $_W['siteroot'] . './addons/xt_agent/payment/yinlian/notify.php';$requestTimestamp = date('Y-m-d H:i:s',$time);$msgType = 'qmf.webPay';//微信支付:WXPay.jsPay,支付宝支付:trade.jsPay,银联支付:qmf.jspay(qmf.webPay)//根据实际情况,回调时携带的参数$attachedData = ['money' => $money,'module' => $module,'number' => $number,'number2' => $number2,'uniacid' => $_W['uniacid'],'acid' => $_W['acid'],];$attachedData = json_encode($attachedData);///转为json类型$data = ['instMid' => 'YUEDANDEFAULT',//业务类型'merOrderId' => $merOrderId,//订单号'mid' => $mid,//商户号'msgSrc' => $msgSrc,//消息来源'msgType' => $msgType,//消息类型'orderDesc' => '测试',//订单描述'requestTimestamp' => $requestTimestamp,//报文请求时间'tid' => $tid,//终端号'totalAmount' => '1',//支付金额'notifyUrl' => $notifyUrl,//支付结果通知地址,结果页面会将返回参数通过post传过来。通过status值来判断是否支付成功'returnUrl' => $notifyUrl,//网页跳转地址,结果页面会将返回参数通过get传过来。通过status值来判断是否支付成功'attachedData' => $attachedData, //携带的参数];ksort($data, SORT_STRING);reset($data);$options = '';$options2 = '';foreach ($data as $key => $value) {$options .= $key . '=' . $value .'&';///注意 参数还要用urlencode函数处理一下$options2 .= $key . '=' . urlencode($value) . '&';}$options = rtrim($options, '&');//存在转义字符,那么去掉转义if(get_magic_quotes_gpc()){$options = stripslashes($options);}$sign = md5($options . $mdKey);$options2 .= 'sign=' . urlencode($sign);///注意 参数还要用urlencode函数处理一下$url = 'https://qr-test2.chinaums.com/netpay-portal/webpay/pay.do?'.$options2;exit('<script>top.window.location.href=\'' . $url . '\'</script>');

2.支付结果查询接口

 $msgType = empty($msgType) ? 'query' : $msgType;$mdKey = 'fcAmtnx7MwismjWNhNKdHC44mNXtnEQeJkRrhKJwyrW2ysRR';$mid = '898340149000005';$tid = '88880001';$merOrderId = '3194' . 'SH20191120093138668264';$msgSrc = 'WWW.TEST.COM';$time = time();$notifyUrl = $_W['siteroot'] . '/addons/sz_yi/payment/yinlian/notify.php';$requestTimestamp = date('Y-m-d H:i:s',$time);$data = ['instMid' => 'YUEDANDEFAULT',//业务类型'merOrderId' => $merOrderId,//订单号'mid' => $mid,//商户号// 'msgSrc' => 'WWW.HANGZPXWH.COM',//消息来源'msgSrc' => $msgSrc,//消息来源'msgType' => $msgType,//消息类型'requestTimestamp' => $requestTimestamp,//报文请求时间'tid' => $tid,//终端号];ksort($data, SORT_STRING);reset($data);$options = '';$options2 = '';foreach ($data as $key => $value) {$options .= $key . '=' . $value .'&';}$options = rtrim($options, '&');//存在转义字符,那么去掉转义if(get_magic_quotes_gpc()){$options = stripslashes($options);}$sign = md5($options . $mdKey);$data['sign'] = $sign;$ch = curl_init();///json 格式 请求$data = json_encode($data);$timeout = 5;curl_setopt($ch, CURLOPT_URL, 'https://qr-test2.chinaums.com/netpay-route-server/api/');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// dump(123);die;curl_setopt($ch, CURLOPT_POSTFIELDS, ($data));curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//设置header信息application/x-www-form-urlencoded;charset=utf-8  application/jsoncurl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data)));curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);$output = json_decode($output);

3.订单退款接口

 $msgType = empty($msgType) ? 'refund' : $msgType;$instMid = 'YUEDANDEFAULT';//业务类型$mdKey = 'fcAmtnx7MwismjWNhNKdHC44mNXtnEQeJkRrhKJwyrW2ysRR';$mid = '898340149000005';$tid = '88880001';$merOrderId = '3194SH2030erererere6666699';//订单号$msgSrc = 'WWW.TEST.COM';$time = time();$notifyUrl = $_W['siteroot'] . '/addons/sz_yi/payment/yinlian/notify.php';$requestTimestamp = date('Y-m-d H:i:s',$time);$data = ['instMid' => $instMid,//业务类型'merOrderId' => $merOrderId,//订单号'mid' => $mid,//商户号'msgSrc' => $msgSrc,//消息来源'msgType' => $msgType,//消息类型'requestTimestamp' => $requestTimestamp,//报文请求时间'tid' => $tid,//终端号'refundAmount' => 1,//退款金额'refundDesc' => '测试',//退款说明];ksort($data, SORT_STRING);reset($data);$options = '';$options2 = '';foreach ($data as $key => $value) {$options .= $key . '=' . $value .'&';}$options = rtrim($options, '&');//存在转义字符,那么去掉转义if(get_magic_quotes_gpc()){$options = stripslashes($options);}$sign = md5($options . $mdKey);$data['sign'] = $sign;$ch = curl_init();///json 格式 请求$data = json_encode($data);$timeout = 5;curl_setopt($ch, CURLOPT_URL, 'https://qr-test2.chinaums.com/netpay-route-server/api/');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, ($data));curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//设置header信息application/x-www-form-urlencoded;charset=utf-8  application/jsoncurl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data)));curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);$output = json_decode($output);
  1. 调试
    若不知道支付结果通知地址返回的参数,可以通过写文件的方式来观看返回的参数结果
$myfile = fopen("./notify.txt", "w") or die("Unable to open file!"); //创建或打开文件$post2 = json_encode($post);//根据通知地址返回的是get还是post方式 fwrite($myfile, $post2);
fclose($myfile); // 关闭文件

(1)当notify.php 文件代码,不执行时,可以将returnUrl的路径=notifyUrl的路径,观看是否为路径错误,或是否为notify.php因代码错误而无法执行。
(2)若因notify.php代码错误而无法执行。可以通过浏览器访问notifyUrl路径来观看notify.php是否是代码错误,而无法执行

php实现银联商务公众号+服务窗支付 代码相关推荐

  1. java对接银联商务公众号+服务窗支付(1)

    java实现银联商务公众号+服务窗对接----支付下单 GitLab地址:https://gitlab.com/982837387/UnionPayGetWay.git 本文对接银联商务公众号+服务窗 ...

  2. java对接银联商务公众号+服务窗支付(5)

    java实现银联商务公众号+服务窗对接----订单撤销 本文对接银联商务公众号+服务窗支付,实现支付下单.订单查询.订单退款.退款查询和订单关闭几个功能,使用到银联商务的公众+服务窗支付接口规范,请自 ...

  3. java对接银联商务公众号+服务窗支付(4)

    java实现银联商务公众号+服务窗对接----退款查询 本文对接银联商务公众号+服务窗支付,实现支付下单.订单查询.订单退款.退款查询和订单关闭几个功能,使用到银联商务的公众+服务窗支付接口规范,请自 ...

  4. java对接银联商务公众号+服务窗支付(2)

    java实现银联商务公众号+服务窗对接----下单查询 本文对接银联商务公众号+服务窗支付,实现支付下单.订单查询.订单退款.退款查询和订单关闭几个功能,使用到银联商务的公众+服务窗支付接口规范,请自 ...

  5. java对接银联商务公众号+服务窗支付(3)

    java实现银联商务公众号+服务窗对接----订单退款 本文对接银联商务公众号+服务窗支付,实现支付下单.订单查询.订单退款.退款查询和订单关闭几个功能,使用到银联商务的公众+服务窗支付接口规范,请自 ...

  6. 银联支付h5返回商户的地址是post的吗?_php实现银联商务公众号+服务窗支付

    一:接口地址: 测试接口地址:https://qr-test2.chinaums.com... 正式接口地址:https://qr.chinaums.com/netpa... 二:主要参数说明: 接口 ...

  7. 服务号php代码示例,php实现银联商务公众号+服务窗支付的示例代码

    之前我们学习了银联商务的H5支付,但是现在H5支付不支持微信支付,最后发现银联商务的公众号+服务窗支付可以支持支付宝支付+微信支付+银联支付 一:接口地址: 测试接口地址:https://qr-tes ...

  8. php 工商银行公众号支付代码_php实现银联商务公众号+服务窗支付

    一:接口地址: 二:主要参数说明: 接口使用的是get传参,直接将接口参数放到接口地址后,此接口是由浏览器直接跳转到接口 1:instMid 业务类型,直接填入:YUEDANDEFAULT 2:mer ...

  9. 微信公众号 php支付代码,微信支付PHPSDK之微信公众号支付代码详解

    这里假设你已经申请完微信支付 1. 微信后台配置 如图 我们先进行测试,所以先把测试授权目录和 测试白名单添加上.测试授权目录是你要发起微信请求的哪个文件所在的目录. 例如jsapi 发起请求一般是j ...

最新文章

  1. Arrays.sort()源码分析
  2. c语言动态的申请矩阵存储空间,C语言中二维数组如何申请动态分配内存
  3. “花书”的佐餐,你的线性代数笔记
  4. Mbox vs Maildir - 两者原理和区别
  5. POJ2182 HDU2711 Lost Cows【树状数组+线段树】
  6. python怎么读音发音英语-python style是什么意思
  7. 海康威视监控工具-IVMS-4200不同系统兼容性问题汇总
  8. h2 不能访问localhost_Spring 配置的 H2 控制台 frameOptions 导致无法访问
  9. 3月20 Ubuntu里运行脚本示例
  10. 【Android游戏开发之四】Android 游戏框架(一个游戏角色在屏幕行走的demo)
  11. A8. 无人机编队飞行定位分析与讨论-大结局
  12. Springboot配置文件
  13. 1、Python3.9版本官网下载安装教程
  14. Linux如何使用mail命令给outlook邮箱发送邮件
  15. Luogu P3403 跳楼机|同余最短路
  16. 法拉克机器人自动怎么调_FANUC机器人:参考位置功能介绍与设定方法
  17. matlab八分之一中点画圆算法,中点八分画圆算法
  18. 有了它,Python“咸鱼”迅速翻身!
  19. 华容道 java_Java-华容道
  20. iOS wifi 路由器 连接

热门文章

  1. 电源基本知识问答20条
  2. 头条搜索Bytespider蜘蛛说明
  3. 【基于C++个人编程】中小学数学出题系统
  4. 【专栏必读】王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
  5. B/S程序员们,让我们一起来加速IE6的死亡吧!
  6. Anubis可视化绘图详细教程(从安装到出图)
  7. 只要30行代码!7步教会你Python爬取网页抖音热门视频
  8. 全名k歌导出已发布的音乐方法
  9. python 1-100days
  10. 中国污水处理行业发展环境深度分析及十四五投资机会评估报告2022-2028年版