ホームページ  >  記事  >  バックエンド開発  >  PHP 学習ノート: Alipay と WeChat 支払いの統合

PHP 学習ノート: Alipay と WeChat 支払いの統合

PHPz
PHPzオリジナル
2023-10-08 10:29:00654ブラウズ

PHP 学習ノート: Alipay と WeChat 支払いの統合

PHP 学習ノート: Alipay と WeChat 決済の統合には特定のコード例が必要です

はじめに:
モバイル決済の人気とユーザーの需要の増加に伴い、 Alipay と WeChat Pay は、最も一般的なオンライン支払い方法となっています。オンライン ショッピング モールやオンライン決済プラットフォームなどのプロジェクトを開発する場合、Alipay と WeChat Pay の統合は不可欠な部分です。この記事では、PHP 言語を使用して Alipay と WeChat Pay を統合する方法に焦点を当て、具体的なコード例を示します。

1. Alipay 支払いの統合
Alipay 支払いは、現在中国で最も広く使用されているサードパーティ支払いプラットフォームであり、豊富なインターフェイスと開発ドキュメントを提供しています。以下では、PHP を使用して Alipay 支払いを統合する方法を紹介します。

  1. Alipay 開発者アカウントを申請する
    始める前に、まず Alipay 開発者アカウントを申請する必要があります。 Alipay 開発者プラットフォーム (https://open.alipay.com/) を通じて登録および申請し、開発者アカウントと対応するアプリケーション キーを取得します。
  2. Alipay SDK のダウンロード
    Alipay は公式 PHP SDK を提供しており、GitHub (https://github.com/alipay/alipay-sdk-PHP) を通じてダウンロードして参照できます。
  3. Alipay SDK ファイルの紹介
    ダウンロードした Alipay SDK ファイルを解凍し、次のファイルが存在することを確認してプロジェクトに導入します。
  4. AopSdk.php: Alipay SDK のコア ファイル
  5. AopCertification.php: 証明書クラス ファイル
  6. AopClient.php: リクエスト クラス ファイル
  7. Alipay インスタンスの作成
    コード内で Alipay インスタンスを作成し、対応する開発者を設定しますアカウントとアプリケーション キー:

require_once 'path/to/AopSdk.php';

$appId = 'your_app_id'; // 実際のアプリ ID に置き換えます
$privateKey = 'your_private_key'; // 実際のアプリケーション秘密キーに置き換えます
$publicKey = 'alipay_public_key'; // 実際の Alipay 公開キーに置き換えます

$alipay = new AopClient();
$ alipay->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$alipay->appId = $appId;
$alipay->rsaPrivateKey = $privateKey;
$alipay->alipayrsaPublicKey = $publicKey;

  1. 支払いリクエストの開始
    Alipay インスタンスのメソッドを使用して、支払いリクエストを開始します。以下は、Alipay PC Web 支払いの注文を作成する簡単な例です:

$bizContent = [
'subject' => 'Test order',
'out_trade_no' = > 'test_order_20220101',
'total_amount' => '0.01',
'product_code' => 'FAST_INSTANT_TRADE_PAY',
];

$request = new AlipayTradePagePayRequest( ) ;
$request->setNotifyUrl('your_notify_url'); // 実際の非同期通知アドレスに置き換えます
$request->setReturnUrl('your_return_url'); // 実際の同期ジャンプ アドレスに置き換えます
$request->setBizContent(json_encode($bizContent, JSON_UNESCAPED_UNICODE));

$response = $alipay->pageExecute($request);
echo $response;

  1. 支払い結果通知の処理
    Alipay 支払いが成功すると、支払い結果が非同期通知を通じて販売者のバックエンドに送信されます。 Alipay の非同期通知を処理するには、コードをバックグラウンドで記述する必要があります。以下は簡単なコード例です:

$alipayPublicKey = 'alipay_public_key'; // 実際の Alipay 公開キーに置き換えます
$verifyResult = $alipay->rsaCheckV1($_POST, $ alipayPublicKey, 'RSA2');
if ($verifyResult) {
// 検証成功、注文処理ロジック
// TODO: 注文処理ロジック
echo 'success';
} else {
// 検証に失敗し、エラー メッセージが出力されました
echo 'fail';
}

2. WeChat 決済の統合
WeChat 決済は Tencent が所有するオンライン決済プラットフォームです。 Alipay 支払いと同様に、WeChat 支払いはモバイル ユーザーの間でより人気があります。以下では、PHP を使用して WeChat 支払いを統合する方法を紹介します。

  1. WeChat 開発者アカウントを申請する
    始める前に、まず WeChat オープン プラットフォームを通じて WeChat 開発者アカウントを申請する必要があります。 (https://open .weixin.qq.com/) に登録して申請し、開発者アカウントと対応するアプリケーション ID、販売者番号、API キーを取得します。
  2. WeChat Pay SDK ファイルの紹介
    WeChat Pay は公式の PHP SDK を提供しており、GitHub (https://github.com/wxpay/wechatpay-gysp-php) を通じてダウンロードして参照できます。
  3. WeChat 支払いインスタンスを作成する
    コードで WeChat 支払いインスタンスを作成し、対応する開発者アカウントと API キーを設定します:

require_once 'path/to/WxPay.Api .php';

$appId = 'your_app_id'; // 実際のアプリケーション ID に置き換えます
$merchantId = 'your_merchant_id'; // 実際の販売者番号に置き換えます
$apiKey = ' your_api_key'; // 実際の API キーに置き換えます

$wxPayConfig = new WxPayConfig();
$wxPayConfig->SetAppId($appId);
$wxPayConfig->SetMerchantId ($merchantId) );
$wxPayConfig->SetKey($apiKey);

$wxPay = 新しい WxPayApi($wxPayConfig);

  1. 支払いリクエストを開始する
    WeChat 支払いインスタンスのメソッドを使用して、支払いリクエストを開始します。以下は、WeChat 公式アカウントを通じて支払いの注文を作成する簡単な例です:

$wxPayData = new WxPayUnifiedOrder();
$wxPayData->SetBody('Test Order') ;
$wxPayData->SetOutTradeNo('test_order_20220101');
$wxPayData->SetTotalFee(1);
$wxPayData->SetTradeType('JSAPI');
$wxPayData- > SetOpenId('your_open_id'); // 実際のユーザーに置き換えます OpenID

$result = $wxPay->unifiedOrder($wxPayData);
$jsApiParameters = $wxPay->getJsApiParameters($ result ['prepay_id']);

  1. 支払い結果通知の処理
    WeChat 支払いが成功すると、支払い結果が非同期通知を通じて販売者のバックエンドに送信されます。 WeChat Pay の非同期通知を処理するには、コードをバックグラウンドで記述する必要があります。簡単なコード例を次に示します。

$wxPayNotify = new WxPayNotify($wxPayConfig);
$wxPayNotify->Handle(false);
$orderInfo = $wxPayNotify-> ; GetPayOrder();

// 支払い結果を確認します
if ($orderInfo['return_code'] === 'SUCCESS' && $orderInfo['result_code'] === 'SUCCESS') {
// 検証成功、注文ロジックの処理
// TODO: 注文ロジックの処理
$wxPayNotify->ReplyNotify('SUCCESS');
} else {
// 検証失敗、出力エラー メッセージ
$wxPayNotify->ReplyNotify('FAIL');
}

結論:
この記事では、PHP 言語を使用して Alipay と WeChat 支払いを統合する方法を簡単に紹介し、次のことを提供します。具体的なコード例。実際の開発では、特定のニーズやビジネス ロジックに応じて、対応する調整や拡張を行う必要があります。この記事が Alipay と WeChat Pay の統合に役立つことを願っています。ご質問がございましたら、ディスカッションのためにメッセージを残してください。

以上がPHP 学習ノート: Alipay と WeChat 支払いの統合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。