使用的包是EasyWeChat

企业付款到银行卡需要对银行卡号与姓名进行RSA加密,所以EasyWeChat也提供了一个命令行工具 EasyWeChat/console ,可使用 composer 进行安装:

composer require easywechat/console

然后在项目根目录执行命令:

./vendor/bin/easywechat payment:rsa_public_key

接着看提示输入 mch_id 、 api_keycert_pathkey_path 然后在当前目录会生成一个 public-14339221228.pem 文件。


记EasyWeChat中企业付款到银行卡的一个坑 微信相关 第1张


EasyWeChat 文档中说到,直接把改文件移动到敏感目录,然后修改支付配置文件即可。

但是实际上这是有问题的,缺少两个步骤:

1、此时生成的 public-14339221228.pem  文件,里面的内容是一整行的,这是错误的,需要手动修改以每64个字符作为换行,例如修改为如下格式:


记EasyWeChat中企业付款到银行卡的一个坑 微信相关 第2张


2、此时的公钥是 PKCS#1 格式,实际上需要的是 PKCS#8 格式,这时候需要转换一下格式:

openssl rsa -RSAPublicKey_in -in <filename> -pubout

然后把输出结果复制到 public-14339221228.pem 中即可