zoukankan      html  css  js  c++  java
  • 前端发起resultUrl请求,服务端收到后做逆向处理,校验sign后,执行originUrl逻辑

    originUrl=http://test.com:8080/user/alipay_phone?uid=123&amount=21.3
    第0步:
    前后端约定32位密钥KEY
    第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
    stringSignTemp="amount=21.32&key=KEY&nonce_str=abc32&uid=123"
    第二步:签名:
    sign=MD5(stringSignTemp).toUpperCase()
    第三步:拼接、base64编码,生成加密后的url:
    result=Base64Encode(stringSignTemp@sign)
    resultUrl=http://test.com:8080/user/alipay_phone/result
    前端发起resultUrl请求,服务端收到后做逆向处理,校验sign后,执行originUrl逻辑

    密钥的管理可以通过专用的服务器实现

    【微信支付】微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

      

    生成随机数算法

    微信支付API接口协议中包含字段nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。

  • 相关阅读:
    vue在new的时候做了什么???
    vue中关于this的指向
    jquery 的本地存储 localStorage
    解读vue实例的双向绑定源码
    node修改数据遇到的坑
    node.js邮箱验证码
    webpack基础配置
    获取时间差。
    js获取时间方法
    node的buffer转换为字符串
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9745017.html
Copyright © 2011-2022 走看看