رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کامپوننت پرداخت آنلاین بانک ملت
#1
Lightbulb 
کد پی‌اچ‌پی:
<?php
/*
    Mellat Iranian Bank payment component for cakePHP version 0.1 Beta 1. ;
    Rememeber that you need nusop libraries and copy them in to Vendors folder of your cakePHP Application. ;
    Written by Vahid Alimohamadi ;
    http://cybercoder.ir ;
    It is Free to use and develop by anyone. ;
*/
?>

<script language="javascript" type="text/javascript">    
        function postRefId (refIdValue) {
            var form = document.createElement("form");
            form.setAttribute("method", "POST");
            form.setAttribute("action", "https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat");         
            form.setAttribute("target", "formresult");
            var hiddenField = document.createElement("input");              
            hiddenField.setAttribute("name", "RefId");
            hiddenField.setAttribute("value", refIdValue);
            form.appendChild(hiddenField);

            document.body.appendChild(form);         
            form.submit();
            document.body.removeChild(form);
            
        }
</script>
<?php
    App
::import('Vendor','nusoap');
    
    Class 
MellatPaymentComponent extends object {
        function 
startup(&$controller)
        {
            
$this->controller $controller;
        }
        private function 
getResRef($amount=0){
            
$orderID =rand();
            
$date =  date("Ymd");
            
$time =  date("His");
            
$parameters = array(
                
'terminalId' => 'the_terminal_id_that_obtained_from_bank',
                
'userName' => 'the_username_that_obtained_from_bank',
                
'userPassword' => 'the_password_for_the_username',
                
'orderId' => $orderID,
                
'amount' => $amount,
                
'localDate' => $date,
                
'localTime' => $time,
                
'additionalData' =>  '',
                
'callBackUrl' => 'http://your_payment_address',
                
'payerId' => "0"
            
);
            
$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
            
$namespace='http://interfaces.core.sw.bps.com/';
            
            return 
$client->call('bpPayRequest'$parameters$namespace );
        }
        public function 
paymentRequest($amount=0) {
            
$ResRef=$this->getResRef($amount) ;

            
$ResRef=explode(',',$ResRef) ;
            
            
$ResCode=$ResRef[0] ;
            
settype($ResCode,"string");
            if (!empty(
$ResRef[1])) {
                
$RefId=$ResRef[1] ;
                
settype($RefId,"string") ;
            }
            
/* if $ResCode variable contains a non-zero number then You can Map error numbers to Messages yourself */
            
if (isset($RefId)) echo "<script language='javascript' type='text/javascript'>postRefId('" $RefId "');</script>";
        }
    }
?>

موفق باشید.
پاسخ
سپاس شده توسط mohsened ، farmad ، saleh ، sibetorsh ، rezaonline.net


پیام‌های این موضوع
کامپوننت پرداخت آنلاین بانک ملت - cybercoder - 2011/12/12, 03:35 AM

پرش به انجمن:


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