JazzCash Gateway V2 PHP-Integration
P粉940538947
2023-09-02 22:56:33
<p>Ich versuche, JazzCash Gateway V2 zu integrieren und möchte eine direkte Zahlungstransaktion durchführen, die in der Dokumentation definiert ist als „Dies ist eine einzelne Transaktion, die eine Zahlung autorisiert und Gelder von einem Zahlerkonto auf ein Händlerkonto überträgt.“ </p >
<p>Hier ist meine Hash-Funktion</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 .
}
}
$str = $saltkey.$str;
$pp_SecureHash = hash_hmac('sha256', $str, $saltkey);
return $pp_SecureHash;
}</pre>
<p>Ich habe meinen Hash abgeglichen und er ist derselbe wie der Hash, der vom in der Dokumentation empfohlenen HashCalculator berechnet wurde.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"=> „Ja“,
"pp_ShouldTokenizeCardNumber"=> „Ja“,
"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"=> „MYMERCHANTID“,
"pp_Password"=> „MEIN PASSWORT“,
"pp_Amount"=> „20000“,
"pp_TxnCurrency"=> „PKR“,
"pp_TxnDateTime"=> date('YmdHis'),
"pp_TxnExpiryDateTime"=> date('YmdHis',strtotime("+1 Stunden")),
"pp_BillReference"=> „billRef“,
"pp_Description"=> „Beschreibung der Transaktion“,
"pp_CustomerCardNumber"=> „512345000000008“,
"pp_CustomerCardCVV"=> „100“,
"pp_CustomerCardExpiry"=> „01/39“,
"pp_SecureHash"=> "",
"pp_DiscountedAmount"=> "",
"pp_DiscountBank"=> "",
"pp_UsageMode"=> „API“
);</pre>
<p>当我运行curl时,我得到以下输出:</p>
<pre class="brush:php;toolbar:false;">{"responseCode":"110","responseMessage": "Bitte geben Sie einen gültigen Wert für pp_ Txn Ref No. an"," ;status":null,"pp_RetreivalReferenceNo":null,"secureHash":"9DE9F8E571F29CBD1316DFB2F0388E3FBE1CA9BC26FB9C284DF900DCCBA0C301"}</pre>
<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')
希望它能起作用。