背景
- 新增商户号转账到零钱功能
- 使用laravel 8框架
开发
- 引入包
composer require yansongda/pay:~3.2.0 -vvv
文档快速链接:yansongda支付文档
- 加入微信配置,注意点来了,踩好多坑
2.1 报错 Parse [mch_public_cert_path] Serial Number Error 是mch_secret_cert,mch_public_cert_path配置错误
2.2 报错 Get Wechat Public Cert Error 是mch_secret_key配置错误
// 必填-商户秘钥 重要:必须是APIv3密钥
'mch_secret_key' => env('WECHAT_PAYMENT_KEY', 'SADK13dsf4234d23123amnbLKG5DGFKJ'),
// 必填-商户私钥 字符串或路径 是apiclient_key.pem这个证书文件
'mch_secret_cert' => env('WECHAT_PAYMENT_CERT_PATH', 'path/to/cert/apiclient_key.pem'),
// 必填-商户公钥证书路径 是apiclient_cert.pem 证书文件
'mch_public_cert_path' => env('WECHAT_PAYMENT_KEY_PATH', 'path/to/cert/apiclient_cert.pem'),
// 选填-微信公钥证书路径, optional,强烈建议 php-fpm 模式下配置此参数
'wechat_public_cert_path' => [
//前面是证书序列号,登录商户平台【API安全】->【API证书】->【查看证书】,可查看商户API证书序列号
//后面是通过前面的配置生成的文件 参考:http://www.liziyu.com/archives/309/
'49498A3B56E68C55196829D561546' => '/wechatpay_74132747157110D2EA257117B091E5E5757.pem',
],
- laravel 使用配置
#正确
Pay::config(config('wechat_config')
#不需要写完整的像这样
Pay::config(config('wechat_config.wechat')
- 传参错误 无法将 JSON 输入源“/body/out_batch_no”映射到目标字段“商家批次单号”中,此字段需要一个 string 类型的 Json 值
订单编号都必须是字符串。