Yii Framework Forum: استفاده از درگاه پرداخت آنلاین - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

استفاده از درگاه پرداخت آنلاین

#1 User is offline   onikandish 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 23-December 12

Posted 19 July 2013 - 08:31 PM


سلام

تا حالا کسی یک درگاه پرداخت آنلاین تو سایتش که با یی نوشته شده باشه پیاده سازی کرده؟
ممنون میشم اگه بتونین منو راهنمایی کنین

1

#2 User is offline   Ostovar IT 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 76
  • Joined: 09-June 11
  • Location:iran, tehran

Posted 20 July 2013 - 01:06 AM

View Postonikandish, on 19 July 2013 - 08:31 PM, said:


سلام

تا حالا کسی یک درگاه پرداخت آنلاین تو سایتش که با یی نوشته شده باشه پیاده سازی کرده؟
ممنون میشم اگه بتونین منو راهنمایی کنین



سلام
این سوال چند وقت پیش مشابهش پرسیده شده بود، بحث پرداخت آن لاین مربوط به بانک میشه و در فریمورک نکته خاصی نداره ... در اصل شما با وب سرویسی که بانک در اختیارتون قرار میده کار میکنید، و هر بانک استاندارد های خاص خودش و روش کار خودش رو داره (متاسفانه)، پیشنهاد می کنم پس از دریافت اطلاعات وب سرویس، کارتون رو شروع کنید و اگر مشکلی بود در اینجا بپرسید.

تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
1

#3 User is offline   rezaonline.net 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 115
  • Joined: 20-June 12

Posted 20 July 2013 - 07:16 AM

کلاسهای اکثر بانکها رو نوشتم برای کدوم بانک میخواید ؟

rezaworkshop.ir - rezaonline.net/blog
php5 , mysql , html5 , css3 , jquery + ajax
0

#4 User is offline   onikandish 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 23-December 12

Posted 20 July 2013 - 07:54 PM

View Postrezaonline.net, on 20 July 2013 - 07:16 AM, said:

کلاسهای اکثر بانکها رو نوشتم برای کدوم بانک میخواید ؟


سلام ممنون از پاسخ ها
بانک ملت بیستر مورد نظرمه
1

#5 User is offline   rezaonline.net 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 115
  • Joined: 20-June 12

Posted 21 July 2013 - 09:55 AM

<?php

class mellat  
{
	const terminalID = 1000001;
	const username = 'wssddff';
    const password = 2655;
	
	
	//const webservice = 'https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw';
	//const webservice = 'https://pgwsf.bpm.bankmellat.ir:1443/pgwchannel/services/pgw';
        const webservice = 'https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw';

        

		/**

	* 	method send request to bank and get authority!
	*
	* @param $price int , toman تومان
	* @param $order_id int , unique id
	* @param $callback string , callback site
	* @return object , au: authority , go: bank link payment , status: the status of connection!
	**/
	public function request($price = NULL , $order_id = NULL , $callback = NULL)
	{
		$parameters = array(
				'terminalId' => self::terminalID ,
				'userName' => self::username ,
				'userPassword' => self::password ,
				'orderId' => $order_id ,
				'amount' => $price * 10 ,
				'localDate' => date("Ymd") ,
				'localTime' => date("His") ,
				'additionalData' => '' ,
				'callBackUrl' => $callback ,
				'payerId' => '0' ,
		);
			
			try
		{
			$client = new nusoap_client(self::webservice);
			$err = $client->getError();
			if($err)
				return -6;
		}
		catch(Exception $e)
		{
			Logs::model()->add('خطا در اتصال به بانک ملت','خطا : '.strip_tags($err));
			return -6;
		}
				
			$result = $client->call('bpPayRequest', $parameters, 'http://interfaces.core.sw.bps.com/');
			//print_r($result);
			$res = explode (',', $result);
			if( ! isset($res[0]) or $res[0] != "0" or ! isset($res[1]))
				return -6;

			else
			{
				return strip_tags($res[1]);
			}

			
		return -6;
	}
	
	


