微信商户号转账到个人银行卡加密算法及结果查询问题
最近客户平台做的越来越大了,之前给代理商的分红都是提现到微信零钱的,由于数额比较大了,于是他们就想直接把钱提现到银行卡里,翻阅了一遍“微信”的官方文档,一如既往地各种烦躁,心里那个万马奔腾呀,无奈还得用人家呀,只能求助万能的的“度娘”了,有价值的文章毕竟是寥寥无几,不管怎样,最终还是把功能实现了,万幸!!!!!!!
此文仅作记录,以备查用
首当其冲的是参数的加密算法:
虽然这里有获取公钥的文档,但是相信还是有很多人跟我一样,看了文档也不知所措的。不废话了,下面上干货:
这里第一步先 发送http请求获取公钥文本,注意这里发送的请求必须携带商户号证书才可以
String nonce_str = WeixinUtil.genNonceStr();
Map<String, String> packageParams = new HashMap<>();
packageParams.put("mch_id", WXConfig.sub_mch_id);
packageParams.put("nonce_str",nonce_str);
packageParams.put("sign_type", "MD5");
String prestr = PayUtils.createLinkString(packageParams);
String sign = PayUtils.sign(prestr, WXConfig.sub_mch_key, "utf-8").toUpperCase();
String xml="<xml>"+"<mch_id>"+WXConfig.sub_mch_id+"</mch_id>"+"<nonce_str>"+nonce_str+"</nonce_str>"+"<sign>"+sign+"</sign>"+"<sign_type>"+"MD5"+"</sign_type>"+"</xml>";
String result= HttpUtil.sendPostWidthCert("https://fraud.mch.weixin.qq.com/risk/getpublickey", xml,WXConfig.sub_mch_id);
Map<String, String> resultData = WeixinUtil.doXMLParse(result);
if(resultData.get("result_code").equals("SUCCESS")){System.out.println(resultData.get("pub_key"));
}else{System.out.println("获取微信证书失败:"+resultData.get("return_msg"));
}
代码里的工具类文章结尾的源码里都有。
执行上面代码后,获取到了公钥文本为PKCS#1格式(如下图所示),全选复制后,以此文本内容创建一个名叫publicKey.pem的文本文件
然后在命令行里执行命令:
openssl rsa -RSAPublicKey_in -in publicKey.pem -pubout
执行完上面的命令后,就会得到PKCS#8版本的公钥了,Java只能使用PKCS#8版本的公钥,如果您的系统没有安装openssl,请自行安装,这里不做赘述
最后把上面红色框里的内容复制并创建一个 pksc8_public.pem的文本文件即可,这个就是我们加密时需要用到的公钥文件了,不得不说微信这里实在太绕了,直接个PKCS#8版本的文件下载接口不就完事了?
然后就是第二个坑了,提现请求完了以后,怎么查询提现结果呢?找了N遍都没找到查询接口在哪里?跟我躲猫猫呢?最后在一位博主的博客里看到了,那位博主用的是php语言。
提现到银行卡的结果查询接口是:
https://api.mch.weixin.qq.com/mmpaysptrans/query_bank
最后,我整理了一份demo,里面包含了提现到微信零钱,提现到银行卡;以及两种提现方式的结果查询功能,创作不易,收点小小费用,介意的请绕行,实在经济困难的也可私信我要
资源链接
微信商户号转账到个人银行卡加密算法及结果查询问题相关推荐
- [微信] 微信商户号 资金解决方案 自动提现 关闭
关键字:微信商户号 资金解决方案 自动提现 关闭 说起来真坑爹,有些客户能看到自动提现,有些客户看不到自动提现,找了很久,才找到问题所在. 请看: https://cloud.tencent.com/ ...
- 微信商户号 API 密钥、API 证书配置
一个全新的商户号如何生成 API 密钥.API 证书的操作教程 商户号关联小程序是为了在小程序中能够使用商户号进行微信支付, 关联公众号亦如此 只是使用商户号的支付功能可以不配置 API 证书,因为 ...
- 多个微信服务号对接一个微信商户号流程
微信服务号发送红包需要开通对应的微信商户号,如果多个微信服务号开通多个微信商户号会非常麻烦,项目管理上也会非常乱,写下多个微信服务号对接一个微信商户号的流程. 先登录微信商户平台,产品中心下的APPI ...
- 微信商户号关联多个公众号
因回调地址数量限制,一个公众号下面只能有2个授权回调地址.一套财务收费系统接到了另一个公众号下,如何将该收费商户号关联到多个公众号? 配置: 1.登录微信商户号,地址:微信支付 - 中国领先的第三方支 ...
- 微信商户号商家转账到零钱v3接口证书生成步骤
先打开命令窗口,按以下步骤做,电脑系统随意,建议是linux或macOs 一.生成时间戳 jzp@MacMini ~ % date +%s 注:时间是5分钟有效 结果:1672114604 二.生成一 ...
- 微信商户平台转账到零钱功能接入实战
1.背景说明 2.实现过程 2.1 接入之前的准备工作 2.2 代码实现 3.注意事项以及相关说明 3.1 参数组装说明 ...
- 微信商户号25位招商银行号
今天公司商户号修改绑定手机号的时候,需要商户号的对公账户对指定账户转账,结果腾讯发了个25位的招商银行号,通常招商号要么15位要么16,对公账户转账结果是找不到账户,根本没有25位的银行号啊 ~\(≧ ...
- 信支付jsapi(java版)【1】微信商户号mchid哪里找 2017年02月28日 08:45:33
我们在开发微信支付功能的时候首先必须确定两个非常重要的参数,就是商户号mchid和商户秘钥key,那么这两个参数在哪里获取呢,请仔细阅读下面的查询方法. 一.微信支付商户号mchid的查找 1.1.登 ...
- 千分之二手续费0.2费率微信支付商户号申请
开通准备资料: 1.营业执照照片 2.法人身份证照片正面.背面 3.开户行信息,对公账号或个人银行卡(开户行.卡号.开户地.分支行) 4.客服电话.邮箱 5.微信公众号或微信小程序appid 开通流程 ...
- 微信支付, 小程序,公众号, 商户号 需要进行的配置
目录 一 微信公众号 1.1 公众号基础信息配置 1.2 白名单配置 1.3 公众号开发人员配置 1.4 域名授权配置 1.5 服务器配置 二 微信小程序 2.1 开发设置 2.2 域名设置 2.3 ...
最新文章
- 跳至下一个断点_基金经理:DeFi将推动以太坊在下一个上涨周期中涨至9000美元...
- Oracle触发器的语法详解
- 函数计算搭建小程序Web应用后端服务
- [排序][二分][dp]JZOJ 2747 捡金子
- 如何用python写html的插件,使用python开发vim插件及心得分享
- 用cookie实现叶卡的记忆功能
- 让SharePoint站点输出详细错误信息[转]
- Oracle例外处理
- CIO们拼命都想上的“网红”中台,也有它的另一面
- PHP命名空间带来的干扰
- 7-8 猜数字 (20 分)
- 小米max刷鸿蒙,小米Max刷recovery教程_小米Max第三方recovery下载
- 流量卡之家:物联网僵尸网络和DDoS攻击:构建网络风险防火墙
- export_savedmodel
- 如何禁用手机自带的输入法软键盘
- 自动驾驶(七十二)---------LQR控制算法
- 5个超经典实验,老杨带你高效进阶OSPF
- 通信算法之三:LDPC码的研究
- 【厚积薄发系列】Python项目总结2—Python的闭包
- 取消Rainbow Brackets彩色框
热门文章
- 代理模式和装饰者模式区别
- win10安装时有个修复计算机,电脑开机提示自动修复怎么办?win10电脑开机提示自动修复教程...
- 网页制作html怎么居中,网页制作中的水平居中和垂直居中解决方法集合
- Unity 小程序开发
- 推挽电路整理-三极管推挽电路
- IDM如何设置深色模式
- 计算机指令load是什么意思,overload
- 全国通用DNS服务器
- 上海市申请享受生育保险待遇的程序
- mysql数据迁移双写_【数据迁移】在线数据迁移 :双写数据库、搬历史数据、切换写入、灰度验证(99.9999%)、删除历史-Go语言中文社区...