简介

微信支付接口中,涉及资金回滚的接口会使用到API证书,包括退款、撤销接口。

证书下载路径:微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全 。

包含以下三个文件:

  • apiclient_cert.p12:包含了私钥信息的证书文件,除PHP外的开发均使用此证书文件。windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户ID(如:10010000)。
  • apiclient_cert.pem:从apiclient_cert.p12中导出证书部分的文件,在PHP环境中使用。
  • apiclient_key.pem:从apiclient_key.pem中导出密钥部分的文件,在PHP环境中使用。

API证书安全

  1. 证书文件不能放在web服务器虚拟目录,应放在有访问权限控制的目录中,防止被他人下载;
  2. 建议将证书文件名改为复杂且不容易猜测的文件名;
  3. 商户服务器要做好病毒和木马防护工作,不被非法侵入者窃取证书文件。

laravel-wechat中配置

WECHAT_PAYMENT_CERT_PATH=/mnt/website/server-end/test/alzhe/apiclient_cert.pem
WECHAT_PAYMENT_KEY_PATH=/mnt/website/server-end/test/alzhe/apiclient_key.pem
/*
 * 微信支付
 */
'payment' => [
    'default' => [
        'sandbox'            => env('WECHAT_PAYMENT_SANDBOX', false),
        'app_id'             => env('WECHAT_PAYMENT_APPID', ''),
        'mch_id'             => env('WECHAT_PAYMENT_MCH_ID', 'your-mch-id'),
        'key'                => env('WECHAT_PAYMENT_KEY', 'key-for-signature'),
        'cert_path'          => env('WECHAT_PAYMENT_CERT_PATH', 'path/to/cert/apiclient_cert.pem'),    // XXX: 绝对路径!!!!
        'key_path'           => env('WECHAT_PAYMENT_KEY_PATH', 'path/to/cert/apiclient_key.pem'),      // XXX: 绝对路径!!!!
        'notify_url'         => 'http://example.com/payments/wechat-notify',                           // 默认支付结果通知地址
    ],
    // ...
],

小伍
139 声望4 粉丝