主要交互流程图
前端对接方式有SDK, Buy Button购买,购物车方式。可以根据业务需要来选择合适的对接
SDK: app首选
Buy Button:适合单个购买产品下单
购物车:适合多个产品同时购买
实际过程中,对接了SDK 和购物车形式的,按钮购买不适合用于业务中。
整体对接流程图
相关功能的参考链接:
1. 查询订单列表
2.配置webhook
shopify帮助中心:
登录 自己的shopify商店
https://xxx.xxx.com/admin/orders
- 找到左下角“设置”,点击。
- 点击通知--webhook
- 注意:如果 Webhook 目的地重复返回一个非 200 状态响应,Webhook 订阅则会自动从您的 Shopify 后台删除。可以在官方帮助中心找到。
- 注意: webhook API 提供了”至少一次”的 webhook 事件传递。这意味着一个端点可能会多次收到相同的 webhook 事件。X-Shopify-Webhook-Id您可以通过将标头与以前的事件进行比较来检测重复的 webhook事件
- shopify的重试策略是等接口5秒钟返回,5秒没返回或者返回错误则认为是失败,然后会在48小时内重试19次,重试19次不行的话就将这个webhook删除了
3.接收推送
自己的服务开外网或者部署在公网接数据查看验证
4. graphiql 浏览器测试工具
常见帮助链接地址:
开发者api:https://shopify.dev/api/admin
如果存在订阅产品的购买,那订阅口扣费失败记录查询和通知就极其重要了。话不多说,直接上成果。
最后确认用可以分类Charge error的接口
接口中包含note备注信息
以下是分析过程记录
5.查找客户Recharge CUSTOMER ID。External Customer ID表示的是用户在shopify展示的用户ID,这两个ID是不同的。
recharge 文档说明 :
https://docs.rechargepayments.com/docs/endpoints
recharge 开发调用api,文档不是很全,建议页面操作,F12看接口
如何查询到用户购买的订阅产品,扣费失败呢?
分析过程:
1.确认好要调用的api是应用里的api还是shopify网页的接口。
网页版RESTFUL接口API:
Recharge Application Restful Api:
Recharge API Reference - Retrieve a customer
2. 调用接口查看需要的数据是否满足