-
December 8th, 2020, 19:04
#1
مشکل درگاه بانکی پس از بازگشت وقتی ssl سایت فعال می شود
با درود
وقتی ssl سایت را فعال می کنم در بازگشت از بانک دچار مشکل می شود ارور خاصی هم نمی دهد کد درگاه تجارت به شرح ذیل می باشد آیا باید برای ssl تغییراتی انجام داد؟
کد:
function tejarat_request(){
require_once "pack/nusoap/nusoap.php";
$SOAP = new nusoap_client('https://ikc.shaparak.ir/XToken/Tokens.xml',true);
$SOAP->soap_defencoding = 'UTF-8';
if($this->soap_error($SOAP, 711)) return $this->out_msg;
$parameters = array(
'amount' => $this->pay_amount,
'merchantId' => ENGINE::$config->epay->tejarat->merchant_id,
'invoiceNo' => $this->pay_id,
'paymentId' => $this->pay_id,
'revertURL' => $this->callback_url,
);
$result = $SOAP->call('MakeToken', array($parameters));
if($this->soap_error($SOAP, 712, $result)) return $this->out_msg;
$PAYINFO['pay'] = $result;
$this->save_info('info', json_encode($PAYINFO));
if($result['MakeTokenResult']['result'] == 'false')
return '<div class="alert danger">خطای 07130: خطا در اتصال به درگاه!</div>';
return '<form action="https://ikc.shaparak.ir/tpayment/payment/Index" method="post" id="EpayForm">'.
'<h5>'.ENGINE::fa_digits(number_format($this->pay_amount)).' ریـال</h5>'.
'<img src="lib/img/epay-tejarat.png" vspace="5">'.
'<p>درحال اتصال به درگاه پرداخت ...</p>'.
'<input type="hidden" name="token" value="'.$result['MakeTokenResult']['token'].'">'.
'<input type="hidden" name="merchantId" value="'.ENGINE::$config->epay->tejarat->merchant_id.'">'.
'<noscript><input type="submit" class="button" value="پرداخـت"></noscript></form>';
}
function tejarat_response(){
$this->pay_id = intval($_POST['paymentId']);
$this->pay_refid = $_POST['referenceId'];
$this->pay_amount = newdb()->read('amount','epayment',"id=$this->pay_id");
$this->save_info('ref_id', $this->pay_refid);
$PAYINFO['token'] = $_POST['token'];
$PAYINFO['resultCode'] = $_POST['resultCode'];
$this->save_info('info', json_encode($PAYINFO) );
if( $_POST['resultCode'] != 100 ) return false;
$SOAP = new nusoap_client('https://ikc.shaparak.ir/XVerify/Verify.xml',true);
$SOAP->soap_defencoding='UTF-8';
if($this->soap_error($SOAP, 721)) return false;
$params = array(
'token' => $_POST['token'],
'merchantId' => ENGINE::$config->epay->tejarat->merchant_id,
'referenceNumber' => $this->pay_refid,
'sha1Key' => ENGINE::$config->epay->tejarat->sha1key,
);
$result = $SOAP->call('KicccPaymentsVerification', $params);
$PAYINFO['verify'] = $result;
$this->save_info('info', json_encode($PAYINFO));
if($this->soap_error($SOAP, 722, $result)) return false;
return $result['KicccPaymentsVerificationResult'] == $this->pay_amount;
}
-
-
December 8th, 2020 19:04
# ADS
-
December 8th, 2020, 19:25
#2
پاسخ : مشکل درگاه بانکی پس از بازگشت وقتی ssl سایت فعال می شود
سلام آگر درگاه روی http درخواست کرده باشید و الان روی https باشید باید به psp اعلام کنید تا تغییرات لازم انجام شود
-
تعداد تشکر ها از Web-Hosting به دلیل پست مفید
-
December 13th, 2020, 14:12
#3
پاسخ : مشکل درگاه بانکی پس از بازگشت وقتی ssl سایت فعال می شود
با تشکر
از بانک پیگیری کردم گفتند آدرس callback که ارسال می شود با http هستش باید یا https ارسال شود به همین خاطر می باشد
تو کجای کد باید این تغییرات را انجام بدم؟
تو خط 11 کد بالا 'revertURL' => $this->callback_url, اینجا آدرس ست می شود ولی نمی دونم باید چه تغیراتی بدم
البته در یه بخشی این کد را دارم
کد:
self::$HOST = strtolower(strtok($_SERVER['SERVER_PROTOCOL'],'/').'://'.$_SERVER['HTTP_HOST']);
احتمالا باید این یه تغییراتی بدم
لطفا راهنمایی نمایید
ویرایش توسط ali1408 : December 13th, 2020 در ساعت 14:54
دلیل: اضافه کردن مطلب
-
-
December 13th, 2020, 16:10
#4
عضو جدید
پاسخ : مشکل درگاه بانکی پس از بازگشت وقتی ssl سایت فعال می شود
نیاز به بررسی بیشتر داره و با دسترسی قابل حل هست . لطفا از طریق پیام خصوصی و یا آی دی تلگرام اطلاعات بیشتر رو ارسال کنید با هزینه جزئی قابل رفع هست.
-
-
December 13th, 2020, 19:49
#5
پاسخ : مشکل درگاه بانکی پس از بازگشت وقتی ssl سایت فعال می شود
در در هد سایت آدرس با این کد ست می شود
کد:
self::$HOST = strtolower(strtok($_SERVER['SERVER_PROTOCOL'],'/').'://'.$_SERVER['HTTPS_HOST']);
وقتی به این آدرس تغییر می دم مشکل برطرف می شود
کد:
self::$HOST = 'https://sitename.com';
چطور می تونم تو کد بالا اینو ست کنم تا در بدون https و هم چنین با http کار کنه
می خوام طوری باشه که آدرس را دستی وارد نکنم برای چند سایت مختلف استفاده می کنم
ویرایش توسط ali1408 : December 13th, 2020 در ساعت 19:51
دلیل: اضافه کردن توضیح
-