这次给大家带来微信支付的退款功能开发,微信支付退款功能开发的注意事项有哪些,下面就是实战案例,一起来看一下。
先吐槽下微信的文档和demo,重要的步骤信息没有强调清楚,.net的demo就没有跑成功过。
1.微信扫码登录
2.微信PC端支付
几经摸索才走通这个退款功能。下面介绍下微信支付退款功能的开发步骤:
一、下载证书并导入到系统
微信退款是需要证书的,这个证书不是官方demo中的证书,而是需要自己在微信商户平台中的api安全栏下载的证书,在官方的证书使用实例的一个word文档看到下面话:C#有一点需要注意,除了在代码中使用apiclient_cert.p12之外还需要将该证书导入操作系统才能使用,1、代码中使用、;2、导入操作系统,二者缺一不可。.NET版本需要大于2.0 之前就是不知道这两步,浪费了太多时间。所以先下载证书:
下载的时候需要手机验证及登录密码。下载后找到apiclient_cert.p12这个证书,双击导入,导入的时候提示输入密码,这个密码就是商户ID,且必须是在自己的商户平台下载的证书。否则会出现密码错误的提示:
导入正确的提示:
二、代码退款
这个地方可以直接用官方demo中的代码,demo下载
需要修改WxPayConfig中的几个参数:
1 2 3 |
|
上面的SSLCERT_PASSWORD就是MCHID,也就是商户ID,SSLCERT_PASSWORD错误会出现指定的网络密码不正确的提示:
接下来在控制器中增加一个退款方法,包含微信订单号、商户订单号、总金额和退款金额。商户订单号和微信订单号二选一。详细参数
1 2 3 |
|
Refund类的Run方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Refund:方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
生产环境中记得修改成自己的参数。如果参数都正确,将会返回:
而且,微信马上回收到退款通知:
小结:至此,退款功能已经走通,其实如果参数和流程对了,这个地方还是很简单的,微信的规定是可以申请一年内交易的退款。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
jQuery、Angular、node中的Promise详解
以上是微信支付的退款功能开发的详细内容。更多信息请关注PHP中文网其他相关文章!