京东支付mp.store对接开发及测试用例,遇到的报错解决
文档 Mp.store模式 https://mp-docs.jd.com/doc/miniapp/dev/reference/2640#heading-0
一单一品区别: 如果业务不需要让小程序商品进入京东APP的搜索、推荐、广告系统,商品只要配置5-10个即可,用于京东计收。对应的发品流程为一单一品发品模式; 如果需要进入京东APP的搜索、推荐与广告系统,则需要把所有商品信息都在POP店内配置。对应的发品流程为一单多品发品模式
sdk引入包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.14.2</version>
</dependency>
<dependency>
<groupId>fakepathJd</groupId>
<artifactId>open-api-sdk</artifactId>
<version>2.0-2025-02-27</version>
</dependency>
正式环境请求接口的地址: 京东不使用测试或预发环境 https://api.jd.com/routerjson
1.发起支付请求的时候,需要记录orderId和xid_buyer关键参数
2."respMsg": "商品下架或无效!", >> 需要创建sku通用商品。 京麦后台: https://shop.jd.com/jdm/home 创建商品
3."该appKey=9D8D6E7A0F8B2729767CC310EB5A0D34处于测试状态并且超过3个月未上线,请操作上线后再调用。(解决方案参考: https://jos.jd.com/commondoc?listId=171)" >> 创建后长时间未发布。 需要先发布下,再下线。 4.[JSF-22010]No alive provider! The key is jsf://com.jd.miniapp.client.MiniAppOrderService:gray2, current providers is [](解决方案参考: https://jos.jd.com/commondoc?listId=171) >> 直接用api.jd.com >> 解决 ,而不是用预发环境 api-dev.jd.com
测试用例: 1.支付接口 2.未支付的退款(关闭) 没有回调通知
3.重新 支付接口 (支付查询接口) 4.支付回调通知,模拟成功, 模拟支付金额来源不一致的异常情况
5.第4步成功的基础上,发起退款,延时3秒主动查询,模拟退款成功 (退款查询接口)
6.退款回调通知
7.最后关闭测试订单, xid_buyer的测试账号。
支付系统接口设计图
1.支付接口
2.退款接口
3.查询接口