JazzCash Gateway V2 PHP 통합
P粉940538947
2023-09-02 22:56:33
<p>JazzCash Gateway V2를 통합하려고 하며 문서에서 "이것은 지불을 승인하고 지불인 계정에서 판매자 계정으로 자금을 이체하는 단일 거래입니다."라고 정의하는 직접 지불 거래를 수행하려고 합니다. </p >
<p>여기 내 해시 함수가 있습니다</p>
<pre class="brush:php;toolbar:false;">함수 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);
$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 = 배열(
"pp_IsRegisteredCustomer"=> "예",
"pp_ShouldTokenizeCardNumber"=> "예",
"pp_CustomerID"=> "25352",
"pp_CustomerEmail"=> "abc@abc.com",
"pp_CustomerMobile"=> "03331234567",
"pp_버전"=> "2.0",
"pp_TxnType"=> "MPAY",
"pp_TxnRefNo"=> "T".date('YmdHisu'),
"pp_MerchantID"=> "MYMERCHANTID",
"pp_Password"=> "마이패스워드",
"pp_Amount"=> "20000",
"pp_TxnCurrency"=> "PKR",
"pp_TxnDateTime"=> 날짜('YmdHis'),
"pp_TxnExpiryDateTime"=> date('YmdHis',strtotime("+1시간")),
"pp_BillReference"=> "BillRef",
"pp_Description"=> "거래 설명",
"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":"pp_ Txn Ref No.에 유효한 값을 제공하십시오."," ;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')
효과가 있기를 바랍니다.