菜鸟笔记
简单的开发笔记
首页
登录 / 注册
笨猫首页
笨猫首页
斑马导航
奶牛网盘
白象软仓
青蛙壁纸
毒蛇电影
怪鸟头像
大熊逗图
热狗应用
蜗牛摘录
狐狸颜选
关于我们
收藏网站
菜鸟笔记
简单的开发笔记
首页
登录 / 注册
微信支付v3支付结果通知处理(php)
微信支付V3与之前的版本相比有了较大的改动,但开发文档并没有demo。 目前在网上的一些教程大多数还是V2版本支付教程,还有一部分是根本就不懂,瞎搬。这里copy一点那里copy一点凑起来。其实这个说实话不难,稍微仔细阅读下官方文档,就能够自己做的。 笨猫这里给大家演示实例以PHP为例,如果你是用其他语言,其实方法都是一样的。最主要就是对结果解密。 ### 后端开发 支付结果通知是以POST 方法访问商户设置的通知url,通知的数据以JSON。格式通过请求主体(BODY)传输。通知的数据包括了加密的支付结果详情。 那么在php中可以这样获取数据: ```php $data = file_get_contents('php://input'); $data = json_decode($data, true); ``` 现在报文不是xml格式了,而是json格式,简单快捷。 结果内容如下: ```json { "id":"EV-2018022511223320873", "create_time":"2015-05-20T13:29:35+08:00", "resource_type":"encrypt-resource", "event_type":"TRANSACTION.SUCCESS", "resource" : { "algorithm":"AEAD_AES_256_GCM", "ciphertext": "...", "nonce": "...", "original_type":"transaction", "associated_data": "" }, "summary":"支付成功" } ``` 所以要判断字段summary是不是"支付成功"。 ### 解密订单数据 上述的支付结果中,字段resource的值便包含了加密后的订单数据,因此在判断支付成功后,便需要对订单数据解密。 下面详细描述对通知数据进行解密的流程: 1、用商户平台上设置的APIv3密钥【微信商户平台—>账户设置—>API安全—>设置APIv3密钥】,记为key; 2、针对resource.algorithm中描述的算法(目前为AEAD_AES_256_GCM),取得对应的参数nonce和associated_data; 3、使用key、nonce和associated_data,对数据密文resource.ciphertext进行解密,得到JSON形式的资源对象; 也就是说,订单数据密文是resource.ciphertext ```php $nonceStr = $resource['nonce']; $associatedData = $resource['associated_data']; $ciphertext = $resource['ciphertext']; $ciphertext = \base64_decode($ciphertext); if (strlen($ciphertext) <= 12) { return; } ``` 解密方法如下: ```php if (function_exists('\sodium_crypto_aead_aes256gcm_is_available') && \sodium_crypto_aead_aes256gcm_is_available()) { //$APIv3_KEY就是在商户平台后端设置是APIv3秘钥 $orderData = \sodium_crypto_aead_aes256gcm_decrypt($ciphertext, $associatedData, $nonceStr, $APIv3_KEY); $orderData = json_decode($orderData, true); //到数据库查看订单状态是否已更新为"success" //应答微信支付已处理该订单的通知 return ['code' => 'SUCCESS', 'message' => '']; } ``` 到这里,就全部完成了。从过程看,肯定比V2支付方便很多。 但是个人觉得还是要多熟悉下官方文档。
微信搜搜
笨猫小站
linux系统下winscp连接被拒绝怎么解决
html2canvas 图片跨域问题的解决方案及其原理
前端页面a标签不能嵌套解决方案
宝塔面板安装阿里云SLL证书教程
(1362)
(414)
(186)
打赏
公众号
小程序
QQ群
顶部
笨猫小站
小站首页
笨猫图库
懒虫工具
奶牛网盘
斑马导航
青蛙壁纸
毒蛇电影
白象软件
热狗应用
怪鸟头像
狐狸颜选
菜鸟笔记
蜗牛摘录
谢谢老板打赏
祝老板每天都有好运气
支付宝
微信
关闭弹窗
小站会员
永久会员最划算哟
3天体验卡
¥9.00
¥29.00
每天仅需3.00元
每天下载
5
次
1年畅享卡
¥39.00
¥99.00
每天仅需0.11元
每天下载
20
次
永久至尊卡
¥99.00
¥369.00
每天仅需0.00元
每天下载
1000
次
支付宝支付
微信支付
1. 会员充值前请仔细核对信息
2. 会员属于虚拟产品,充值成功后不予退款
微信搜一搜
笨猫小站
打赏赞助
猫豆充值
充值越多价格约优惠哟
20 猫豆
¥5.00元
¥5.00元
50 猫豆
¥9.00元
¥9.00元
100 猫豆
¥15.00元
¥15.00元
200 猫豆
¥20.00元
¥20.00元
500 猫豆
¥29.00元
¥29.00元
1000 猫豆
¥49.00元
¥49.00元
2000 猫豆
¥89.00元
¥89.00元
5000 猫豆
¥179.00元
¥179.00元
10000 猫豆
¥299.00元
¥299.00元
支付宝支付
微信支付
微信扫码支付
请使用微信扫一扫完成付款
¥15.00
22:21:12
我已支付
笨猫小站
微信扫码关注不领福利
请使用微信扫一扫关注我
已关注
笨猫工具
笨猫小站工具库
请使用微信扫一扫立马获取
已关注
笨猫小站
笨猫小站资源群
请使用QQ扫一扫加如QQ群
已加入
绑定账号
绑定账号手机端登录更方便
确认绑定
绑定微信
绑定微信登录更方便
微信二维码已过期
刷新
请使用微信扫码关注即可绑定
(移动端截图保存扫码关注)
订单详情
订单信息已生成
请稍等...
登录
·
注册
登录即代表您已同意
《服务协议》
和
《隐私协议》
确认提交
微信快捷登录/注册
注册即代表您已同意
《服务协议》
和
《隐私协议》
确认提交
微信快捷登录/注册
微信二维码已过期
刷新
请使用微信扫描二维码关注登录
手机账号注册