微信支付付款至零钱——如何生成正确的签名sign

  • 欢迎观看——xpx分享
    • 注意以下几点
    • 第一点:整理好 请求参数格式
    • 第二点:对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串
    • 第三四点:连接密钥key再转成大写字母 (在ASCIIData最后拼接上key得到$signParam字符串)

欢迎观看——xpx分享

如果你觉得分享的不错,麻烦阅览到最后点个赞哈,谢谢。

注意以下几点

  1. 首先整理好您的请求参数格式;
  2. 对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串;
  3. 连接密钥key;
  4. 生成sign并转成大写;

第一点:整理好 请求参数格式

$SendMessageData = array('mch_appid'=>wx8888888888888888,'mchid'=>1900000109,'nonce_str'=>strtoupper(self::GetRandStr(32)),//随机生成32位随机数再转大写'openid'=>oxTWIuGaIt6gTKsQRLau2M0yL16E,'partner_trade_no'=>10000098201411111234567890,'check_name'=>'FORCE_CHECK','re_user_name'=>王小王,'amount'=>100,#代表1元   最小单位分'desc'=>节日快乐,);/*** 随机生成数*/function GetRandStr($length){$str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';$len=strlen($str)-1;$randstr='';for($i=0;$i<$length;$i++){$num=mt_rand(0,$len);$randstr .= $str[$num];}return $randstr;}

第二点:对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串


$ASCIIData = $this->ASCII($SendMessageData);//数组转xml 字典排序function ASCII($params = array()){//ksort()对数组按照键名进行升序排序ksort($params);//reset()内部指针指向数组中的第一个元素reset($params);$sign = '';//初始化foreach ($params AS $key => $val) { //遍历POST参数if ($val == ''||$key == 'sign'||$key == 'param') continue; //跳过这些不签名if ($sign) $sign .= '&'; //第一个字符串签名不加& 其他加&连接起来参数$sign .= "$key=$val"; //拼接为url参数形式}return $sign;}

第三四点:连接密钥key再转成大写字母 (在ASCIIData最后拼接上key得到$signParam字符串)

注意:密钥的长度为32个字节。
◆ key设置路径:微信商户平台(pay.weixin.qq.com)–>账户中心–>账户设置–>API安全–>设置API密钥

 $signParam = $ASCIIData."&key=192006250b4c09247ec02edce69f6a2d"//注:key为商户平台设置的密钥key$sign      = strtoupper(md5($signParam));//注:MD5签名方式
//最终得到最终发送的数据:
<xml><mch_appid>wxe062425f740c30d8</mch_appid><mchid>10000098</mchid><nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str><partner_trade_no>100000982014120919616</partner_trade_no><openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid><check_name>FORCE_CHECK</check_name><re_user_name>张三</re_user_name><amount>100</amount><desc>节日快乐!</desc><spbill_create_ip>10.2.3.10</spbill_create_ip><sign>C97BDBACF37622775366F38B629F45E3</sign></xml>
### 微信支付官方文档有详细的解释,也可以查看下方链接[1]:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2- 如果觉得分享的不错,麻烦点个赞,祝各位大吉大利!

【微信支付付款至零钱】相关推荐

  1. 微信支付-付款到零钱开发流程

    微信官方说明地址: [微信支付]付款开发者文档微信支付付款,提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款https://pay.weixin.qq.co ...

  2. 微信支付、微信企业付款到零钱工具类

    微信支付.微信企业付款到零钱工具类 主要依赖:apache httpclient 4.5 jdk1.8 工具类主要功能: xml参数拼接 签名算法实现 post加密请求 import lombok.e ...

  3. 微信零钱数据在服务器,关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案...

    前言: 最近做了一个通过调用微信企业付款到用户零钱的功能,真的挺奇怪的,在我本地调试的时候都没有问题,但是当我发布到服务上的时候却一直无法读取到我的证书信息.读取的代码如下,使用的是微信官方文档提供的 ...

  4. JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载

    最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...

  5. 微信企业付款到零钱(微信提现)

    由于项目中要用到微信提现,参考网上代码和官方文档写了提现的工具类 用到的相关类库 dom4j commons-lang3 httpclient-4.4.1 具体相关流程可以看微信企业付款到零钱的开发文 ...

  6. 微信企业付款到零钱出现请提交付款接口调用IP

    最近开通了微信企业付款到零钱产品,相关的支付域名都配置,可以在提交IP时候一直提示 请提交付款接口调用IP 错误,查阅了官网很多资料,有的说要填写出口IP,明明填写的是服务器的IP地址,缺一直提示这个 ...

  7. 微信企业付款到零钱功能介绍

    微信企业付款到零钱功能介绍 一.企业付款至零钱业务介绍 企业付款业务是为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,通过API或网页操作,付款至目标用户(企业可根据APPID+Ope ...

  8. java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),

    JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...

  9. 微信绑定了信用卡,为什么吃饭用微信支付只能用零钱而不能用信用卡里面的钱?

    现在是手机支付时代,但是仍然很多人错误的认为用信用卡消费必须刷POS机,还有一些人微信即使绑定了信用卡,也不知道信用卡怎么用微信付款.比如,我微信绑定了招商银行信用卡,在饭店吃饭用微信支付时经常不能用 ...

最新文章

  1. 如何跟项目经理和开发人员反馈安全测试报告的问题
  2. Stackoverflow的见解:投票最多的是Spring 4问题
  3. lazyload 加载
  4. NDK 下利用 arm-linux-androideabi-addr2line 定位 so 库问题点
  5. ECCV 2018 papers+ oral+ 开源+导读
  6. php 深入,深入PHP解耦的三重境界(浅谈服务容器)
  7. linux下ab压力测试工具
  8. linux添加雅黑字体,linux安装微软雅黑等字体
  9. [异能程序员]第三章 异能初现(第三更)
  10. Base-calling for next-generation sequencing platforms (译文)
  11. hdu2201 熊猫阿波的故事
  12. word文档如何画线条流程图_word怎么画图,如何用word制作流程图
  13. 惠而浦扫地机器人充不进电_惠而浦 扫地狗等扫地机器人清扫效果差
  14. 138个医共体!紧密型县域医共体建设和改革,这个省这么干
  15. 手机PDF如何转成PPT?操作方法如何?
  16. libxml2的使用总结
  17. 网盘搜索插件php源码,PHP网盘资源搜索源码 127盘搜网盘搜索神器 THINKPHP内核
  18. 使能 HTTPS ----- 安全的访问 Tomcat, SpringBoot
  19. 微信支付V3版开发中遇到的一个问题及原因:缺少prepay_id
  20. rdma-cq的创建与销毁

热门文章

  1. 中国半导体如何自我救赎
  2. Weakly Superised video anomaly detection弱监督视频异常检测
  3. 数据治理的四字箴言:理、采、存、用
  4. unity 下载文件到存放本地
  5. C/C++在Java、Android和Objective-C三大平台下实现混合编程
  6. opengl画圆柱体、圆锥等并使用四元数旋转
  7. 前台使用viewbag
  8. 【Python|Kaggle】机器学习系列之Pandas基础练习题(五)
  9. PCL中 的 kd-tree
  10. 用 函数 输入并计算平均分等