从零玩转系列之微信支付实战PC端支付微信退款接口搭建3

简介: 从零玩转系列之微信支付实战PC端支付微信退款接口搭建

三、测试

内网穿透

开启花生壳或者其他产品 用于接收支付成功回调更新订单

70c00fe3_5151444.png

执行下单

e3351cdc_5151444.png

生成二维码

复制codeUrl参数打开草料 https://cli.im/url 进行扫码支付!

支付成功后去微信支付通知里面查看我们的交易订单号

6ea116f7_5151444.png

调用申请退款接口

RestFul风格接口讲解

/api/wx-pay/native/refunds/{orderNo}/{refundsNo}/{reason}

orderNo 订单号

refundsNo 交易订单号 目前我们程序当中只需要后四位即可

reason 退款理由(可不填写)


退款成功

a00a4a99_5151444.png

eb27510d_5151444.png

还没完~ 前面我们提到了退款的回调此时退款已经到达了用户的账户当中我们自己的数据库对应的订单数据还没更新呢

四、退款结果通知API

退款状态改变后,微信会把相关退款结果发送给商户。

注意:

对后台通知交互时,如果微信收到应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功

• 同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当商户系统收到通知进行处理时,先检查对应业务数据的状态,并判断该通知是否已经处理。如果未处理,则再进行处理;如果已处理,则直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

• 如果在所有通知频率后没有收到微信侧回调。商户应调用查询订单接口确认订单状态。

**特别提醒:**商户系统对于开启结果通知的内容一定要做签名验证,并校验通知的信息是否与商户侧的信息一致,防止数据泄露导致出现“假通知”,造成资金损失。

接口说明

**请求方式:**POST

**请求URL:**该链接是通过[申请退款接口]指定的notify_url,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。 通知url必须为直接可访问的url,不能携带参数。示例:“https://pay.weixin.qq.com/wxpay/pay.action

以上是官方文档的原话简单来说就是和支付成功的回调一样就行啦

修改 WechatNativeController 新建refundsNotify 回调方法

⚠️ 和支付通知一样的逻辑只是处理的对象不同直接上代码就懂得明明白白

同学们动手打打代码

03ef7af7_5151444.png

修改wxPayService 创建 processRefund方法 退款通知 处理退款单数据

此处逻辑和支付成功回调一样如果忘记了快去补习 第五章从零玩转系列之微信支付实战PC端支付微信回调接口搭建

  1. 解密返回的参数为明文
  2. 获取订单号用于查询或更新信息
  3. 启用锁防止重复提交
  4. 更新订单状态和退款单
  5. 释放锁

同学们手动打打代码吧~

  1. 62d19b66_5151444.png

五、测试退款回调

步骤和上面的测试一样哦

  1. 打开内网穿透工具
  2. 创建订单
  3. 草料生成二维码支付成功
  4. 调用申请退款接口
  5. 观察控制台的打印是否退款回调成功

⚠️ 如果3秒后退款回调没有到达那么请检查你设置的退款回调地址是否正确

ca42a516_5151444.png

退款回调完成

f158d352_5151444.png

最后

本期结束咱们下次再见👋~ ,关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

【选题思路】

“技术源于生活” 为什么写微信支付这种项目的文章呢? 因为我看到市面上的文章都不全面不细节不小白话更加没有配套Demo!!! 从而我的从零玩转微信支付诞生啦~ 搭配PC端、Uniapp端的不同实现.

【写作提纲】

I. 前言

A. 通过前言表达我每次的文章内容是什么东西

II. 订单退款接口实现

A. 集结生活之中的场景来解析他的逻辑

III. 步入正题

A. 集合前面的理论知识点编写出功能代码

IV. 测试

A. 通过测试用例一步步排查编写是否存在BUG

相关文章
|
2月前
|
API 开发者
微信native支付对接案例详解
本文详细介绍了微信Native支付的对接流程,包括效果展示、产品介绍、接入前准备、开发指引、API列表、支付通知等,并强调了只有通过微信认证的服务号才能对接微信支付。每年需支付300元认证费用。
116 3
|
4月前
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
99 1
 H5微信外支付(移动端浏览器)
|
4月前
|
移动开发 安全 API
微信H5支付--微信JS-SDK支付--点金计划
本文详细介绍了微信H5支付和JS-SDK支付的原理、配置和开发流程,涵盖了H5支付在移动端浏览器外唤起微信支付的细节,以及JS-SDK支付在微信内置浏览器中完成支付的相关注意事项。文章还针对微信支付常见问题,提供了解决方案和代码示例。最后,文章深入解析了微信支付点金计划,包括商家小票的自定义开发、API接口以及支付成功后的页面展示逻辑,为开发者提供了完整的开发参考。
253 0
微信H5支付--微信JS-SDK支付--点金计划
|
4月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
746 0
|
6月前
|
移动开发 前端开发 JavaScript
|
7天前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
1996 13
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
4月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
966 7
|
4月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
922 1
|
4月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
275 7
ly~
|
5月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
114 6

热门文章

最新文章