微信支付 APIv3 PHP 库使用教程

微信支付 APIv3 PHP 库使用教程

wechatpay-php微信支付 APIv3 的官方 PHP Library,同时也支持 APIv2项目地址:https://gitcode.com/gh_mirrors/we/wechatpay-php

项目介绍

微信支付 APIv3 的官方 PHP 库,支持 APIv2 和 APIv3。该项目基于 Guzzle HTTP Client,提供了同步和异步请求的支持,适用于 PHP 开发。

项目快速启动

安装

首先,通过 Composer 安装微信支付 PHP 库:

composer require wechatpay/wechatpay

初始化

以下是一个简单的初始化示例:

require_once 'vendor/autoload.php';

use WeChatPay\Builder;
use WeChatPay\Crypto\Rsa;
use WeChatPay\Util\PemUtil;

// 设置参数
$merchantId = '190000****'; // 商户号
$merchantPrivateKeyFilePath = 'file:///path/to/merchant/apiclient_key.pem'; // 商户API私钥路径
$merchantPrivateKeyInstance = Rsa::from($merchantPrivateKeyFilePath, Rsa::KEY_TYPE_PRIVATE);

$merchantCertificateSerial = '3775B6A45ACD588826D15E583A95F5DD********'; // 商户API证书序列号
$platformCertificateFilePath = 'file:///path/to/wechatpay/cert.pem'; // 微信支付平台证书路径
$platformPublicKeyInstance = Rsa::from($platformCertificateFilePath, Rsa::KEY_TYPE_PUBLIC);

$platformCertificateSerial = PemUtil::parseCertificateSerialNo($platformCertificateFilePath); // 微信支付平台证书序列号

// 构造一个 APIv3 客户端实例
$instance = Builder::factory([
    'mchid' => $merchantId,
    'serial' => $merchantCertificateSerial,
    'privateKey' => $merchantPrivateKeyInstance,
    'certs' => [
        $platformCertificateSerial => $platformPublicKeyInstance,
    ],
]);

应用案例和最佳实践

发起支付请求

以下是一个发起支付请求的示例:

$response = $instance->v3->pay->transactions->jsapi->post([
    'json' => [
        'appid' => 'wxd678efh567hg6787',
        'mchid' => $merchantId,
        'description' => '测试支付',
        'out_trade_no' => '1217752501201407033233368018',
        'amount' => [
            'total' => 100,
            'currency' => 'CNY',
        ],
        'payer' => [
            'openid' => 'oUpF8uMuAJO_M2pxb1Q9zNjWeS6o',
        ],
    ],
]);

echo $response->getStatusCode(); // 输出响应状态码
echo $response->getBody(); // 输出响应内容

查询订单

以下是一个查询订单的示例:

$response = $instance->v3->pay->transactions->id->{$transactionId}->get([
    'query' => [
        'mchid' => $merchantId,
    ],
]);

echo $response->getStatusCode(); // 输出响应状态码
echo $response->getBody(); // 输出响应内容

典型生态项目

wechatpay-guzzle-middleware

这是一个适用于 PHP 开发的微信支付 Guzzle 中间件,可以简化请求签名和响应验证的过程。

wechatpay-go

这是一个适用于 Go 开发的微信支付库,提供了类似的功能和接口,方便 Go 开发者集成微信支付。

通过以上教程,您可以快速上手并使用微信支付 APIv3 的官方 PHP 库进行开发。希望这些内容对您有所帮助!

wechatpay-php微信支付 APIv3 的官方 PHP Library,同时也支持 APIv2项目地址:https://gitcode.com/gh_mirrors/we/wechatpay-php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尤嫒冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值