扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在开发抖音小程序过程中,不少场景可能需要使用到支付,而字节跳动目前没有自己的支付平台,因此只能使用微信和支付宝二级商户的方式进行对接开发。然而截止目前,抖音官方关于这一块的资料是比较少的,不仅没有系统全面的SDK供参考,哪怕是碎片化的demo的数量也并不是太多。在开发群中已经出现多位开发者类似提问了,为了让广大开发者朋友少走点弯路、少填一点点坑,微构网络向大家分享简易版的对接示例代码,我们称之为douyin-pay-sdk-php。
项目地址:https://gitee.com/csweigou/douyin-pay-sdk-php
主要包括的API包括:1、发起支付;2、回调(含支付、退款、分账);3、支付订单查询;4、退款;5、分账;其他的关于退款查询和分账查询可以根据已有的demo自己快速实现。需要说明的是,这个项目仅仅是初始跑对接流程用的,可能并不是特别完善,不建议直接应用项目,建议进行适当修改后再引入到项目中(尤其是安全相关)。
对接前准备
1、在对接前,首先需要开通担保支付的权限,关于这部分,我们微构网络之前已经分享过相关内容,具体内容请参考《字节(抖音/头条)小程序开通支付功能权限完整流程》。
2、开通担保支付权限后,需要在小程序后台的【功能管理】-【支付】-【担保交易】-【担保交易设置】中设置接口信息。
上述设置字段相信有其他平台开发经验的小伙伴应该一看就知道啥意思,这里为了照顾新手,还是依次讲解一遍:
①、URL(服务器地址):也就是回调地址,平台服务端把发给应用服务端的数据发送到这个地址(这里填写的地址是默认的地址,也可以在应用发起支付请求的时候另外设置回调地址,优先级:请求回调地址>此处回调地址,也就是说如果请求的时候设置了回调地址,则请求时设置的回调地址会覆盖这里设置的)。这里需要自己设置。
②、token(令牌):在回调验签的时候需要用到,这里也需要自己设置(必须为英文或数字,长度为3-32个字符)。
③、商户号:平台商户号(系统自动分配,无法修改)。
④、SALT:也就是盐值,用于生成请求签名是需要用到的(系统自动分配,无法修改)。
⑤、分账周期:也就是可提现的周期,比如上面是T+7,这个也是没办法修改的。
⑥、技术服务费:手续费,这个很好理解,也是不能修改的,上面显示的默认的0.6%。
接入指南(避坑指南)
1、必须设置回调地址才能发起支付、退款、分账的请求,否则接口会报错。
2、请注意token和salt的区别,salt是用于发起请求时生成签名用的,token是接受回调信息进行来源验签用的,切记别搞混了。
3、由于网络波动回调新可能会出现一次两条推送,也可能延迟推送(特别退款回调几乎都要10s+才能收到回调),而且官方文档中也说不能完全依赖回调,应根据实际情况用查询接口来辅助判断(但官方文档写的查询API的并发是30,这有点囧)。下图是官方文档的时序图
4、回调接口务必需要根据业务做处理,如果订单回调业务逻辑处理完成,务必给平台服务端返回{ “err_no”: 0, “err_tips”: “success” },否则平台会多次推送重复的回调信息。
5、不管是请求签名还是回调验签,算法务必严格按照官方文档说明,务必注意去除不需要的字段值,如回调验签务必移除推送的回调信息中的type、msg_signature、可能的空字段(正常情况下没有空字段返回)。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流