		/**
	* method to check verify transaction
	*
	* @param $price int , تومان
	* @param $order_id int , unique order id 
	* @param $au string , authority code
	* @return bool true/false 
	**/
	public $SaleReferenceId = '';
	public function verify($price = NULL ,$order_id = NULL , $au = NULL)
	{

		//print_r($_POST);
			$RefId = @$_POST['RefId']; // notNeed
			$ResCode = @$_POST['ResCode'];
			$SaleOrderId = (int) @$_POST['SaleOrderId'];
			$SaleReferenceId = @$_POST['SaleReferenceId'];
			//Logs::model()->add('SaleReferenceId',$SaleReferenceId .'-'.$RefId);
			
                        $this->SaleReferenceId = $SaleReferenceId;
                        /**/
			//check
			if($SaleOrderId != $order_id or $RefId!=$au or ! isset($_POST['ResCode']))
			{
				Logs::model()->add('برگشت بانک ملت','خطا : ورودی نامعتبر است !');
				return false;
			}
				
			if($ResCode !=0)
			{
				return false;
				#Logs::model()->add('برگشت بانک ملت','خطا : پرداخت انجام نشد .');
			}
			
		try
		{
			$client = new nusoap_client(self::webservice);
			$err = $client->getError();
			if($err)
				return false;
		}
		catch(Exception $e)
		{
			Logs::model()->add('خطا در برگشت ملت ','خطا : '.strip_tags($err));
			return false;
		}

				  
			$parameters = array(
					'terminalId' => self::terminalID ,
					'userName' => self::username ,
					'userPassword' => self::password ,
					'orderId' => $SaleOrderId ,
					'saleOrderId' => $SaleOrderId ,
					'saleReferenceId' => $SaleReferenceId
					);

				// Call the SOAP method
				unset($result);
				$result = $client->call('bpVerifyRequest', $parameters,'http://interfaces.core.sw.bps.com/');

				// Check for a fault
				//if ($client->fault) 
					//Logs::model()->add('برگشت بانک ملت','_خطا در اتصال به بانک .');

				
				$err = $client->getError();
				if ($err) 
				{
					Logs::model()->add('برگشت بانک ملت',"__خطا : " . strip_tags($err) );
					return false;
				}

				
				if(isset($result) and $result==0)
				{
					//settel
					unset($result);
					$result = $client->call('bpSettleRequest', $parameters,'http://interfaces.core.sw.bps.com/');
					if ($client->fault) 
					{
					Logs::model()->add('برگشت بانک ملت','خطا در اتصال به بانک .');
						return false;
					}

				
				$err = $client->getError();
				if ($err) 
				{
					Logs::model()->add('برگشت بانک ملت',"خطا : " . strip_tags($err) );
					return false;
				}

				
					if(isset($result) and $result==0)
					{
						return true;	
					}
				}
				return false;
	}
	
	/* go to bank by au */



	public function go2bank($id='')
	{
		?>
<html><head><meta charset='utf-8' /></head><body>
please wait ...
<form name='myform' action='https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat' method='POST'>
<input type='hidden'  name='RefId' value='<?php echo $id  ?>'>
</form>
<script language='javascript'>document.myform.submit()</script>
<!-- MobinPal Payment Webservice System desiged by RezaOnline.net -->
</body></html>
			 <?php
			 die;
	}
}

rezaworkshop.ir - rezaonline.net/blog
php5 , mysql , html5 , css3 , jquery + ajax
4

#6 User is offline   onikandish 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 23-December 12

Posted 21 July 2013 - 08:25 PM

View Postrezaonline.net, on 21 July 2013 - 09:55 AM, said:

[code]<?php
...


خیلی ممنون دمت گرم
0

#7 User is offline   Shahcheraghean 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 478
  • Joined: 12-December 12
  • Location:Mashhad, IRAN

Posted 24 July 2013 - 01:51 AM

ایول آقا رضا. خیلی از فردین بازیت خوشم آمد.
موفق و پیروز باشی انشاءالله.:D

www.shgn.ir
www.shgn.ir/yii-framework/
yii2.swsco.ir
In a world without any fences or walls,Who needs Gates or Windows!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users