文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP 微信支付V3

2023-09-07 20:24

关注

使用 PHP 包管理工具 Composer 安装 SDK:

composer require wechatpay/wechatpay

获取微信商户证书

参考地址:什么是商户API证书?如何获取商户API证书?

获取微信支付平台证书

在服务器上进入PHP项目,进入vendor/bin/目录

-k:apiv3秘钥-m:商户号-f:微信商户API私钥文件目录-s:证书序列号-o:生成后的证书保存地址php CertificateDownloader.php -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}例如:php CertificateDownloader.php -k 241054wsd5we14586esfwqsfjke25344 -m 1600789654 -f /app/file/wxCert/apiclient_key.pem -s WB0E676A11B907E25875FCCBB15151637E4 -o  /app/file/wxCert/

构造一个APIV3客户端实例

 $merchantId,    'serial'     => $merchantCertificateSerial,    'privateKey' => $merchantPrivateKeyInstance,    'certs'      => [        $platformCertificateSerial => $platformPublicKeyInstance,    ],]);// 发送请求$resp = $instance->chain('v3/certificates')->get(    ['debug' => true] // 调试模式,https://docs.guzzlephp.org/en/stable/request-options.html#debug);echo $resp->getBody(), PHP_EOL;

APP支付下单为例

try {    $resp = $instance    ->chain('v3/pay/transactions/app')    ->post(['json' => [        'mchid'        => '1900006XXX',        'out_trade_no' => 'native12177525012014070332333',        'appid'        => 'wxdace645e0bc2cXXX',        'description'  => 'Image形象店-深圳腾大-QQ公仔',        'notify_url'   => 'https://weixin.qq.com/',        'amount'       => [            'total'    => 1,            'currency' => 'CNY'        ],    ]]);    echo $resp->getStatusCode(), PHP_EOL;    echo $resp->getBody(), PHP_EOL;} catch (\Exception $e) {    // 进行错误处理    echo $e->getMessage(), PHP_EOL;    if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {        $r = $e->getResponse();        echo $r->getStatusCode() . ' ' . $r->getReasonPhrase(), PHP_EOL;        echo $r->getBody(), PHP_EOL, PHP_EOL, PHP_EOL;    }    echo $e->getTraceAsString(), PHP_EOL;}

注意

若运行中出现如下错误:Cannot load privateKey from(string), please take care about the \\$thing input.

需要在文件前面添加 file://

例如:

$merchantPrivateKeyFilePath = 'file://'.私钥文件目录;

若出现签名错误:

先自己查看商户API证书,API序列号,APIV3秘钥,商户号,微信平台证书是否一致,确保一致后还是出现签名错误,则可以验签。

有疑问或不同见解欢迎评论区留言!

来源地址:https://blog.csdn.net/Logical_storm/article/details/123797074

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