微信支付服务商模式采坑记录

微信支付服务商模式采坑记录

微信支付小程序服务商模式的实现,官方文档写的简直格外坑爹.开发文档地址:微信支付小程序服务商模式开发文档

统一下单

几个注意点:

  1. 非沙箱环境的下单请求地址是:https://api.mch.weixin.qq.com/pay/unifiedorder
  2. 不需要证书
  3. 统一下单的几个需要注意的参数,下边是参数列表
描述变量名必填类型
你申请服务商模式公众号的appidappidString(32)
你申请服务商模式的商户号mch_idString(32)
特约服务商的小程序appid或者公众号appid(也可以是服务商自己的小程序appid,前提是特约商户是这个服务商的特约商户)sub_appidString(32)
特约商户号(去服务商的账号的特约商户管理里边看)sub_mch_idString(32)
统一用MD5sign_typeString(32)
自己系统的订单号out_trade_noString(32)
需要支付的金额,单位是total_feeint
支付异步通知回调地址,注意长度notify_urlString(256)
交易类型,小程序的是JSAPItrade_typeString(16)
什么也不说了,这个不传openidString(128)
trade_type=JSAPI,此参数必传,特别需要注意: 这个是sub_appid对应的小程序或者公众号下的openidsub_openidString(128)
服务商账号的api keykeystring
  1. 参数需要加密,加密的时候不包含sign字段,这个是加密其他参数以后补充进去的,再有就是一定要在通过ASCII码从小到大排序的字符串最后加上&key=xxx这个值再进行加密.自己看开发文档就行,这个说的挺清楚的.
  2. 返回的时候return_code和result_code都是SUCCESS才算成功
  3. 除了返回的prepay_id有大用,其他的都可以直接忽略,千万记住,不要用除了prepay_id以外的任何返回值充当下一个接口的参数.

支付异步通知

  1. 一定要能调通!一定要能调通!一定要能调通!重要的事情说三遍
  2. 回调地址检查仔细,比如说开发人员不知道服务器那边配置的负载或者代理配置了其他前缀而忽略了,就会造成开发环境可以,一上生产就完蛋!
  3. 一定要做签名验证和金额效验以及其他的验证,最后保留transaction_id到数据库
  4. 通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m)

申请退款

  1. 需要证书,证书下载去服务商账号下自己去按照要求配置并下载就行,证书的密码默认就是服务商的appid,分布式项目中不要将证书进行RPC传输
  2. 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次,错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次.
  3. 入参的要求和统一下单的那些基本参数一样,额外多了transaction_id的传入而已,没什么可说的,只不过参数不一样而已,基本参数还是一样的.金额也是分
  4. 需要注意的是:服务商必须给特约商户开通退款平台权限和退款API权限才能正常退款,比较恶心,操作起来挺繁琐的.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值