我正在研究基于Rest的api 2.0版本。它总是给我带来错误
请提供pp_SecureHash的有效值
它在“页面重定向”情况下运行良好,因此哈希键生成方法是正确的,并且存在参数问题(可能是一些丢失的/额外的/错误的数据)。我做错什么了?
{ “uri”: “https://sandbox.jazzcash.com.pk/ApplicationAPI/API/2.0/Purchase/DoMWalletTransaction”, “method”: “POST”, “body”: “pp_Amount=1100&pp_BillReference=billRef&pp_CNIC=345678&pp_Description=jazzcash&pp_Language=EN&pp_MerchantID=xyz&pp_MobileNumber=03123456789&pp_Password=xyz&pp_ReturnURL=https://sandbox.jazzcash.com.pk/ApplicationAPI/API/2.0/Purchase/DoMWalletTransaction&pp_SecureHash=BC3BABD0481A2FA756F2E16CE15FC6F8029D40E23B974065668CCEAC300B80AE&pp_TxnCurrency=PKR&pp_TxnDateTime=20220406132730&pp_TxnExpiryDateTime=20220406142730&pp_TxnRefNo=T20220406142730&ppmpf_1=1&ppmpf_2=2&ppmpf_3=3&ppmpf_4=4&ppmpf_5=5” }发布于 2022-04-07 09:52:18
您的pp_SecureHash值需要进行HmacSHA256编码。
var sHash = HMACSHA256Encode(hash, jazz.salt);您可以引用此代码示例来实现您的需求。
C#: SecureHash ()
发布于 2022-07-17 06:22:27
请检查您的商人身份,密码和盐钥匙。这也是通过错误,如果你的任何信息是错误的。仔细读读医生。如果添加1.2版本,并且在文档中提到了1.1,那么它将无法工作,并且会经历相同的错误。提供有效的安全
如果您确信其他信息是正确的,则可以使用以下方法生成安全ssh
$post_data = array(
"pp_Version" => Config::get('constants.jazzcash.VERSION'),
"pp_TxnType" => "MWALLET",
"pp_Language" => Config::get('constants.jazzcash.LANGUAGE'),
"pp_MerchantID" => Config::get('constants.jazzcash.MERCHANT_ID'),
"pp_SubMerchantID" => "",
"pp_Password" => Config::get('constants.jazzcash.PASSWORD'),
"pp_BankID" => "TBANK",
"pp_ProductID" => "RETL",
"pp_TxnRefNo" => $pp_TxnRefNo,
"pp_Amount" => $pp_Amount,
"pp_TxnCurrency" => Config::get('constants.jazzcash.CURRENCY_CODE'),
"pp_TxnDateTime" => $pp_TxnDateTime,
"pp_BillReference" => "billRef",
"pp_Description" => "Description of transaction",
"pp_TxnExpiryDateTime" => $pp_TxnExpiryDateTime,
"pp_ReturnURL" => Config::get('constants.jazzcash.RETURN_URL'),
"pp_SecureHash" => "",
"ppmpf_1" => "1",
"ppmpf_2" => "2",
"ppmpf_3" => "3",
"ppmpf_4" => "4",
"ppmpf_5" => "5",
); private function get_SecureHash($data_array)
{
ksort($data_array);
$str = '';
foreach($data_array as $key => $value){
if(!empty($value)){
$str = $str . '&' . $value;
}
}
$str = Config::get('constants.jazzcash.INTEGERITY_SALT').$str;
$pp_SecureHash = hash_hmac('sha256', $str, Config::get('constants.jazzcash.INTEGERITY_SALT'));
//echo '<pre>';
//print_r($data_array);
//echo '</pre>';
return $pp_SecureHash;
}最后,通过调用此方法,您可以获得安全密钥
$pp_SecureHash = $this->get_SecureHash($post_data);https://stackoverflow.com/questions/71764380
复制相似问题