JazzCash ゲートウェイ V2 PHP の統合
P粉940538947
2023-09-02 22:56:33
<p>JazzCash Gateway V2 を統合しようとしており、直接支払いトランザクションを実行したいと考えています。ドキュメントでは、これは「これは、支払いを承認し、支払者のアカウントから販売者のアカウントに資金を転送する単一のトランザクションである」と定義されています。 </p >
<p>これが私のハッシュ関数です</p>
<pre class="brush:php;toolbar:false;">function get_SecureHash($data_array) {
ksort($data_array);
$str = '';
foreach($data_array as $key => $value) {
if(!empty($value)) {
$str = $str . '&' . $value;
}
}
$str = $saltkey.$str;
$pp_SecureHash = hash_hmac('sha256', $str, $saltkey);
$pp_SecureHash を返します。
}</pre>
<p>ハッシュを照合しましたが、ドキュメントで推奨されている HashCalculator で計算されたハッシュと同じです。https://github.com/aliabidzaidi/HashCalculator</p>
<p>我正在使用下网址:</p>
<pre class="brush:php;toolbar:false;">$post_url = "https://sandbox.jazzcash.com.pk/ApplicationAPI/API/Purchase/PAY";</pre>
<p>私たちの数グループは以下のように表示されます:</p>
<pre class="brush:php;toolbar:false;">$data_array = array(
"pp_IsRegisteredCustomer"=> 「はい」、
"pp_ShouldTokenizeCardNumber"=> 「はい」、
"pp_CustomerID"=> 「25352」、
"pp_CustomerEmail"=> 「abc@abc.com」、
"pp_CustomerMobile"=> 「03331234567」、
"pp_Version"=> 「2.0」、
"pp_TxnType"=> 「MPAY」、
"pp_TxnRefNo"=> "T".date('YmdHisu'),
「pp_MerchantID」=> 「マイマーチャンティッド」、
「pp_パスワード」=> 「マイパスワード」、
"pp_Amount"=> 「20000」、
「pp_TxnCurrency」=> 「PKR」、
"pp_TxnDateTime"=>日付('YmdHis'),
"pp_TxnExpiryDateTime"=> date('YmdHis',strtotime("1 時間")),
"pp_BillReference"=> 「請求書参照」、
"pp_Description"=> 「取引の説明」、
"pp_顧客カード番号"=> "512345000000008"、
"pp_CustomerCardCVV"=> 「100」、
"pp_CustomerCardExpiry"=> 「01/39」、
「pp_SecureHash」=> 「」、
"pp_割引金額"=> 「」、
「pp_DiscountBank」=> 「」、
"pp_UsageMode"=> 「API」
);</pre>
<p>当私がカールを実行するとき、私は以下の出力に到達しました:</p>
<pre class="brush:php;toolbar:false;">{"responseCode":"110","responseMessage":"pp_Txn Ref No.に有効な値を入力してください。"," ;status":null、"pp_RetreivalReferenceNo":null、"secureHash":"9DE9F8E571F29CBD1316DFB2F0388E3FBE1CA9BC26FB9C284DF900DCCBA0C301"}
<p>次下来ますか?</p>
pp_TxnDateTime と pp_TxnRefNo の日付形式が変更されたことが原因である可能性があります
配列では、
"pp_TxnRefNo"=> "T".date('YmdHisu')
および"pp_TxnDateTime"=> date('YmdHis')
形式が同じであることを確認して、次を変更します:
と入力します。"pp_TxnRefNo"=> "T".date('YmdHisu')
"pp_TxnRefNo"=> "T".date('YmdHis')
うまくいくといいですね。