1、签名算法

签名生成的通用步骤如下:

第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序);

◆ 如果参数的值为空不参与签名;

◆ 参数名区分大小写;

◆ 验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。

◆ 微信接口可能增加字段,验证签名时必须支持增加的扩展字段

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

◆ key设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置

举例:

假设传送的参数如下:

appid:wxd930ea5d5a258f4f

mch_id:10000100

device_info:1000

body:test

nonce_str:ibuaiVcKdpRxkhJA

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";

第二步:拼接API密钥:

stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key为商户平台设置的密钥key

sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5签名方式

sign=hash_hmac("sha256",stringSignTemp,key).toUpperCase()="6A9AE1657590FD6257D693A078E1C3E4BB6BA4DC30B23E0EE2496E54170DACD6" //注:HMAC-SHA256签名方式,部分语言的hmac方法生成结果二进制结果,需要调对应函数转化为十六进制字符串。

最终得到最终发送的数据:

wxd930ea5d5a258f4f

10000100

1000

ibuaiVcKdpRxkhJA

9A0A8659F005D6984697E2CA0A9CF3B7

php微信刷卡支付开发,【微信支付】刷卡支付开发者文档相关推荐

  1. 微信小程序云开发微信支付、订单查询、申请退款

    微信小程序云开发微信支付 使用云开发微信支付功能的前提 统一下单 查询订单 申请退款 常见问题总结: 使用云开发微信支付功能的前提 小程序主体为企业或者工商个体户 小程序完成了微信认证 小程序接入微信 ...

  2. java 微信转账 ca_error_【微信支付】企业付款开发者文档

    [微信支付]企业付款开发者文档 2018-11-24 简介 企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,提供通过API完成企业付款 ...

  3. 微信|公众平台开发者文档

    微信|公众平台开发者文档 http://mp.weixin.qq.com/wiki/3/ecfed6e1a0a03b5f35e5efac98e864b7.html 爱父母项目(提示用户名,密码在项目文 ...

  4. 开发到底喜欢看怎样的需求文档

    一份好的需求文档不仅能提高开发效率,还能避免需求误解导致的返工. 开发喜欢看怎样的需求文档?我总结了以下7点. 目录 需求文档必备的基本要素 分工要明细,避免多人看同一份文档 逻辑要清晰,避免口口相传 ...

  5. 【Win 10应用开发】Adaptive磁贴模板的XML文档结构

    原文:[Win 10应用开发]Adaptive磁贴模板的XML文档结构 在若干天之前,老周给大家讲了Adaptive Toast通知的XML模板,所以相应地,今天老周给大家介绍一下Adaptive磁贴 ...

  6. 基于java技术的装潢公司网站开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java技术的装潢公司网站开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java技术的装潢公司网站开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源 ...

  7. 计算机毕业设计Java宁夏中卫城市风采在线系统开发(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java宁夏中卫城市风采在线系统开发(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宁夏中卫城市风采在线系统开发(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...

  8. 计算机毕业设计Java高校学生智慧党建系统设计与开发(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java高校学生智慧党建系统设计与开发(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java高校学生智慧党建系统设计与开发(源码+系统+mysql数据库+Lw文档) 本源码技 ...

  9. 基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库 ...

  10. 基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库 ...

最新文章

  1. Android系统编译时集成三方APK
  2. 数据标注、模型调参debug...通通自动化!华为云AI开发集大成之作ModelArts 2.0发布...
  3. 云炬60s看世界20211116
  4. hive中操作struct与map三例
  5. vivado 仿真_提高Vivado效率一种自研工具介绍
  6. 数据结构 6-0 图
  7. jquery基本过滤选择器:first :last :not(.myclass) :even :odd :eq(1) :gt(5) :lt(1) :header :animated :focus
  8. 十大经典排序算法整理汇总(附代码)
  9. PRML学习总结(1)——Introduction
  10. 用plsql导出oracle,使用PLSQL进行Oracle数据导入导出[转]
  11. OSGi bundle activator不工作解决
  12. 罗永浩、戴威的C位消亡史
  13. Java实现四则运算
  14. uchome迁移问题
  15. 关于高维空间的一些思考
  16. ftp 发生意外错误 0x8ffe2740
  17. 关于MVC控制器导出Excel时MemoryStream流已关闭的问题
  18. 上项线体表位置_颅骨体表定位标志
  19. 在父亲节到来之际,强烈推荐德国幽默大师的连环漫画《父与子》,父子亲情跃然纸上(多图)...
  20. 同样的计算机用户购买不同的,[单选] 下列组织的C%关系是()。

热门文章

  1. C. Web of Lies cf#736Div.2
  2. 魔兽转移账号的服务器,《魔兽世界》经典怀旧服免费角色转移
  3. 四旋翼无人机学习第9节--OpenMV以及WIFI电路、供电电路再分析
  4. 老天爷保佑微软,双系统手机遍天下
  5. 工业企业用电管理系统建设-能耗监测系统开发
  6. 集软件授权、课件保护和身份认证于一身的加密狗
  7. MCD19A2 MAIAC AOD数据处理(一)MTCK插件批处理
  8. 2021年广东省安全员A证第三批(主要负责人)最新解析及广东省安全员A证第三批(主要负责人)操作证考试
  9. 运营商的“逆袭”或将令苹果雪上加霜
  10. python计算excel每个月的平均值_Python:根据日期计算平均值并根据月份显示