Opencart версии 2.0.3.1.
Я создал способ оплаты для получения оплаты от пользователей.
Удаление исчезает после отправки данных в банк.
Данные формы, отправленные в банк, ниже
$okUrl and $failUrl=https://www.xxx/online/index.php?route=payment/tumbankalar/bank_response
elseif($this->session->data["BankaPosTipi"] == "3d")
{
$okUrl = $this->config->get('tumbankalar_donusURL');
$failUrl = $this->config->get('tumbankalar_donusURL');
$clientId = $this->config->get('tumbankalar_isbankasi_isyerikodu');
$url = "https://sanalpos.isbank.com.tr/fim/est3Dgate";
$amount = $toplam_tutar;
$oid = $order_info['order_id'];
$rnd = microtime();
$storekey = $this->config->get('tumbankalar_isbankasi_storekey');
$hashstr = $clientId . $oid . $amount . $okUrl . $failUrl . $rnd . $storekey;
$hash = base64_encode(pack('H*',sha1($hashstr)));
$bolum=1;
$form = '';
$form .= '<form name="pay_form" id="pay_form" method="post" action="'.$url.'">
<input type="hidden" name="pan" value="'.$kart_numarasi.'"/>
<input type="hidden" name="cv2" value="'.$kart_guvenlik_kodu.'"/>
<input type="hidden" name="Ecom_Payment_Card_ExpDate_Year" value="'.$kart_sonkullanma_tarihi_yil.'"/>
<input type="hidden" name="Ecom_Payment_Card_ExpDate_Month" value="'.$kart_sonkullanma_tarihi_ay.'"/>
<input type="hidden" name="cardType" value="'.$kart_tipi.'"/>
<input type="hidden" name="clientid" value="'.$clientId.'"/>
<input type="hidden" name="amount" value="'.$amount.'"/>
<input type="hidden" name="BOLUM" value="'.$bolum.'"/>
<input type="hidden" name="oid" value="'.$oid.'"/>
<input type="hidden" name="okUrl" value="'.$okUrl.'"/>
<input type="hidden" name="failUrl" value="'.$failUrl.'"/>
<input type="hidden" name="rnd" value="'.$rnd.'"/>
<input type="hidden" name="hash" value="'.$hash.'"/>
<input type="hidden" name="storetype" value="3d"/>
<input type="hidden" name="lang" value="tr"/>
<input type="hidden" name="currency" value="949"/>
</form>';
$form .= '<script type="text/javascript">document.pay_form.submit();</script>';
echo $form;
//print_r($this->session->data);
}
Я могу получить доступ ко всем сеансам до отправки формы в банк.
Функция обратного вызова ниже
function bank_response()
{
print_r($this->session->data);
}
Но после публикации на сайте банка данных о платеже на моем сайте, сеансы удаляются.
Сайт не работает из-за этой ошибки.
Данные, отправленные из банка, не совпадают с данными заказа на сайте.
Я возвращаюсь на сайт, потому что сеансы удалены.
Я могу получить доступ к сеансам, когда пытаюсь оплатить это время.
Я потратил много времени, чтобы решить проблему, но я не мог ее решить.
Пожалуйста, помогите мне.
Спасибо!