محمد بالاگر
6 سال پیش توسط محمد بالاگر مطرح شد
4 پاسخ

کارنکردن تابع اینکراپت

تابع encrypt_pkcs۷ مورد استفاده در کدهای درگاه پرداخت سداد است ولی در نسخه PHP من کار نمیکنه و چند روزی است که پشتیبانی سداد هم نمی تونه کمک کنه و تابع جایگزین بده کسی می تونه کمک کنه؟؟؟
تابع:
'
$SignData=encrypt_pkcs۷("$TerminalId;$OrderId;$Amount","$key");
$data = array('TerminalId'=>$TerminalId,
'MerchantId'=>$MerchantId,
'Amount'=>$Amount,
'SignData'=> $SignData,
'ReturnUrl'=>$ReturnUrl,
'LocalDateTime'=>$LocalDateTime,
'OrderId'=>$OrderId);
'$str_data = json_encode($data);


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
0

دوست عزیز این تابع مربوط به php نمیشه و توسط خود درگاه پرداخت ایجاد شده طبق چکی که کردم این رو در فایلی با عنوان functions.php قرار دادن که شما این رو باید در کدهای خودتون صدا بزنید و ازش استفاده کنید .

function encrypt_pkcs7($str, $key)
{
    $key = base64_decode($key);
    $block = mcrypt_get_block_size("tripledes", "ecb");
    $pad = $block - (strlen($str) % $block);
    $str .= str_repeat(chr($pad), $pad);
    $ciphertext = mcrypt_encrypt("tripledes", $key, $str,"ecb");
    return base64_encode($ciphertext);
}

محمد بالاگر
@m.balagar 6 سال پیش مطرح شد
0

سلام
من این تابع نیز در فایلی بنام function.php نیز اینکلود کردم ولی باز هم اجرا نمیشه !! دوست دیگری می گفت توابع mcrypt تو نسخه php 7.1 منسوخ اعلام شده و خطا میده و تو نسخه های ۷٫۱ به بعد هم کاملا حذف شده . میتونید از php نسخه ۷٫۰ و یا قبل تر استفاده کنید در حالی که نسخه php هاست من PHP version: 7.0.26 است و موندم چکار کنم؟؟


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
0

اروری که برمیگردونه رو لطف کنید ارسال کنید


محمد بالاگر
@m.balagar 6 سال پیش مطرح شد
1

اصلا اروری نمیده و کاری هم انجام نمیشه!!


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام