企业付款到银行卡 .NET 版的 ,了解一下?
- 是不是按照微信的文档看不懂?
- 是不是按照微信文档走完流程后还是存在问题?
- 是不是网上找不到.NET 代码?
- 是不是 “解密真实姓名或银行卡号出错”?
(我打客服电话 95017 电话问的微信 企业付款到银行卡API 能用吧?微信不知道哪个二货客服跟我说不能用,然后第二天朋友打电话问客服,客服说能用!就问你屌不屌~~~)
服务器部署错误移驾
X509 certificate not loading private key file on server
描述
企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向银行卡付款,针对部分有开发能力的商户,提供通过API完成企业付款到银行卡的功能。
首先你的微信商户平台需要满足微信企业付款到银行卡的要求 也就是什么连续一个月要有收入什么之类的
请求
请求地址:https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank
双向证书:是
- 证书文档地址
- 证书下载地址:微信商户平台(pay.weixin.qq.com)–>账户设置–>API安全–>证书下载
- 商户证书安全:证书文件不能放在web服务器虚拟目录,应放在有访问权限控制的目录中,防止被他人下载。商户服务器要做好病毒和木马防护工作,不被非法侵入者窃取证书文件。
- 使用商户证书
◆ apiclient_cert.p12是商户证书文件,除PHP外的开发均使用此证书文件(.NET 使用这个证书)。
◆ 商户如果使用.NET环境开发,请确认Framework版本大于2.0,必须在操作系统上双击安装证书apiclient_cert.p12后才能被正常调用。
◆ 商户证书调用或安装都需要使用到密码,该密码的值为微信商户号(mch_id)
请求参数:
MD5签名生成
(不说了,文档说的很清楚了)
获取RSA加密公钥API
- 调用获取RSA公钥API获取RSA公钥,落地成本地文件,假设存储为public.pem
- 确定public.pem文件的存放路径,同时修改代码中文件的输入路径,加载RSA公钥
- 用标准的RSA加密库对敏感信息进行加密,选择RSA_PKCS1_OAEP_PADDING填充模式【.NET RSA 加密是没有这个填充模式的】
- 得到进行rsa加密并转base64之后的密文
- 将密文作为参数传给 银行卡号 和 真实姓名
- 接口默认输出PKCS#1格式的公钥,商户需根据自己开发的语言选择公钥格式 【.NET 使用 PKCS#8 】
RSA公钥格式PKCS#1,PKCS#8互转说明,是在Linux 系统上转的哦
- PKCS#1 转 PKCS#8:
- openssl rsa -RSAPublicKey_in -in -pubout
- PKCS#8 转 PKCS#1:
- openssl rsa -pubin -in -RSAPublicKey_out
- RSA加密公钥API文档地址
-
- 请求证书:是 [ 证