登录
开发指南 / 移动支付 / 接口接入步骤

接口接入步骤

约 5 分钟
以 Markdown 格式查看 |
## 开始前

开始本场景前,应已完成[开发前准备](../开始接入/开发前准备.md)和[请求与签名](../开始接入/请求与签名.md),并准备:

- 已在目标商户小程序中申请、添加并配置MiniPayPro插件。
- 当前门店和设备对应的终端参数。
- 小程序可返回的业务页面路径。
- 可执行主动查询并接收异步通知的商户后台。

## 配置MiniPayPro插件

- 目标:确保目标商户小程序能够调用MiniPayPro。
- 配置来源:插件`appid`、版本、权限和商户关系按MiniPayPro文档及对接信息配置。
- 完成结果:开发版小程序可以正常进入插件订单页,并能够返回指定商户页面。
- 下一步:创建商户订单并准备插件参数。

插件配置未完成、版本未发布或商户关系不匹配时,不要通过修改订单参数绕过校验。

## 创建商户订单

- 目标:在跳入插件前保存一笔可追踪的待支付订单。
- 输入来源:商品、金额、顾客和门店信息来自商户系统。
- 商户系统处理:生成全局唯一的商户订单号,保存订单金额、插件调用状态和创建时间。
- 输出用途:作为插件支付、主动查询、回调、退款和幂等履约的关联标识。
- 下一步:准备并调用插件支付接口。

## 调用插件支付

- 目标:让顾客进入MiniPayPro订单页并完成付款。
- 调用接口:**[插件支付接口](https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx55540b288c5ce319&token=930559648&lang=zh_CN)**。
- 输入来源:商户订单号、金额和商品简介来自已保存订单;`return_url`来自商户小程序页面配置;其他插件参数来自开通和终端配置。
- 输出用途:插件接收订单数据,展示支付确认页并调用微信支付。
- 下一步:跳转插件成功5秒后,商户后台开始查询原订单。

完整插件参数、调用方法和返回结构以插件文档为准,不在本指南重复字段表。

## 处理插件返回

- 目标:顾客离开插件后返回正确的商户页面。
- 输入来源:插件完成、取消或中断后返回的页面信息。
- 页面处理:提示“正在确认支付结果”,并向商户后台读取订单状态。
- 输出用途:只控制页面展示和导航。
- 下一步:继续等待商户后台查询或异步通知。

插件返回成功不等于支付最终成功,插件返回失败也不能证明交易一定失败。商户小程序不得根据插件返回值直接履约。

## 主动查询

- 目标:确认插件订单的最终交易状态。
- 调用接口:**[查询接口](https://open.shouqianba.com/docs/payment/71?category_id=54)**。
- 输入来源:使用创建订单时保存的原商户订单号或已取得的收钱吧订单号。
- 签名凭证:商户后台使用当前终端的`terminal_sn`和`terminal_key`。
- 输出用途:更新商户后台的原订单状态。
- 下一步:最终成功则履约;最终失败则结束;非最终状态按本场景节奏继续查询。

跳转插件成功5秒后开始查询;第0至1分钟每3秒一次,第1至5分钟每10秒一次,第6分钟执行最后一次查询。

## 接收支付回调

- 目标:异步补偿主动查询和页面中断。
- 对接接口:**[回调接口](https://open.shouqianba.com/docs/payment/70?category_id=54)**。
- 输入来源:收钱吧发送到商户公网回调地址的原始通知。
- 商户系统处理:验签,通过商户订单号定位原订单,并与主动查询共用状态机。
- 输出用途:确认最终交易结果。
- 下一步:成功落库后返回`success`;最终成功时只履约一次。

## 完成履约

- 触发条件:商户后台通过查询或验签回调确认最终支付成功。
- 执行动作:继续销售流程、出货、发券或开通服务。
- 幂等要求:以商户订单号作为幂等键,只创建一个履约任务。

## 发起退款

- 目标:退回已经确认支付成功的订单资金。
- 调用接口:**[退款接口](https://open.shouqianba.com/docs/payment/72?category_id=54)**。
- 输入来源:原支付订单标识、唯一退款流水号、金额和原因来自商户售后系统。
- 签名凭证:由商户后台使用终端参数签名。
- 输出用途:保存退款流水并关联原支付订单。
- 下一步:非最终结果或请求超时时查询原退款流水。

## 完成标准

- [ ] 目标小程序已正确添加和配置MiniPayPro。
- [ ] 商户订单号全局唯一,插件调用前已经落库。
- [ ] 插件参数来源明确,前端不持有终端密钥。
- [ ] 插件返回只用于页面展示,不直接履约。
- [ ] 跳转成功5秒后按规定节奏查询原订单。
- [ ] 回调和查询更新同一订单,并只履约一次。
- [ ] 4分钟支付有效期和第6分钟最后查询已经实现。
- [ ] 结果未知时不会履约或重复发起支付。
目录
在线咨询