php微信绑定银行卡_微信开发企业支付到银行卡PHP

微信开发企业支付到银行卡 功能详解 不会的朋友可以加我QQ:344902511

先发个微信支付官方链接你查看

https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_2

直接上代码

由于这里需要RSA算法 微信官方默认输出的是PKCS#1,笔者在这里发现RAS公钥在WINDOWS系统中安装复杂,后SSH到我的linux中转换了RSA

官方给出的RSA公钥开头 -----BEGIN RSA PUBLIC KEY-----

我们需要转成-----BEGIN PUBLIC KEY----- 这样开头的内容才可以使用

PKCS#1 转 PKCS#8:linux口令

openssl rsa -RSAPublicKey_in -in -pubout

是文件的路径

回车以后会

显示一下内容

-----BEGIN PUBLIC KEY-----

你的加密串

-----END PUBLIC KEY-----

复制出来后 你保存到你的网站目录上后缀扩展为pem

然后你就可以使用了

下面直接看代码

第一步。获取官方的RSA-PKCS1#

public function RasKey($datainfo="")

{

$data=[

//商户号

"mch_id"=>$this->mch_id,

//随机字符串

"nonce_str"=>$this->genRandomString(32),

//加密方式我是MD5

"sign_type"=>"MD5",

];

//微信签名

$data["sign"]=$this->MakeSign($data);

//提交到的URL

$url="https://fraud.mch.weixin.qq.com/risk/getpublickey";

//转换成XML格式POST到服务器

$backxml=$this->postStr($url,$this->arrayToXml($data));

//将获取到的内容解析成对象

$backarr=simplexml_load_string($backxml, 'SimpleXMLElement', LIBXML_NOCDATA);

//转换成数组

$jsonStr = json_encode($backarr);

$jsonArray = json_decode($jsonStr,true);

//保存成PEM文件

file_put_contents("pub_key.pem",$backarr->pub_key);

dump($jsonArray);

}

复制代码

第二部将 pub_key.pem 传送到linux系统进行PK8转码

使用此口令 openssl rsa -RSAPublicKey_in -in -pubout

是文件名

拿到新的PK8码我们保存到自己的服务器pk8.pem

第三部 加密并递交打款

$data=[

//商户号

"mch_id"=>$this->mch_id,

//商户订单号

"partner_trade_no"=>md5(time()),

//随机字符串

"nonce_str"=>$this->genRandomString(32),

//收款方银行卡号

"enc_bank_no"=>$this->rsa_encrypt("您的卡号"),

//收款方用户名

"enc_true_name"=>$this->rsa_encrypt("您的姓名"),

//收款方开户行

"bank_code"=>"银行卡编码",

//付款金额

"amount"=>100,

//付款说明

"desc"=>"账户提现",

];

//微信签名

$data["sign"]=$this->MakeSign($data);

//POST到微信服务器的网址

$url="https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank";

//以XML的格式POST到服务器

$backxml=$this->postStr($url,$this->arrayToXml($data));

//POST获取到的内容转成对象

$backarr=simplexml_load_string($backxml, 'SimpleXMLElement', LIBXML_NOCDATA);

dump($backarr);

复制代码

最后就成功了

因为自己没有权限 所以显示如下

["return_code"] => string(7) "SUCCESS"

["return_msg"] => string(73) "产品权限验证失败,请查看您当前是否具有该产品的权限"

["result_code"] => string(4) "FAIL"

["err_code"] => string(7) "NO_AUTH"

["err_code_des"] => string(73) "产品权限验证失败,请查看您当前是否具有该产品的权限"

["nonce_str"] => string(32) "tEmXrUFgcBfLgVqMqkKcpJKfHJ3sZtsZ"

["mch_id"] => string(10) "1512018791"

["partner_trade_no"] => string(32) "055a1afff8191338302c4a2b193ba242"

["amount"] => string(3) "100"

如果在加密串或微信付款上卡住的朋友 可以直接联系我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值