ホームページ >バックエンド開発 >PHPチュートリアル >PHP での WeChat 支払いの開始とクエリの実装
WeChat 支払いの人気に伴い、WeChat 支払い機能を統合する必要がある Web サイトがますます増えています。この記事では、PHP で WeChat の支払いの開始とクエリを実装する方法について説明します。
PHP で WeChat 支払いを開始するには、最初のステップは、WeChat 支払いの統合注文 API を呼び出して前払い注文を生成することです。 API は、販売者 ID、支払い金額、注文番号、コールバック URL など、いくつかの必要なパラメーターを渡す必要があります。以下はサンプル コードです:
<?php require_once('WxPayApi.php'); require_once('WxPayUnifiedOrder.php'); $order = new WxPayUnifiedOrder(); $order->SetBody('商品描述'); $order->SetOut_trade_no('订单号'); $order->SetTotal_fee('支付金额'); $order->SetNotify_url('回调URL'); $order->SetTrade_type('JSAPI'); $order->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($order);
統合注文 API を呼び出した後、前払いトランザクション セッションを含む前払い注文情報を取得する必要があります。 ID (prepay_id) およびその他の必要なパラメータ。以下はサンプルコードです:
<?php require_once('WxPayApi.php'); require_once('WxPayData.php'); $input = new WxPayData(); $input->SetBody('商品描述'); $input->SetOut_trade_no('订单号'); $input->SetTotal_fee('支付金额'); $input->SetNotify_url('回调URL'); $input->SetTrade_type('JSAPI'); $input->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($input); $prepay_id = $result['prepay_id']; $params = [ 'appId' => $result['appid'], 'timeStamp' => time(), 'nonceStr' => $result['nonce_str'], 'package' => "prepay_id={$prepay_id}", 'signType' => 'MD5' ]; $params['paySign'] = WxPayApi::getSign($params);
前払い注文情報を取得した後、取得したパラメータをフロントエンドに渡して、ユーザーは WeChat クライアントで支払いを開始します。以下はサンプルコードです:
<?php echo '<script language="javascript">'; echo 'WeixinJSBridge.invoke("getBrandWCPayRequest", { "appId":"'.$params['appId'].'", "timeStamp":"'.$params['timeStamp'].'", "nonceStr":"'.$params['nonceStr'].'", "package":"'.$params['package'].'", "signType":"'.$params['signType'].'", "paySign":"'.$params['paySign'].'" }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ){ alert("支付成功"); }else{ alert("支付失败"); } });'; echo '</script>';
支払いが完了したら、トランザクションが完了したことを確認するために支払い結果をクエリする必要があります。成功しました。以下はサンプル コードです:
<?php require_once('WxPayApi.php'); $input = new WxPayOrderQuery(); $input->SetOut_trade_no('订单号'); $result = WxpayApi::orderQuery($input); if ($result['trade_state'] == 'SUCCESS') { echo '支付成功'; } else { echo '支付失败'; }
概要:
上記は、PHP で WeChat 支払いを開始およびクエリするプロセス全体です。 WeChat 支払いを Web サイトに統合する必要がある場合は、上記の手順に従うことができます。開発には公式に提供されている SDK を使用することをお勧めします。これにより、時間と労力を大幅に節約できます。
以上がPHP での WeChat 支払いの開始とクエリの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。