رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
درگاه پرداخت زرین پال
#1
سلام خدمت اساتید گرامی
بنده از درگاه پرداخت زرین پال برای سایتم استفاده میکنم
مشکلی که دارم در تابع برگشت از درگاه پرداخت هست که مقدار amout رو باید به تابع برگشتی پاس بدم؟
    function PayCredit()
    {
       $this->load->library('zarinpal');
       $merchant_id = "654654-948789-123456";
       $Credit = $this->input->post("Credit");
       $desc = "افزایش اعتبار";
       $call_back = "https://site.com/UserPanel/verifyPayCredit";
       if($this->zarinpal->webgate($merchant_id , $Credit, $desc, $call_back)){
           $authority = $this->zarinpal->getAuthority();
           $this->zarinpal->redirect();
       }
       else{
           $error = $this->zarinpal->getError();
       }
       $this->verifyPayCredit($Credit);
   }


تا اینجا میره به درگاه پرداخت و اوکی هست

مشکل در بخش دوم کدهست که میخواد از درگاه پرداخت برگرده و مقدار credit رو میخواد
من باید به این صورت به این تابع مقدار credit رو ارسال کنم؟ 
        $this->verifyPayCredit($Credit);


تابع برگشتی:
function verifyPayCredit($Credit)
    {
       $this->load->library('zarinpal');
       $merchant_id = "654654-948789-123456";
       $amount = $Credit;
       $authority = $_GET['Authority'];
       $this->load->model('User_model');
       if($_GET['Status'] == 'OK'){
           if($this->zarinpal->verify($merchant_id , $amount, $authority)){
               $refid = $this->zarinpal->getRefId();
               //$data = array(.....);
               if($this->User_model->UpdateCredit($data))
               {
                   $this->load->view('UserPanel/Credit');
               }

           }
           else{
               $error = $this->zarinpal->getError();
               $this->load->view('UserPanel/Credit',$error);
           }
       }
       else{
           echo 'cancel';
       }
   }
پاسخ
تشکر شده توسط:
#2
از دوستان کسی هست بنده رو کمک کنه؟
مقدار amout رو موقع برگشت از درگاه پرداخت چطور باید بگیرم
عذرخواهی بابت اسپم
پاسخ
تشکر شده توسط:
#3
جواب کوتاه: نمیتونین.

جواب کامل: شما باید موقع فرستادن کاربر به سمت درگاه بانک، یک رکورد در دیتابیس خودتون در جدول تراکنش‌ها ایجاد کنید و ID اون رو بعنوان Order ID برای درگاه بفرستین و AU رو بگیرین. در برگشت از درگاه بانکی، به شما AU و Order ID اعلام میشه که از اونجا میتونین Amount رو با جستجوی رکورد مربوطه توی دیتابیس خودتون پیدا کنید.
پاسخ
تشکر شده توسط: amir76




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