微信支付宝支付经验以及相关坑

此片文章介绍对接微信、支付宝所遇到的问题以及经验之谈。

准备工作

支付类型文档对接难易程度文档地址
支付宝文档写的不错https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query
微信不想说了难(也不能说难应该是坑)https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1

熟悉支付流程

支付宝

请添加图片描述

微信

请添加图片描述

有萝卜有坑

序号类型问题描述
No1支付宝支付宝秘钥使用pkcs8加密方式,以及相关参数key配置。
No2微信微信key值一定要使用微信支付的key,不要用平台key。
No3微信一直报签名错误,下面详细介绍。
No4微信得到的签名一定要转MD5,然后在将其转换成大写,并且生成MD5必须要以UTF-8的方式。
No5微信订单金额需要转换成以分为单位。
No6微信且值为空的参数不参与签名。
No7微信参数需按ASCII码从小到大排序。
No8微信第二次签名认证参数已消息的格式。
No9微信第二次签名参数package,需要赋值Sign=WXPay

一句签名错误概括全部错误信息,我就弱弱的问句错误码有用么?

“验证签名错误”第一反应肯定是检测签名是否正确,[官方验证签名地址]
然而,这才刚刚开始,签名正确了还是特么的报“验证签名错误”。特么的把以上几点全部检测了“有萝卜有坑”,然并卵。上面说了签名验证有两次,这是第二次验证错误,最后发现【传入微信端的时间戳参数 ios需要32位 安卓需要10位】,笑哭。首先看见“验证签名错误”,肯定是服务端问题,然而呢。。。

签名两次重要参数

第一次签名参数

得到sign并赋值pay.setSign(sign) ;接下来就是将pay对象转换成xml,调用统一下单接口进行统一支付,并将统一支付返回的xml转换成bean。

  notify_url //回调地址
  time_start //交易起始时间
  time_expire //交易结束时间
  spbill_create_ip //IP地址
  trade_type //交易类型
  limit_pay //no_credit--指定不能使用信用卡支付
  appid //微信开放平台审核通过的应用APPID
  mch_id //微信支付分配的商户号
  nonce_str //随机字符串,不长于32位。
  sign_type //签名类型,目前支持HMAC-SHA256和MD5,默认为MD5
  body //商品描述交易字段格式根据不同的应用场景按照以下格式:APP——需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值。
  out_trade_no //订单号
  total_fee //交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。
  sign //根据以上数据生成签名

第二次签名参数

统一下单成功会返回微信预支付订单号prepay_id,我们需要根据这个prepay_id进行二次签名,二次签名所用参数如下(不包括paySign)。

  noncestr //随机字符串
  appid //微信开放平台审核通过的应用APPID
  timestamp //就是这B,传入微信端的时间戳参数 ios需要32位 安卓需要10位
  partnerid //商户号
  package //Sign=WXPay
  prepayid //微信预支付订单号prepay_id
  sign //根据以上数据生成签名

实例代码后续上传GitHub

第三方文档能不能写专业第一,之前和中兴、华为对接一样,特么的文档写的一塌糊涂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

践者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值