ホームページ >バックエンド開発 >PHPチュートリアル >PHP とミニプログラム支払いインターフェイスのドッキング ガイド

PHP とミニプログラム支払いインターフェイスのドッキング ガイド

WBOY
WBOYオリジナル
2023-07-04 10:34:361673ブラウズ

PHP およびミニ プログラムの支払いインターフェイス ガイド

モバイル決済の人気に伴い、ますます多くの販売者が主要な販売チャネルの 1 つとしてミニ プログラムを使用し始めています。ミニプログラムの支払い機能を実装するには、対応する支払いインターフェイスに接続する必要があります。この記事では、PHP 言語を使用してミニ プログラムの支払いインターフェイスに接続する方法を紹介し、参考用のコード例を添付します。

  1. 準備
    開始する前に、次の情報を取得していることを確認してください:
  2. 販売者 ID (MCHID)
  3. API キー (KEY)
  4. ミニ プログラムの AppID
  5. ミニ プログラムの秘密
  6. 署名の生成
    署名の生成は、ミニ プログラムの支払いインターフェイスとドッキングするために非常に重要です。以下は、署名の生成に使用できる関数の例です。
function createSign($params, $key){
    ksort($params);  //按照参数名ASCII码从小到大排序

    $string = '';
    foreach($params as $k => $v){
        if($v != '' && $k != 'sign'){
            $string .= $k . '=' . $v . '&';
        }
    }

    $string .= 'key=' . $key;
    $string = md5($string);  //签名加密

    return strtoupper($string);  //转换成大写
}
  1. 統一注文インターフェイス
    統一注文インターフェイスは、ミニ プログラム支払いの最初のステップです。以下は、統一された注文リクエストを WeChat サーバーに送信するために使用できる関数の例です。
function createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){
    $params = array(
        'appid' => $appid,
        'body' => '商品描述',
        'mch_id' => $mchid,
        'nonce_str' => md5(time()),
        'notify_url' => '支付成功回调地址',
        'openid' => $openid,
        'out_trade_no' => $out_trade_no,
        'spbill_create_ip' => $_SERVER['REMOTE_ADDR'],
        'total_fee' => $total_fee,
        'trade_type' => 'JSAPI'
    );

    //生成签名
    $params['sign'] = createSign($params, $key);

    //将数组转换为XML格式
    $xml = '<xml>';
    foreach($params as $k => $v){
        $xml .= '<' . $k . '>' . $v . '</' . $k . '>';
    }
    $xml .= '</xml>';

    //向微信服务器发送请求
    $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

    $response = curl_exec($ch);
    curl_close($ch);

    //解析XML响应
    $result = simplexml_load_string($response);
    $prepay_id = $result->prepay_id;  //获取预支付交易会话标识

    return $prepay_id;
}
  1. ミニ プログラムの支払い操作
    ミニ プログラムは、バックグラウンドでのリクエストを行う必要があります。 prepay_id を取得し、この prepay_id を使用して支払い操作を実行します。以下は、支払いのためにミニ プログラムを呼び出す関数の例です:
function getMiniProgramPayParams($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){
    $prepay_id = createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee);

    $params = array(
        'appId' => $appid,
        'timeStamp' => time(),
        'nonceStr' => md5(time()),
        'package' => 'prepay_id=' . $prepay_id,
        'signType' => 'MD5'
    );

    //生成签名
    $params['paySign'] = createSign($params, $key);

    return $params;
}

結論:
上記の手順を通じて、PHP 言語を使用してミニ プログラムの支払いインターフェイスに接続できます。モバイル決済機能を実現します。もちろん、実際のアプリケーションプロセスでは、特定のビジネスニーズに応じて対応する調整や拡張を行う必要があります。この記事の内容が役に立ち、ミニ プログラムの支払い機能を正常に実装できることを願っています。

以上がPHP とミニプログラム支払いインターフェイスのドッキング ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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