美文网首页
微信支付宝支付经验以及相关坑

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

作者: 陈兄 | 来源:发表于2019-01-25 11:39 被阅读0次
    image

    简介

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

    准备工作

    支付类型 |文档 |对接难易程度 |文档地址
    --|---
    支付宝 | 文档写的不错 | 易 | 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

    熟悉支付流程

    支付宝

    image

    [详情文档请参考]

    微信

    image
    [详情文档请参考]

    有萝卜有坑

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

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

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

    签名两次重要参数

    第一次签名参数

    得到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

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

    相关文章

      网友评论

          本文标题:微信支付宝支付经验以及相关坑

          本文链接:https://www.haomeiwen.com/subject/tjjmjqtx.html