视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

使用 PHP SDK 快速開始

更新時(shí)間:2023.08.17

在本教程中,你將簡(jiǎn)要了解微信支付的 PHP SDK。在學(xué)習(xí)過(guò)程中,你將

  • 掌握如何安裝 PHP SDK
  • 了解請(qǐng)求微信支付需要哪些密鑰和證書
  • 了解如何使用 PHP SDK 請(qǐng)求微信支付

# 環(huán)境要求

  • Guzzle 7.0,PHP >= 7.2.5。
  • Guzzle 6.5,PHP >= 7.1.2

我們推薦使用目前處于 Active Support (opens new window) 階段的 PHP 8 和 Guzzle 7。

# 安裝

使用 Composer (opens new window) 安裝最新版本的 SDK:

1composer require wechatpay/wechatpay

你可以在 GitHub 找到 PHP SDK (opens new window) 的源代碼、使用說(shuō)明和最新版本信息。

# 必需的證書和密鑰

運(yùn)行 SDK 必需以下的證書和密鑰:

由于 PHP-FPM (opens new window) 進(jìn)程模型限制,PHP SDK 不支持自動(dòng)獲取和更新微信支付平臺(tái)證書。 你可以使用 SDK 自帶的工具 (opens new window)下載微信支付平臺(tái)證書。

1composer exec CertificateDownloader.php -- -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}

# 發(fā)起請(qǐng)求

以 Native 支付為例,向微信支付發(fā)起你的第一個(gè)請(qǐng)求。

1<?php
2
3require_once('vendor/autoload.php');
4
5use WeChatPay\Builder;
6use WeChatPay\Crypto\Rsa;
7use WeChatPay\Util\PemUtil;
8
9// 設(shè)置參數(shù)
10
11// 商戶號(hào)
12$merchantId = '190000****';
13
14// 從本地文件中加載「商戶API私鑰」,「商戶API私鑰」會(huì)用來(lái)生成請(qǐng)求的簽名
15$merchantPrivateKeyFilePath = 'file:///path/to/merchant/apiclient_key.pem';
16$merchantPrivateKeyInstance = Rsa::from($merchantPrivateKeyFilePath, Rsa::KEY_TYPE_PRIVATE);
17
18// 「商戶API證書」的「證書序列號(hào)」
19$merchantCertificateSerial = '3775B6A45ACD588826D15E583A95F5DD********';
20
21// 從本地文件中加載「微信支付平臺(tái)證書」(可使用證書下載工具得到),用來(lái)驗(yàn)證微信支付應(yīng)答的簽名
22$platformCertificateFilePath = 'file:///path/to/wechatpay/cert.pem';
23$platformPublicKeyInstance = Rsa::from($platformCertificateFilePath, Rsa::KEY_TYPE_PUBLIC);
24
25// 從「微信支付平臺(tái)證書」中獲取「證書序列號(hào)」
26$platformCertificateSerial = PemUtil::parseCertificateSerialNo($platformCertificateFilePath);
27
28// 構(gòu)造一個(gè) APIv3 客戶端實(shí)例
29$instance = Builder::factory([
30 'mchid' => $merchantId,
31 'serial' => $merchantCertificateSerial,
32 'privateKey' => $merchantPrivateKeyInstance,
33 'certs' => [
34 $platformCertificateSerial => $platformPublicKeyInstance,
35 ],
36]);
37
38// 以 Native 支付為例,發(fā)送請(qǐng)求
39$resp = $instance
40 ->chain('v3/pay/transactions/native')
41 ->post(['json' => [
42 'mchid' => '1900006XXX',
43 'out_trade_no' => 'native12177525012014070332333',
44 'appid' => 'wxdace645e0bc2cXXX',
45 'description' => 'Image形象店-深圳騰大-QQ公仔',
46 'notify_url' => 'https://weixin.qq.com/',
47 'amount' => [
48 'total' => 1,
49 'currency' => 'CNY'
50 ],
51 ]]);
52echo $resp->getBody(), PHP_EOL;

# 聯(lián)系 SDK 團(tuán)隊(duì)獲取幫助

# 接下來(lái)閱讀

通過(guò)這個(gè)快速介紹,你已經(jīng)安裝了 PHP SDK 并學(xué)習(xí)了一些基礎(chǔ)知識(shí)。接下來(lái),你可以閱讀具體的產(chǎn)品文檔,學(xué)習(xí)如何接入微信支付。