微信sdk-wechatpay/wechatpay 使用

1.php需要开启扩展

  • php_fileinfo
  • php_zip
  • php_openssl
  • php_sodium

2.根据php版本操作微信支付官方文档
开清楚文档必须所要内容
运行 SDK 必需以下的证书和密钥:

1.商户号(1663526***1.商户 API 私钥 (apiclient_key.pem)
2.商户 API 证书的证书序列号 (1DE718B9DB31D87EB6463827FF31E7**********403.APIv3 密钥 (POIUYTREWASDFFGGHJKLQW**********324.微信支付平台证书 (重点重点 需要自己拿私钥+序列号+商户号获取)

由于 PHP-FPM (opens new window)进程模型限制,PHP SDK 不支持自动获取和更新微信支付平台证书。 你可以使用 SDK 自带的工具 (opens new window)下载微信支付平台证书。

composer exec CertificateDownloader.php -- -k POIUYTREWASDFFGGHJKLQW********** -m 1663526*** -f apiclient_key.pem -s 1DE718B9DB31D87EB6463827FF31E7********** -o   file://C:/phpstudy_pro/WWW/

-f 存放的key.pem地址
-o 就是需要下载到本地什么目录下

composer执行的时候报错

  Trying 59.36.153.147:443...
* Connected to api.mch.weixin.qq.com (59.36.153.147) port 443 (#0)
* ALPN: offers http/1.1
* ....

一直提示需要ssl 但我有不是自己定义的curl请求 还以为是微信的sdk的bug
去到https://curl.haxx.se/ca/下载最新CA证书
需要修改php的curl的curl.cainfo=指定到上面下载长度CA证书
windows的的路径 \
再次执行平台证书下载就行

$wxConfig = WX_PAY;
$merchantId  = $wxConfig['mch_id']; #商户号
$merchantPrivateKeyFilePath = $wxConfig['key_path']; #商户 API 私钥
$merchantPrivateKeyInstance = Rsa::from($merchantPrivateKeyFilePath, Rsa::KEY_TYPE_PRIVATE);
$merchantCertificateSerial =  $wxConfig['serial']; #商户 API 证书的证书序列号
$platformCertificateFilePath = $wxConfig['cert_path'];#支付平台证书 
$platformPublicKeyInstance = Rsa::from($platformCertificateFilePath, Rsa::KEY_TYPE_PUBLIC);
// 从「微信支付平台证书」中获取「证书序列号」
$platformCertificateSerial = PemUtil::parseCertificateSerialNo($platformCertificateFilePath);
$instance = Builder::factory([
    'mchid'      => $merchantId,
    'serial'     => $merchantCertificateSerial,
    'privateKey' => $merchantPrivateKeyInstance,
    'certs'      => [
        $platformCertificateSerial => $platformPublicKeyInstance,
    ],
]);
$resp = $instance
    ->chain('v3/pay/transactions/h5')
    ->post(['json' => [
        'mchid'        => $wxConfig['mch_id'],
        'out_trade_no' => 'js12177525012014070332334',
        'appid'        => $wxConfig['appid'],
        'description'  => '测试测试',
        'notify_url'   => 'https://weixin.qq.com/',
        'amount'       => [
            'total'    => 1,
            'currency' => 'CNY'
        ],
        'scene_info'         =>[
            'payer_client_ip'    =>'120.79.240.153',
            'h5_info'   =>[
                'type'  =>'iOS',
            ]
        ],
    ]]);
echo $resp->getBody(), PHP_EOL;
die;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值