رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
درگاه پرداخت
#1
باسلام وخسته نباشید

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

قادر به تائید اطلاعات ارسالی شما نمی‌باشد.

اینم کد ویرفای:

    public function actionVerify($resnum,$refnum) {
$connection = \Yii::$app->db;
$model =new Payfund();
if($model->load(Yii::$app->request->post()) && $model->validate()) {
$models = $connection->createCommand("SELECT dargahpardakht_id FROM gateway where id=1");
$dargahpardakht_id = $models->queryScalar();
session_start();
error_reporting(0);

function MycURL($url, $p){
$ch = curl_init();//start curl
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);     
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_HEADER, 0);    
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);    
if ($p) {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
}
$result = curl_exec($ch);
curl_close($ch);
if ($result) return $result;
}

$user       = $_SESSION['user'];
$price      = $_SESSION['amount']; //Price By Toman
$TIME = time();
$resnum = $_POST['resnum'];
$refnum = $_POST['refnum'];
      $userid=Yii::$app->user->identity->id;           


if($refnum && $resnum) {
$ID = $dargahpardakht_id; // كد پذيرنده
$result = MycURL('http://dargahpardakht.com/webservice/verify.php',"id={$ID}&resnum={$resnum}&amount={$price}&refnum=".urlencode($refnum));
if ( $result == 1 ) {
$au = $refnum; 
$command = $connection->createCommand(
'UPDATE user SET money=money+'.$price.' WHERE id='.$userid.'');
           $command->execute();
         
   $connection->createCommand()
   ->insert('payfund', [
            'username' => $user,
                    'date' => time(),
                    'amount' => $price,
                    'au' => $au,
                    'status'=>1,])
   ->execute();
   $connection->createCommand()
   ->insert('history', [
            'userid' => $userid,
                    'date' => time(),
                    'text' => 'افزایش موجودی حساب.مبلغ:'.$price.'',
                    ])
   ->execute();
                return $this->render('suc',['model'=>$model]);

               } else {
          return $this->render('err',['model'=>$model]);
}
} else {
          return $this->render('err',['model'=>$model]);
}
       }
   }
البته وقتی ویرفای هم خالی میزارم مثلا یک اکو بازم میگه قادربه تایید نیست.

ممنون میشم راهنمایی کنید
پاسخ
تشکر شده توسط:




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