このコードは、ハン・シュンピンの149番目のビデオの最後の5つの講義を参照しています。学習する必要がある友人は、このコードを参照してください
。これはテスト画像です:
以下はコード部分です:
1 php 2 3 4 関数 HmacMd5($data, $key) 5 { 6 7 // iconv をサポートするように環境を設定する必要があります。そうしないと、中国語パラメータが正常に処理されません 8 $key = iconv("GB2312", "UTF-8", $key); 9 $data = iconv("GB2312", "UTF-8", $data); 10 $b = 64; 11 if (strlen($key) > $b) { 12 $key = pack("H*", md5($key)); 13 } 14 $key = str_pad($key, $b, chr(0x00)); 15 $ipad = str_pad('', $b, chr(0x36)); 16 $opad = str_pad('', $b, chr(0x5c)); 17 $k_ipad = $key ^ $ipad; 18 $k_opad = $key ^ $opad; 19 return md5($k_opad . pack("H*", md5($k_ipad . $data))); 20}21 //一宝決済に署名文字列を生成する方法を尋ねました 22 //各リクエストパラメータを $data として渡します: $key は、Yibao によって販売者に割り当てられたキーです 23 24 ?> common.php 1 2 3 4 5 27 pay.php 1 2 3 4 5 php 6 インクルード 'common.php'; 7 // ここでユーザーが送信した情報を取得します 8 9 // 1. 注文番号を取得します 10 $p0_Cmd = "購入"; 11 $p1_MerId = "10001126856"; 12 $p2_Order = $_REQUEST['p2_Order']; 13 $p3_Amt = $_REQUEST['p3_Amt']; 14 $p4_Cur = "CNY"; 15 // 商品名 16 $p5_Pid = ""; 17 $p6_Pcat = "" // 製品タイプ; 18 $p7_Pdesc = "" // 製品紹介 19 // 一宝の支払いが成功した直後に、情報が URL に返されます 20 $p8_Url = "http://loaclhost/FUCKPHP/onlinezhifu/res.php"; 21 $p9_SAF = "0"; // 配送先住所 22 $pa_MP = "" // 追加紹介 23 $pd_FrpId = $_REQUEST['pd_FrpId'] // 支払いチャネル 24 $pr_NeedResponse = "1"; // 応答メカニズム 25 // リクエストパラメータを 1 つずつ結合します (結合するときは順序が非常に重要です!!) 26 $data=""; 27 $data=$data.$p0_Cmd; 28 $data=$data.$p1_MerId; 29 $data=$data.$p2_Order; 30 $データ=$データ.$p3_Amt; 31 $data=$data.$p4_Cur; 32 $data=$data.$p5_Pid; 33 $data=$data.$p6_Pcat; 34 $data=$data.$p7_Pdesc; 35 $data=$data.$p8_Url; 36 $data=$data.$p9_SAF; 37 $data=$data.$pa_MP; 38 $data=$data.$pd_FrpId; 39 $data=$data.$pr_NeedResponse; 40 41 $merchantKey ="69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl"; 42 // hmac は署名文字列であり、一宝と販売者間の相互確認に使用されるキーワードです 43 // ここでは、アルゴリズムを使用して生成する必要があります (md5-hmac アルゴリズム) 44 $hmac = HmacMd5($data,$merchantKey); 45 ?> 46 あなたの注文番号は次のとおりです:echo $p2_Order; ?>お支払い金額は echo $p3_Amt; 47 48 65