رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کامپوننت پرداخت آنلاین بانک ملت
#3
با توجه به اینکه سیستم پرداخت بانک ملت تغییرات زیادی داشته کامونت اصلاح شده و 100 تضمین شده را به تمامی آشپز های عزیز تقدیم می کنم :
کد پی‌اچ‌پی:
//you can find more about it in http://www.webuniq.com
//by : m. mousavi

<!doctype html>
<
html>
<
head>
    <
script>
        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""_self");
            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>
</head>
<body>

<?php
App
::import('Vendor''nusoap');
App::uses('Component''Controller');
Class 
MellatPaymentComponent extends Component
{

public function 
CheckStatus($ecode)
    {
                       
$tmess="شرح خطا:";
                       switch (
$ecode
                         {
                          case 
0:
                            
$tmess="تراکنش با موفقیت انجام شد";
                            break;
                          case 
11:
                            
$tmess="شماره کارت معتبر نیست";
                            break;
                          case 
12:
                            
$tmess"موجودی کافی نیست";
                            break;
                          case 
13:
                            
$tmess"رمز دوم شما صحیح نیست";
                            break;
                          case 
14:
                            
$tmess"دفعات مجاز ورود رمز بیش از حد است";
                            break;
                          case 
15:
                            
$tmess"کارت معتبر نیست";
                            break;
                          case 
16:
                            
$tmess"دفعات برداشت وجه بیش از حد مجاز است";
                            break;
                          case 
17:
                            
$tmess"کاربر از انجام تراکنش منصرف شده است";
                            break;
                          case 
18:
                            
$tmess"تاریخ انقضای کارت گذشته است";
                            break;
                          case 
19:
                            
$tmess"مبلغ برداشت وجه بیش از حد مجاز است";
                            break;
                          case 
111:
                            
$tmess"صادر کننده کارت نامعتبر است";
                            break;
                          case 
112:
                            
$tmess"خطای سوییچ صادر کننده کارت";
                            break;
                          case 
113:
                            
$tmess"پاسخی از صادر کننده کارت دریافت نشد";
                            break;
                          case 
114:
                            
$tmess"دارنده کارت مجاز به انجام این تراکنش نمی باشد";
                            break;
                          case 
21:
                            
$tmess"پذیرنده معتبر نیست";
                            break;
                          case 
23:
                            
$tmess"خطای امنیتی رخ داده است";
                            break;
                          case 
24:
                            
$tmess"اطلاعات کاربری پذیرنده معتبر نیست";
                            break;
                          case 
25:
                            
$tmess"مبلغ نامعتبر است";
                            break;
                          case 
31:
                            
$tmess"پاسخ نامعتبر است";
                            break;
                          case 
32:
                            
$tmess"فرمت اطلاعات وارد شده صحیح نیست";
                            break;
                          case 
33:
                            
$tmess="حساب نامعتبر است";
                            break;
                          case 
34:
                            
$tmess"خطای سیستمی";
                            break;
                          case 
35:
                            
$tmess"تاریخ نامعتبر است";
                            break;
                          case 
41:
                            
$tmess"شماره درخواست تکراری است";
                            break;
                          case 
42:
                            
$tmess"تراکنش Sale یافت نشد";
                            break;
                          case 
43:
                            
$tmess"قبلا درخواست Verify داده شده است";
                            break;
                          case 
44:
                            
$tmess"درخواست Verify یافت نشد";
                            break;
                          case 
45:
                            
$tmess"تراکنش Settle شده است";
                            break;
                          case 
46:
                            
$tmess"تراکنش Settle نشده است";
                            break;
                          case 
47:
                            
$tmess"تراکنش Settle یافت نشد";
                            break;
                          case 
48:
                            
$tmess"تراکنش Reverse شده است";
                            break;
                          case 
49:
                            
$tmess"تراکنش Refund یافت نشد";
                            break;
                          case 
412:
                            
$tmess"شناسه قبض نادرست است";
                            break;
                          case 
413:
                            
$tmess"شناسه پرداخت نادرست است";
                            break;
                          case 
414:
                            
$tmess"سازمان صادر کننده قبض معتبر نیست";
                            break;
                          case 
415:
                            
$tmess"زمان جلسه کاری به پایان رسیده است";
                            break;
                          case 
416:
                            
$tmess"خطا در ثبت اطلاعات";
                            break;
                          case 
417:
                            
$tmess"شناسه پرداخت کننده نامعتبر است";
                            break;
                          case 
418:
                            
$tmess"اشکال در تعریف اطلاعات مشتری";
                            break;
                          case 
419:
                            
$tmess"تعداد دفعات ورود اطلاعات بیش از حد مجاز است";
                            break;
                          case 
421:
                            
$tmess"IP معتبر نیست";
                            break;
                          case 
51:
                            
$tmess"تراکنش تکراری است";
                            break;
                          case 
54:
                            
$tmess"تراکنش مرجع موجود نیست";
                            break;
                          case 
55:
                            
$tmess"تراکنش نامعتبر است";
                            break;
                          case 
61:
                            
$tmess"خطا در واریز";
                            break;
                         }    
    return 
$ecode.':'.$tmess;
    }

    function 
startup(Controller $controller)
    {
        
$this->controller $controller;
    }

    private function 
getResRef($amount 0$url)
    {
        
$orderID    rand();
        
$date       date("Ymd");
        
$time       date("His");
        
$parameters = array(
            
'terminalId'     => Configure::read('Settings.pay.terminalId'),
            
'userName'       => Configure::read('Settings.pay.userName'),
            
'userPassword'   => Configure::read('Settings.pay.password'),
            
'orderId'        => $orderID,
            
'amount'         => $amount,
            
'localDate'      => $date,
            
'localTime'      => $time,
            
'additionalData' => '',
            
'callBackUrl'    => $url,
            
'payerId'        => "0"
        
);
        
$client     = new nusoap_client('https://pgwsf.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl');
        
$namespace  'http://interfaces.core.sw.bps.com/';

        return 
$client->call('bpPayRequest'$parameters$namespace);
    }

    public function 
paymentRequest($amount 0$url)
    {
        
$ResRef $this->getResRef($amount$url);
        
$ResRef explode(','$ResRef);

        
$ResCode $ResRef[0];
        
settype($ResCode"string");
        if (!empty(
$ResRef[1])) {
            
$RefId $ResRef[1];
            
settype($RefId"string");
        }

        if (isset(
$RefId))
            echo 
"<script>postRefId('" $RefId "');</script>";
        else
            echo 
"<script>alert('امکان اتصال وجود ندارد ، لطفاً دوباره تلاش کنید.');</script>";
    }
}

?>
</body>
</html> 

سوالی بود در خدمتم
طراحی سایت کاملا اختصاصی
پاسخ
سپاس شده توسط saleh ، Mehrdad ، cybercoder ، h.afkhami ، amirDev ، onlinewebsite


پیام‌های این موضوع
RE: کامپوننت پرداخت آنلاین بانک ملت - evinsoft - 2013/06/26, 10:38 PM

پرش به انجمن:


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