رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
پرداخت درگاه بانک ملت
#1
سلام دوستان وقتتون بخیر 
برای پرداخت از درگاه بانک ملت استفاده میکنم 
زمانی که به طور عادی یه فرم میزارم و csrf میفرستم به اکشن pay درست عمل میکنه 
مشکل وقتیه که ابتدا اطلاعات  به یه اکشن دیگ ارسال میشن  و بعد داخل همون اکشن ریدایرکت میشه به اکشن pay ، تو این حالت یه صفحه سفید میاد دیگ به درگاه وصل نمیشه 
ممنون میشم راهنمایی کنید که این مشکل چطوری حل کنم 
راه های مختلفی رفتم اما متاسفانه جوابی نگرفتم 

return $this->redirect(['pay', 'id' => $order->idOrder]);
پاسخ
تشکر شده توسط:
#2
csrf را برای تست، برای اکشن (این متد بیفور اکشن رو تو کنترلتون اضافه کنید) مربوطه فعلا غیر فعال کنید و بررسی کنید و نتیجه را بفرمایید

public function beforeAction($action)
{
    if ($action->id =='pay') {
        $this->enableCsrfValidation = false;
    }
    return parent::beforeAction($action);
}
پاسخ
تشکر شده توسط: darya21 , YN97
#3
سلام متشکرم 

 این مورد شما رو قبلا تست کرده بودم جواب نداد
اما همون موقع که پرسیدم این کد و گذاشتم جواب گرفتم 

 
return $this->redirect(['pay', 'id' => $order->idOrder,'_csrf'=> Yii::$app->request->getCsrfToken()]);

اما نمیدونم کارم اشتباه هست یا ن؟؟؟!!!
پاسخ
تشکر شده توسط:
#4
اینجا دارید csrf token را می فرستید به اکشن pay. تو بعضی مواقع برای درخواست های ajax هم اینکار را می کنند ولی به طور عمومی با غیر فعال کردن csrf validation تو این نوع درخواست ها مشکل حل می شه. اما به هر حال روشی بوده که ازش جواب گرفتید
پاسخ
تشکر شده توسط: darya21




کاربران در حال بازدید این موضوع: 1 مهمان