[网站后台PHP] 字节跳动小程序 H5支付接入经验分享 [复制链接]

楼主: zwei5200 关注: 1022|点评: 0

发表于 2020-9-18 21:30:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于字节跳动小程序开发过程中遇到的各种坑,在这里总结一下:

第一个、签名错误的一般的问题原因是
1、 tt.pay中,orderInfo  必填字段一个都不能少
2、 app_id 是支付的app_id,不是小程序app_id

3、 sign 服务端签名的app_secret,是小程序支付中的“支付secret”,(不管你用的是微信支付还是支付宝支付)

PS:我就是这里弄成了导致签名一直不对,找了很久才找到原因

4、total_amount 代表的是订单价格,但要注意 金额,整型,单位:分(不能有小数)

5、wx_url是调用微信 H5 支付统一下单接口 返回的 mweb_url 字段值(请注意不要进行 urlencode)。如下示例:
"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx25161122572189727ea14cfd1832451500&package=2746219290"
有prepay_id和package,不是长这样的那肯定是错误的

6、risk_info 支付风控参数值一定要放在 签名 处理方法的后门,不要放入签名里面,否则会报错


第二、灰色我在测试中遇到的几个报错,以及解决方式

1、 报错CD0025,签名错误,使用了错误的app_secret。因为我用的是H5支付,所以误用了h5的secert,后修改为小程序支付中的“支付secret”,其他签名错误的原因见上面;
2、 报错CD0015,total_amount 没有乘以100,订单价格是99.90,所以传值时应为9990
      这里还有一个注意点是: 第一次支付跳转到微信后, 放弃支付; 第二次再发起支付时异常导致的错误,官方文档是说保证 trade_time 这个不变,但是测试了也不成功,最后直接修改订单号就行了,算是一个取巧。
3、 报错10001,一般是下面两个原因:
     1. wx_url没有调用正确的微信H5支付统一下单接口返回的mweb_url字段值
     2. 微信商户平台  H5 支付域名要加上 snssdk.com


最后一次编辑于 2020年08月24日

  1. <blockquote>public function Pay($user, $orderId, $orderNo, $payPrice, $payType, $orderType = OrderTypeEnum::MASTER){
复制代码

下面是小程序前端代码
  1. <blockquote>tt.request({
复制代码






仿购网(www.webfgoo.com)--- 模板仿制购买中心
联系QQ:314250257
我们卖的不是模板是建站服务!!!!

使用  (可批量传图、插入视频等)

快速回帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

清晨第一杯水怎么喝才对

清晨第一杯水怎么喝才对

很多人清晨起床的时候都会有喝水习惯...详情>>