# زبان های اسکریپتی > PHP >  پرداخت الكترونيك بانك ملت

## nematia

براي ارتباط با درگاه پرداخت الكترونيك بانك ملت به خصوص در ايجاد redirect اول و ارسال مبلغ و نام پايگاه چه بايد كرد؟ هر چند بعيد ميدونم كسي جواب بده.

----------


## nematia

شايد دقيق تر بشه اينطور مطرح كرد: refID كه براي بانك ارسال ميشه، چطور ساخته ميشه؟

----------


## Bahram0110

بانك ملت تا حالا نديدم ولي بانك سامان و پارسيان نمونه فراوونه تو اينترنت

----------


## مهدی کرامتی

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

----------


## nematia

> بانك ملت تا حالا نديدم ولي بانك سامان و پارسيان نمونه فراوونه تو اينترنت


ميشه اگر سراغ داريد آدرس بديد كه به گوگل متوسل نشيم؟

درباره RefID هم ظاهرا يك تابع از بانك هست كه يك سري مقادير را ميگيره و يك عدد بر ميگردونه كه همون RefID ميشه.
يك سوال ديگه: براي ارتباط با بانك، آيا ما هم بايد Web Service راه اندازي كنيم؟ كسي تا حالا تو اين زمينه كار كرده؟

----------


## Bahram0110

تو اولين فرصت ميذارم

----------


## مهدی کرامتی

> براي ارتباط با بانك، آيا ما هم بايد Web Service راه اندازي كنيم؟ كسي تا حالا تو اين زمينه كار كرده؟


شما نباید وب سرویس راه اندازی کنید، بلکه از وب سرویسی که بانک راه اندازی کرده استفاده میکنید، یعنی شما Web Service Consumer خواهید بود. برای Consume کردن وب سرویس ها می توانید از NuSoap استفاده کنید. اگر در کار کردن با NuSoap.php مشکلی داشتید در اینترنت دنبال NuSphere phpEd بگردید، این برنامه محصول همان شرکتی است که NuSoap را ساخته، و یک ویزارد برای ایجاد Web Service Consumer با استفاده از NuSoap در بخش ابزارهایش دارد.

----------


## Bahram0110

سلام
اینم نمونه
(نتونستم اینجا آپلودش کنم)

http://hostcrypt.com/bahram0110/

----------


## zfarhad2000

چیزی که مطمئن هستم این هست که نحوه عملکرد سیستم بانک ملت کلا از پایه با بانک سامان تفاوت داره ولی شباهت هایی با سیستم پرداخت بانک پارسیان داره.

نحوه کار این طور هست که شما یک web service رو فراخوانی می‌کنید و به منزله آمادگی سایت شما برای ایجاد یک تراکنش مالی هست و بعد بانک به شما کدی رو میده که باید با استفاده از اون کد کاربر رو صفحه پرداخت بانک ملت هدایت کنید. در صفحه پرداخت بانک ملت تراکنش به صورت موفق یا ناموفق زده میشه و بعد دوباره کاربر به سایت شما بازگردانده میشه که برخی پارامترهایی به صورت POST هم براتون ارسال میشه که موفق بودن یا نبودن تراکنش رو بهتون نشون میده بعد شما باید یک web service دیگه فراخوانی کنید که 100٪ مطمئن بشید واقعا تراکنش با همان مبلغ موردنظر شما انجام شده یا نه.

وقتی با بانک قراردادی می‌بندید تمامی این اطلاعات به صورت یک Document کامل 30 - 40 صفحه‌ای بهتون داده میشه که توی اون Document همه چیز کامل توضیح داده شده و حتی برروی سرور تست بانک هم بهتون امکان تست بدون ریسک مالی رو میدن.

----------


## nematia

اتفاقا شيوه پرداخت ها خيلي به هم شبيه هستند.

----------


## nematia

خب- به يك جاهايي رسيديم. تموم كه شد اينجا هم ميذارم.

----------


## raha12

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


 من ماژول كامل در گاه پرداخت بانك سامان و پارسيان را نياز دارم آيا كسي دارد :متفکر:

----------


## yaqubian

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

----------


## sweb

راه استاندارد برای بهره بردن از دیا های یک سایت دیگه استفاده از *SOAP* Simple Object Access Protocol هستش. من با API های بانک های ایرانی کار نکردم ولی راه استانداردش همینه!
برای SOAP باید کار با XML (مخصوصاً بوسیله DOM) رو بلد باشید.

----------


## مهدی کرامتی

نیاز نیست برای کار کردن با SOAP اطلاع زیادی درباره XML داشته باشید. کتابخانه NuSoap کارهای لازم رو براتون انجام میده.

----------


## m-ezaty

خيلي خوب بود . مرسي...!

----------


## masooumi

> چیزی که مطمئن هستم این هست که نحوه عملکرد سیستم بانک ملت کلا از پایه با بانک سامان تفاوت داره ولی شباهت هایی با سیستم پرداخت بانک پارسیان داره.
> 
> نحوه کار این طور هست که شما یک web service رو فراخوانی می‌کنید و به منزله آمادگی سایت شما برای ایجاد یک تراکنش مالی هست و بعد بانک به شما کدی رو میده که باید با استفاده از اون کد کاربر رو صفحه پرداخت بانک ملت هدایت کنید. در صفحه پرداخت بانک ملت تراکنش به صورت موفق یا ناموفق زده میشه و بعد دوباره کاربر به سایت شما بازگردانده میشه که برخی پارامترهایی به صورت POST هم براتون ارسال میشه که موفق بودن یا نبودن تراکنش رو بهتون نشون میده بعد شما باید یک web service دیگه فراخوانی کنید که 100٪ مطمئن بشید واقعا تراکنش با همان مبلغ موردنظر شما انجام شده یا نه.
> 
> وقتی با بانک قراردادی می‌بندید تمامی این اطلاعات به صورت یک Document کامل 30 - 40 صفحه‌ای بهتون داده میشه که توی اون Document همه چیز کامل توضیح داده شده و حتی برروی سرور تست بانک هم بهتون امکان تست بدون ریسک مالی رو میدن.


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

----------


## Rink.e

با عرض سلام خدمت همه دوستان

من فایلهای بانک ملت را میزارم اما خیلی ساختارش با بانک سامان و پارسیان فرق کرده
از شما عزیزان میخوام بگویید چطوری میشه آنرا به بانک ملت وصل کرد

ممنون میشم کمکم کنید. خدا قوت ،راستی این را برای سیستم کمک های مردمی به کانون ناشنوایان یزد به نشانی deafyazd.com میخوام..

اگر میشه نمونه مثال ارسال مقادیر به بانک مشابه مثال بانک سامان که قبلا در این سایت قرار داده شد بزارید.

پیشاپیش از همکاری همه شما ممنونم

----------


## Rink.e

با سلام
راستی این خطا چیه؟

*Fatal error*:  Cannot redeclare class soapclient in */home/deafyazd/public_html/payment/sin/lib/nusoap.php* on line *15864*

----------


## مهدی کرامتی

بدون دیدن سورسی که از این کلاس استفاده میکنه نمیشه نظر داد.

----------


## Rink.e

با سلام
آدرس این سایت اینه:http://www.payment.deafyazd.com/


وقتی روی submit کلیک می کنی:
این خطا میده فکر کنم مال nusoap.php است ولی کاملا گیج و کیش و مات شدیم


*Warning*:  SoapClient::SoapClient() expects parameter 2 to be array, boolean given in */home/deafyazd/public_html/payment/Bank_Mellat_Soap.php* on line *18*

*Fatal error*: Uncaught SoapFault exception: [Client] SoapClient::SoapClient() [<a href='soapclient.soapclient'>soapclient.soapclient  </a>]: Invalid parameters in /home/deafyazd/public_html/payment/Bank_Mellat_Soap.php:18 Stack trace: #0 /home/deafyazd/public_html/payment/Bank_Mellat_Soap.php(18): SoapClient->SoapClient('http://217.218....', true) #1 {main} thrown in */home/deafyazd/public_html/payment/Bank_Mellat_Soap.php* on line *18*


تو رو خدا هر که می دانه کمک کنه بد جوری لازم دارم

----------


## Rink.e

کسی نیست جواب بده؟

----------


## hadi\m

با سلام 
من از طریق بانک اقتصاد نوین پرداخت انلاین را ثبت نام کرده و سورسهای موجود را دریافت نموده ام وکارهای زیر را انجام داده ام ولی به مشکلی برخورد نموده ام که در صورت امکان راهنمایی بفرمایید
1- یک صفحه ای از سایت را برای تعیین مبلغ واریز مشتری در نظرگرفته و کدهای php مربوط به ادرس پست .مبلغ ای دی  وغیره ای که لازم است را به ان داده ام 
2- با زدن دکمه پرداخت  وارد سایت پرداخت بانک اقتصاد نوین می ود 
حال مکلی که دارم نمی توانم تنظیمات صفحه را طوری انجام دهم که با تعیین مبلغ توسط مشتری و وارد نمودن مشخصات خود این مبلغ بعنوان Amount و مشخصاتش بعنوانID اضافه گردد تا همان مبلغ را از وی کسر نمایید لینک نمونه 
http://sabanetkia.com/online.htm

----------


## as13851365

شما مطمئن هستید که مبلغ را به المنت درستی با نام درست ارسال می کنید ؟

به حروف توجه کنید ( به بزرگی و کوچکی حروف نام المنت )

----------


## hadi\m

من احساس می کنم در برنامه نویسیش مکل دارم چرا که مبلغ انتخابی و اسم یوزر را نتوانستم به عنوان Amount , ID تعریف کنم .
چگونه این دو را می توانم به عنوان دو موضوع فوق در نظر بگیرم؟

----------


## as13851365

دوست عزیز در کد صفحه شما اگه دقت کرده باشید شما از همچین کدی استفاده کردید :


```
<INPUT id=Amount type=hidden value=0 name=Amount> 
<INPUT id=MID type=hidden value=00109159-115954 name=MID>
<INPUT id=ResNum type=hidden name="">
<INPUT id=RedirectURL type=hidden value=http://www.sabanetkia.com/ name=RedirectURL> 
```

حالا شما می گید چرا مقدار 0 به صفحه http://213.217.42.116/CardServices/controller ارسال می شه !!!

خوب باید مقدار صفر ارسال بشه چون شما مقدار صفر را دارید ارسال میکنید value=0 name=Amount 
برای این که مقدار مورد نظر را ارسال کنید شما باید مقدار مورد نظر را در فیلد Amount مقدار دهی کنید 

در ضمن مقداردهی MID شما انجام شده فقط مقداردهی Amount باقی ماده که اگر آن را هم انجام بدید مشکل حل می شه

----------


## hadi\m

> دوست عزیز در کد صفحه شما اگه دقت کرده باشید شما از همچین کدی استفاده کردید :
> 
> 
> ```
> <INPUT id=Amount type=hidden value=0 name=Amount> 
> <INPUT id=MID type=hidden value=00109159-115954 name=MID>
> <INPUT id=ResNum type=hidden name="">
> <INPUT id=RedirectURL type=hidden value=http://www.sabanetkia.com/ name=RedirectURL> 
> ```
> ...


دوست عزیز ممنون از توجهت من می خواهم مقدار قیمتی که در price3 یا همون هزینه کل را به عنوان amount مخص نمایم با چه کدی می توانم این کار را انجام دهم ؟

----------


## saidshp

> *Fatal error*:  Cannot redeclare class soapclient in */home/deafyazd/public_html/payment/sin/lib/nusoap.php* on line *15864*


در php5 اکستنشن  php_soap و ماژول nusoap دو کلاس هم نام وجود داره به نام soapclient شما باید از یکی از این دو استفاده کنید. اگه هردو فعال باشه این خطا رو میده





> *Fatal error*: Uncaught SoapFault exception: [Client] SoapClient::SoapClient() [<a href='soapclient.soapclient'>soapclient.soapclient </a>]: Invalid parameters in /home/deafyazd/public_html/payment/Bank_Mellat_Soap.php:18 Stack trace: #0 /home/deafyazd/public_html/payment/Bank_Mellat_Soap.php(18): SoapClient->SoapClient('http://217.218....', true) #1 {main} thrown in */home/deafyazd/public_html/payment/Bank_Mellat_Soap.php* on line *18*


 یک خطای exception هست که در ابجکت SoapFault قرار میگیره که رهگیری نشده  با یه بلاک try{} رهگیریش کنید



> *Warning*:  SoapClient::SoapClient() expects parameter 2 to be array, boolean given in */home/deafyazd/public_html/payment/Bank_Mellat_Soap.php* on line *18*


این هم احتمالا مربوط به دو پارامتر ارسالی شما به این متد هست که باید بررسی کنید

----------


## hadi\m

> دوست عزیز ممنون از توجهت من می خواهم مقدار قیمتی که در price3 یا همون هزینه کل را به عنوان amount مخص نمایم با چه کدی می توانم این کار را انجام دهم ؟


دوستان در صورت امکان راهنمایی بفرمایید

----------


## hamedx

با سلام خدمت همه دوستان گرامی

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

دانلود سرس کد

----------


## yaqubian

دوست عزیز
لینک دانلودتون خرابه!!!
موفق باشید

----------


## احمد سامعی

> من با API های بانک های ایرانی کار نکردم ولی راه استانداردش همینه!


من مي خوام با بانك ليبرتي كار كنم شما مي توني كمك كني ؟
شما با چه بانكي از خارج كار كردين ؟ مي تووني يكم اطلاعات بهم بدي و نحوه بستن قرارداد با اونها چطوري ؟

----------


## ariashop

برای پرداخت الکترونیک حالا جدای از بانک ملت ، مگه نباید اول شرکت ثبت شده داشته باشیم و در لیست بانک قرار بگیریم ؟ یا نه با حساب شخصی هم می تونیم امکان پرداخت اینترنتی رو فراهم کنیم ؟

----------


## احمد سامعی

> برای پرداخت الکترونیک حالا جدای از بانک ملت ، مگه نباید اول شرکت ثبت شده داشته باشیم و در لیست بانک قرار بگیریم ؟ یا نه با حساب شخصی هم می تونیم امکان پرداخت اینترنتی رو فراهم کنیم ؟


من شخصاً از بانك نپرسيدم اما تو سايت سامان نوشته بايد شركت ثبت شده يا مغازه با پروانه كسب باشه به لينك زير از سايت سامان يك نگاه بكن

آشنایی با مراحل انعقاد قرارداد پذیرندگان اینترنتی

----------


## Saeed_m_Farid

با سلام
نمیدونم اون دوستی که سوال رو پرسید هنوز تو سایت فعال هستش یا نه (چون از تاریخ ازسال تاپیک، فعالیتی تا الان نداشته) ولی حداقل واسه سایر دوستان پست میزنم :




> برای پرداخت الکترونیک حالا جدای از بانک ملت ، مگه نباید اول شرکت ثبت شده داشته باشیم و در لیست بانک قرار بگیریم ؟ یا نه با حساب شخصی هم می تونیم امکان پرداخت اینترنتی رو فراهم کنیم ؟





> من شخصاً از بانك نپرسيدم اما تو سايت سامان نوشته بايد شركت ثبت شده يا مغازه با پروانه كسب باشه به لينك زير از سايت سامان يك نگاه بكن
> 
> آشنایی با مراحل انعقاد قرارداد پذیرندگان اینترنتی


بانک ملت که حتماً registration میخواد، یعنی یه IP از شرکت طرف قرارداد میگیره و 100 روز!!! بعد وب سرویس موردنظر رو واسه IP موردنظر باز میکنه، من PHP کار نیستم ولی با #C از وب سرویسهای بانک ملت دارم استفاده میکنم، ضمناً سایتی هم واسه پرداخت نداریم و از یه طریق دیگه (تو شکل ضمیمه) از وب سرویسهاش دارم استفاده میکنم ولی همکاران، از وب سرویسی مشابه همین وب سرویس دارن واسه وب سایتشون استفاده می کنن.

وب سرویس موردنظر (پرداخت اینترنتی بانک ملت) با جاوا نوشته شده و روی JBoss آپ کردنش. من کد سی شارپ تولید شده از WSDL وب سرویس اونا رو اینجا میذارم، ولی باید درنظر داشته باشین این دقیقاً اون چیزی نیست که شما ازش استفاده می کنین، چون احتمالا کار من با شما فرق داره (من نیازی به redirect به سایتم و session و اینا ندارم)؛ فقط دوتا مقداری که بر میگردونه (یعنی refID و transactionStatus) واسه من کافیه و نسبت به اون تصمیم می گیرم : 

namespace BankBillService
{
    [WebServiceBinding(Name = "BillPaymentImplServiceSoapBinding", Namespace = "http://service.psp.bps.com/")]
    [DesignerCategory("code")]
    [GeneratedCode("System.Web.Services", "2.0.50727.1433")]
    [DebuggerStepThrough]
    public class BillPaymentImplService : SoapHttpClientProtocol
    {
        public BillPaymentImplService();

        public event billPaymentCompletedEventHandler billPaymentCompleted;
        public event billPaymentInquiryCompletedEventHandler billPaymentInquiryCompleted;
        public event inquiryCompletedEventHandler inquiryCompleted;

        public IAsyncResult BeginbillPayment(int terminalId, string username, string password, string transactionDate, string transactionTime, string PAN, string PIN, string PIN2, string CVV2, string expirationDate, string billId, string paymentId, int amount, string payerId, AsyncCallback callback, object asyncState);
        public IAsyncResult BeginbillPaymentInquiry(int terminalId, string username, string password, string billId, string paymentId, AsyncCallback callback, object asyncState);
        public IAsyncResult Begininquiry(int terminalId, string username, string password, long transactionId, AsyncCallback callback, object asyncState);
        [SoapDocumentMethod("", RequestNamespace = "http://service.psp.bps.com/", ResponseNamespace = "http://service.psp.bps.com/", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
        public wsResponse billPayment(int terminalId, string username, string password, string transactionDate, string transactionTime, string PAN, string PIN, string PIN2, string CVV2, string expirationDate, string billId, string paymentId, int amount, string payerId);
        public void billPaymentAsync(int terminalId, string username, string password, string transactionDate, string transactionTime, string PAN, string PIN, string PIN2, string CVV2, string expirationDate, string billId, string paymentId, int amount, string payerId);
        public void billPaymentAsync(int terminalId, string username, string password, string transactionDate, string transactionTime, string PAN, string PIN, string PIN2, string CVV2, string expirationDate, string billId, string paymentId, int amount, string payerId, object userState);
        [SoapDocumentMethod("", RequestNamespace = "http://service.psp.bps.com/", ResponseNamespace = "http://service.psp.bps.com/", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
        public long billPaymentInquiry(int terminalId, string username, string password, string billId, string paymentId);
        public void billPaymentInquiryAsync(int terminalId, string username, string password, string billId, string paymentId);
        public void billPaymentInquiryAsync(int terminalId, string username, string password, string billId, string paymentId, object userState);
        public void CancelAsync(object userState);
        public wsResponse EndbillPayment(IAsyncResult asyncResult);
        public long EndbillPaymentInquiry(IAsyncResult asyncResult);
        public string Endinquiry(IAsyncResult asyncResult);
        [SoapDocumentMethod("", RequestNamespace = "http://service.psp.bps.com/", ResponseNamespace = "http://service.psp.bps.com/", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
        public string inquiry(int terminalId, string username, string password, long transactionId);
        public void inquiryAsync(int terminalId, string username, string password, long transactionId);
        public void inquiryAsync(int terminalId, string username, string password, long transactionId, object userState);
    }
}نحوه استفاده اش هم تو #C هست که اگه فکر میکنین به دردتون میخوره بذارمش اینجا.

کلاً سه - چهار تا تابع داره که من دو تا بدردبخورش رو بدون توضیح پارامترهاش آوردم :

billPayment که همون تابع پرداخته و wsResponse برمیگردونه که دوتا مقدار ذکر شده رو تو خودش داره.inquiry که اگه پرداختی انجام شده باشه و شما شماره پیگیری رو داشته باشین، نتیجه عملیات انجام گرفته رو تو یه رشته برمیگردونه.
امیدوارم به درد دوستان خورده باشه ...

----------


## <body>

سلام و تشکر از همه

دوستان عزیز متاسفانه من با این سیستم پرداخت ملت با مشکل مواجه شدم میشه کمکم کنید 

DEMO 

در لینک بالا سیستم نصب شده ولی ارور میده میتونید برام بررسی بفرمایید دلیل چیه ؟

با تشکر از لطفتون :قلب:

----------


## <body>

سلام 

از دوستان کسی فعالیتی تجربه ای در این ضمینه نداشته ؟

----------


## parsaman

سلام دوستان عزیز 
بنده محمدی هستم و می خواهم برای ساتم یک سیستم پرداخت آلاین با کارتهای عضو شتاب راه اندازی کنم اگر شما امکان انجام این کار دارید با من تماس بگیرید و قیمت خودتونو اعلام کنید.
09354197725
09350158659
44262115
arm12058atgmaildotcom

توضیحات :

سیستمی می خواهم که با دیتا بیس مرتبط است و با soap برگشتی از بانک اکانت کاربر را خودکار شارژ میکند.

سیستم php

----------


## pasargadteam

با درود بر همگی

اول از همه بگم که اسکریپت بانک ملت رو اینجا ضمینه کردم.

دوم اینکه یکسری اطلاعات بدم که به دست آوردم.

در مورد بانک های ایران بانک ملت , ملی با اشخاص حقوقی (شرکت و ادارات) قرارداد میبندندنه با حقیقی ها (اشخاص). 
بانک هایی چون پارسیان , سامان , پاسارگاد ,اقتصاد نوین و ... هم حقیقی و هم حقوقی هستند. 

اما با سخت گیری های فراوان از جمله چک 20میلیون ریالی در وجه شرکت پارسیان و سفته.
بانک سامان هم که پروانه کسب میخواد چیزای دیگه بانک های دیگه.

خدمتون عرض کنم سیستم بانک پارسیان همون سیستم بانک سامان است چون از خود بانک سامان خریدند. بماند این وسط چی شد که کم آوردند و رفتندخریدند.

توی پرداخت های آنلاین من سامان و ملت رو تأیید میکنم و بعد ملی و پارسیان رو.

درضمن دوستمون گفته بودند 100روز طول میکشه که آی پی ست بشه در بانک ملت و ی یه همچین چیزی . خیر اینطوری نیست. نهایت هر بانکی باشه سه روز طول میکشه که نامه آی پی شما اوکی بشه. سرور بنده الان آی پیش در بانک ملت هست . 


با سپاس

----------


## masoudnoori

در کل چیز مفیدی پیدا نکردم توی این تاپیک!

----------


## Saeed_m_Farid

> درضمن دوستمون گفته بودند 100روز طول میکشه که آی پی ست بشه در بانک ملت و ی یه همچین چیزی . خیر اینطوری نیست. نهایت هر بانکی باشه سه روز طول میکشه که نامه آی پی شما اوکی بشه. سرور بنده الان آی پیش در بانک ملت هست .


درسته که من هم دیر این پست شما رو دیدم ولی اولاً 100 روز یه تمثیل بود نه اینکه واقعاً 100 روز طول بکشه! (100 روز = خیلی زیاد)



> بانک ملت که حتماً registration میخواد، یعنی یه IP از شرکت طرف قرارداد میگیره و 100 روز!!!


از طرف دیگه شما بعد 10 ماه جواب پست بنده رو دادید که تو این مدت خیلی  چیزها تغییر کردن و قبلاً قضیه خیلی متفاوت تر از این بود...
@masoudnoori شما دنبال چی میگشتی که (حالا مفید یا غیرمفید!) پیدا نکردی؟

----------


## ABDOLHAMID(R@iny)

سلام خسته نباشید. این اولین پست من توی این انجمنه امیدوارم بتونم فعالیت داشته بشم.
امروز من ترمینال تستی های بانک ملت رو گرفتم. ولی ارور میده. وقتی که اطلاعات شرکت رو به بانک میدید بعد از نهایت 1 روز بهتون یه ایمیل میده که توش حاویه ترمینال آیدی، یوزرنیم و پسورد هست.
+ سورس کد به 3 زبان مختلف و + سورس کد کاملا آژاکسی + یه پی دی اف که توضیحات لازم رو داده.
توجه: این بسته تازه ایجاد شده من مال این دوستمون رو دانلود کردم و از یکی از بچه ها که بستش رو گرفته بودم با این فرق داشت.
توی این بسته کار رو یکم راحت تر کردند و فرم رو هم خودشون برای تست طراحی کردند.
خب ولی بازم من مشکل دارم! وقتی که سورس کد php رو آپلود میکنی، وقتی که صفحه default.php که حاویه فرم هست رو فراخوانی میکنی، فرم کامل نمایش داده میشه ولی پایینش هم ارور میده:
اینجاست نمونش: http://www.iranthemes.com/mellat/default.php
وقتی که ترمینال آیدی و یوزرنیم و پسورد رو وارد میکنم و اطلاعات فرم پرداخت رو پر میکنم و دکمه pay رو میزنم باز همین صفحه لود میشه و اتفاقی نمیفته!
سورس کد php و pdf رو اینجا ضمیمه کردم. pdf هم تغییر کرده. ترمینال های تستی و عملیاتی هم تغییر کرده ولی رو قبلی ها هم جواب میده. اگر کسی میتونه راهنمایی کنه!

----------


## masoudnoori

> سلام خسته نباشید. این اولین پست من توی این انجمنه امیدوارم بتونم فعالیت داشته بشم.
> امروز من ترمینال تستی های بانک ملت رو گرفتم. ولی ارور میده. وقتی که اطلاعات شرکت رو به بانک میدید بعد از نهایت 1 روز بهتون یه ایمیل میده که توش حاویه ترمینال آیدی، یوزرنیم و پسورد هست.
> + سورس کد به 3 زبان مختلف و + سورس کد کاملا آژاکسی + یه پی دی اف که توضیحات لازم رو داده.
> توجه: این بسته تازه ایجاد شده من مال این دوستمون رو دانلود کردم و از یکی از بچه ها که بستش رو گرفته بودم با این فرق داشت.
> توی این بسته کار رو یکم راحت تر کردند و فرم رو هم خودشون برای تست طراحی کردند.
> خب ولی بازم من مشکل دارم! وقتی که سورس کد php رو آپلود میکنی، وقتی که صفحه default.php که حاویه فرم هست رو فراخوانی میکنی، فرم کامل نمایش داده میشه ولی پایینش هم ارور میده:
> اینجاست نمونش: http://www.iranthemes.com/mellat/default.php
> وقتی که ترمینال آیدی و یوزرنیم و پسورد رو وارد میکنم و اطلاعات فرم پرداخت رو پر میکنم و دکمه pay رو میزنم باز همین صفحه لود میشه و اتفاقی نمیفته!
> سورس کد php و pdf رو اینجا ضمیمه کردم. pdf هم تغییر کرده. ترمینال های تستی و عملیاتی هم تغییر کرده ولی رو قبلی ها هم جواب میده. اگر کسی میتونه راهنمایی کنه!


منم دقیقا همین مشکل رو دارم

----------


## HAMRAHSOFT.IR

دوستان كسي ماژول بانك ملت را كامل داره كه بتوان روي هاست نصب كرد؟

----------


## mahdicomp

> دوستان كسي ماژول بانك ملت را كامل داره كه بتوان روي هاست نصب كرد؟


بابا یکی جواب بده دیگه مدیری چیزی نداره اینجا 
برنامه نویس که اینجوری نبود

----------


## HAMRAHSOFT.IR

دوستان كسي اين ماژول كار نكرده؟

----------


## pasargadteam

> سلام خسته نباشید. این اولین پست من توی این انجمنه امیدوارم بتونم فعالیت داشته بشم.
> امروز من ترمینال تستی های بانک ملت رو گرفتم. ولی ارور میده. وقتی که اطلاعات شرکت رو به بانک میدید بعد از نهایت 1 روز بهتون یه ایمیل میده که توش حاویه ترمینال آیدی، یوزرنیم و پسورد هست.
> + سورس کد به 3 زبان مختلف و + سورس کد کاملا آژاکسی + یه پی دی اف که توضیحات لازم رو داده.
> توجه: این بسته تازه ایجاد شده من مال این دوستمون رو دانلود کردم و از یکی از بچه ها که بستش رو گرفته بودم با این فرق داشت.
> توی این بسته کار رو یکم راحت تر کردند و فرم رو هم خودشون برای تست طراحی کردند.
> خب ولی بازم من مشکل دارم! وقتی که سورس کد php رو آپلود میکنی، وقتی که صفحه default.php که حاویه فرم هست رو فراخوانی میکنی، فرم کامل نمایش داده میشه ولی پایینش هم ارور میده:
> اینجاست نمونش: http://www.iranthemes.com/mellat/default.php
> وقتی که ترمینال آیدی و یوزرنیم و پسورد رو وارد میکنم و اطلاعات فرم پرداخت رو پر میکنم و دکمه pay رو میزنم باز همین صفحه لود میشه و اتفاقی نمیفته!
> سورس کد php و pdf رو اینجا ضمیمه کردم. pdf هم تغییر کرده. ترمینال های تستی و عملیاتی هم تغییر کرده ولی رو قبلی ها هم جواب میده. اگر کسی میتونه راهنمایی کنه!


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

----------


## parsbin

من هم به همین مشکل برخوردم.
با اون default.php  چیکار باید کرد؟ کاری انجام نمیده.




> سلام خسته نباشید. این اولین پست من توی این انجمنه امیدوارم بتونم فعالیت داشته بشم.
> امروز من ترمینال تستی های بانک ملت رو گرفتم. ولی ارور میده. وقتی که اطلاعات شرکت رو به بانک میدید بعد از نهایت 1 روز بهتون یه ایمیل میده که توش حاویه ترمینال آیدی، یوزرنیم و پسورد هست.
> + سورس کد به 3 زبان مختلف و + سورس کد کاملا آژاکسی + یه پی دی اف که توضیحات لازم رو داده.
> توجه: این بسته تازه ایجاد شده من مال این دوستمون رو دانلود کردم و از یکی از بچه ها که بستش رو گرفته بودم با این فرق داشت.
> توی این بسته کار رو یکم راحت تر کردند و فرم رو هم خودشون برای تست طراحی کردند.
> خب ولی بازم من مشکل دارم! وقتی که سورس کد php رو آپلود میکنی، وقتی که صفحه default.php که حاویه فرم هست رو فراخوانی میکنی، فرم کامل نمایش داده میشه ولی پایینش هم ارور میده:
> اینجاست نمونش: http://www.iranthemes.com/mellat/default.php
> وقتی که ترمینال آیدی و یوزرنیم و پسورد رو وارد میکنم و اطلاعات فرم پرداخت رو پر میکنم و دکمه pay رو میزنم باز همین صفحه لود میشه و اتفاقی نمیفته!
> سورس کد php و pdf رو اینجا ضمیمه کردم. pdf هم تغییر کرده. ترمینال های تستی و عملیاتی هم تغییر کرده ولی رو قبلی ها هم جواب میده. اگر کسی میتونه راهنمایی کنه!

----------


## HAMRAHSOFT.IR

به زبان دانت نوشتم اينم نمونه كار كسي خواست ايميل برن تا با قيمت مناسب تحويل بهش بدم

----------


## parsbin

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

----------


## parsbin

این طوری از soap استفاده میکنم.

$url='https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl';
if (extension_loaded('soap')) 
    { 
        $client = new SoapClient($url);
    }
    else
    {
    require_once("lib/nusoap.php");
    $client = new SoapClient($url);
    } 

و این ارور رو میگیرم.
[06-Oct-2010 07:16:49] PHP Fatal error:  Uncaught SoapFault exception: [Client] Function ("call") is not a valid method for this service in /home/public_html/mellat/default.php:357 Stack trace: #0 [internal function]: SoapClient->__call('call', Array) #1 /home/public_html/mellat/default.php(357): SoapClient->call('bpPayRequest', Array, 'http://interfac...') #2 {main}   thrown in /home/public_html/mellat/default.php on line 357

----------


## امراله نعمتی

ماجول پرداخت بانک ملت برای اپن کارت فارسی در لینک زیر هست:
http://foroshandegan.com/developers.php

----------


## alireza55627

اسکريپت پرداخت بانک ملت با PHP که بدون مشکل کار میکنه.
فقط توجه کنيد که :
1. نسخه پی اچ پی شما بالای 5 باشه
2. php_curl رو تو php.ini فعال کنيد

----------


## 98patogh2

> اسکريپت پرداخت بانک ملت با PHP که بدون مشکل کار میکنه.
> فقط توجه کنيد که :
> 1. نسخه پی اچ پی شما بالای 5 باشه
> 2. php_curl رو تو php.ini فعال کنيد




آقا من الان اینو نصب کردم اما خطای 21 میده که در سایت بانک ملت یعنی پذیرنده معتبر نیست در صورتی که من معتبر هستم و با استکریپت های داغون دیگه میره به سایت بانک اما بدردم نمیخوره ماله شما خیلی خوبه

فکر می کنید مشکل از اینه که hp_curl رو تو php.ini فعال نیست یا شاید نباشه /

----------


## mahdicomp

سلام چون شما هنوز درگاه تستی دارین و هنوز فعال نشدین کد را ببینید  اینو $client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); 
با این  $client = new soapclient('https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); عوض کن 
. اینو  form.setAttribute("action", "https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat");  با این 
 form.setAttribute("action", "https://pgwtest.bpm.bankmellat.ir/pgwchannel/startpay.mellat");     عوض کن موفق باشی

----------


## 98patogh2

مرسی مشکلم حل شد

----------


## love20

من نصب کردم ولی این ارور رو میده 


```
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl' : Start tag expected, '<' not found in /home/avin/public_html/mellat/index.php:46 Stack trace: #0 /home/avin/public_html/mellat/index.php(46): SoapClient->SoapClient('https://pgwstes...') #1 {main} thrown in /home/avin/public_html/mellat/index.php on line 46
```

خط 46 هم که میشه این: 
$client = new soapclient('https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');

----------


## nimadb55

> اسکريپت پرداخت بانک ملت با PHP که بدون مشکل کار میکنه.
> فقط توجه کنيد که :
> 1. نسخه پی اچ پی شما بالای 5 باشه
> 2. php_curl رو تو php.ini فعال کنيد


آقا خیلی ممنون کلی کمک کردی به من! از به پرداخت پرسیدم گفتن اطلاع نداریم یک ساعت دیگه تلفن بزن و .. خلاصه پیچوندن!!!
 سایتم رو از PHP4 بردم به PHP5 بعد خرید از بانک ملت با خطای Internal Server مواجه شد!!! و با توجه به کد شما راه حل بصورت زیر شد
در کدی که توسط به پرداخت بانک ملت به کاربرا داده میشه باید خط زیر
$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');با خط زیر عوض بشه$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); 

دیگر هیچ تغییری لازم نیست و میتوانید با PHP5 کار کنید!!!!
========================================
*دانلود نرم افزار آموزشی*
دانلود 65 نرم افزار آموزشی با لینک مستقیم
*نرم افزار* *آموزش فتوشاپ* *(حجم 157MB)* *دانلود مستقيم (تمامي بخشها)*

----------


## niazejahan

> اسکريپت پرداخت بانک ملت با PHP که بدون مشکل کار میکنه.
> فقط توجه کنيد که :
> 1. نسخه پی اچ پی شما بالای 5 باشه
> 2. php_curl رو تو php.ini فعال کنيد


مهندس این php_curl چطور فعال کنم
میشه پارامتر کاملشو بدید

----------


## هادی2020

من با اصطلاحاتی که برای برقراری یه اتصال صحیح هستش آشنایی ندارم خواهشن یه مثال روی همین نمونه کد قرار بدین

----------


## arash_hemmat

دقت کنید که همه کد‌هایی که بانکها به عنوان sample میدن برای php4 نوشته شده و استفاده از اونها درست نیست. در php5 یک soap client بسیار قدرتمند وجود داره که استفاده از کلاسهایی مثل nusoap رو بیهوده میکنه. به این نمونه کد برای اتصال به بانک ملت دقت کنید:


try {
    $client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl', array('uri' => 'http://interfaces.core.sw.bps.com/','trace'=>true));
    $result = $client->bpPayRequest(array(
        'terminalId' => 000000,
        'userName' => 'xxxxx',
        'userPassword' => 'xxxxx',
        'orderId' => 123456,
        'amount' => 10000,
        'localDate' => date("ymd"),
        'localTime' => date("His"),
        'additionalData' => 'Additional Description Data',
        'callBackUrl' => 'http://example.com/callback',
        'payerId' => 0
    ));

} catch (Exception $e) {
    print_r($e->getMessage());
}

----------


## aliali

دوستان عزيز من يك سوال دارم لطفاً راهنمايي كنيد اونهم اينه كه من پرداخت آنلاين از بانك ملت گرفتم ميخواستم ببينم اون فايلهايي را كه به من دادند را بايد در هاستم آپلود كنم؟ دقيقاً در كدام پوشه بايد آپلود كنم؟ و در كدام فايلها بايد تغييرات بدم ؟ تو رو خدا جواب بديد

----------


## az-navaei

> این طوری از soap استفاده میکنم.
> 
> $url='https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl';
> if (extension_loaded('soap')) 
>     { 
>         $client = new SoapClient($url);
>     }
>     else
>     {
> ...


من هم همين error را مي گيرم هم براي كدي كه بانك داده و هم كدي كه *alireza55627* قرار داده 

بايد چيكار كنم درست بشه؟

----------


## az-navaei

راه حل برای رفع مشکل کد تحت PHP نسخه 5 :

 در کد شما که با PHP 4 کار میکنه یک خط بصورت روبرو نوشته شده 
$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
 
در PHP 5کد فوق باید به کد زیر تغییر پیدا کنه 
$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
 
با "به پرداخت " تماس گرفتم اين جواب را دادند  درست شد.

----------


## az-navaei

> دوستان عزيز من يك سوال دارم لطفاً راهنمايي كنيد اونهم اينه كه من پرداخت آنلاين از بانك ملت گرفتم ميخواستم ببينم اون فايلهايي را كه به من دادند را بايد در هاستم آپلود كنم؟ دقيقاً در كدام پوشه بايد آپلود كنم؟ و در كدام فايلها بايد تغييرات بدم ؟ تو رو خدا جواب بديد


مهم نيست كجا باشه يك پوشه براي بانك ايجاد كن و فايل ها را داخلش  آپلود كن. اگر php 5 هم داريد تغييري كه در پست قبلي نوشتم را بدهيد.

----------


## parsarayan

سلام بر شما 
لطفا مشخص کنید با این خطا چکار کنم به جای اینکه به سمت بانک هدایت بشه این خطا را می ده 
Pay Response is : 0,F113C43F2D6F0FE1

----------


## wallfa

با استفاده از اين متد، پذيرنده درخواست انجام يك تراكنش را از بانك مي نمايد. در صورتي كه صحت اعتبار
پذيرنده توسط بانك تاييد شود (بوسيله ارسال پارامترهاي ورودي)، كد يكتايي براي او صادر و ارسال مي
گردد. مقدار بازگشتي يك رشته است كه از دو قسمت به شكل زير تشكيل شده است:
0, AF82041a2Bf6989c7fF 


عزیز دو رشته بازگشتی قسمت اول یعنی درست انجام شد قسمت دوم یه رشته به خصوصه ربطی به چیزی نداره ، نظر شخصی بنده اینه قبل از راه اندازی هر فروشگاه یا غیره نگاهی به سایت زیر بندازید . 
http://freer.ir/virtual/

----------


## Mr.vAhiD.DI

> اسکريپت پرداخت بانک ملت با PHP که بدون مشکل کار میکنه.
> فقط توجه کنيد که :
> 1. نسخه پی اچ پی شما بالای 5 باشه
> 2. php_curl رو تو php.ini فعال کنيد


سلام...

من از این اسکریپت استفاده کردم ولی دقیقاً مشکل اون دوستمون (*parsarayan*) رو دارم:

http://www.yekweb.com/bm/

بعد از زدن کلید ارسال این پیام رو میده:

Pay Response is : 0,6303FEEED3510DCC
دلیل چی میتونه باشه؟؟

----------


## Mr.vAhiD.DI

فهمیدم... از اجازه ندادن پاپ آپ بودش!!! الان پاپ آپ رو allow گذاشتم اوکی شد... ولی یه سوال... برای اینکه پاپ آپ نباشه باید چیکار کرد؟؟

++++++++++++++++++++++++++++++++++++++++++++++++++  ++++++++++++++++

خط 17 رو به اینصورت ادیت کردم اوکی شد:

            form.setAttribute("target", "_self");


بازم ممنون

----------


## javad75

سلام من اين اسكريپت را دانلود كردم و مشكلي هم نداره ولي وقتي به صفحه بانك هدايت مي شيم و اون جا انصراف را بزنيم و قتي به سايت بر مي گرده اي خطا را مي ده
Fault

Array
(
    [faultcode] => soap:Client
    [faultstring] => Unmarshalling Error: For input string: "`" 
)

----------


## kambizzz

ا سلام خدمت همه دوستان
ما پس از گرفتن یوزر و پسورد، درگاه ملت رو نصب کردیم و همه چیز کامل شده.  فقط موقع انتقال از سایت ما به سایت بانک ملت با این خطا مواجه می شیم:
SendURL('https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat','POST',{RefId:'2E7FAB220EF10958
'});

که متاسفانه هنوز نفهمیدیم ایراد از کجاست. ضمن اینکه با خود کارمندان زحمت  کش به پرداخت هم تماس گرفتم که متاسفانه اونا هم هنوز متوجه ایراد نشدند. 
چیزی که مطمئنیم اینه که ایراد از متد پستمونه احتمالا، ولی اینکه ازکدوم فایل و کجای فایل مشخص نیست.

ممنون می شم دوستان هر کمکی می تونن بکنن.

----------


## kambizzz

یعنی تو این سایت یکی نمی تونه ی کمکی به ما بکنه؟

----------


## sahand02

> براي ارتباط با درگاه پرداخت الكترونيك بانك ملت به خصوص در ايجاد redirect اول و ارسال مبلغ و نام پايگاه چه بايد كرد؟ هر چند بعيد ميدونم كسي جواب بده.


 09369555400 راه اندازی درگاههای پرداخت آنلاین کلیه بانکها

----------


## mrahda

من در سایتم یه نمونه کد موفق برای استفاده از پرداخت الکترونیک بانک ملت گذاشتم
http://ahda.ir/fa/index.php?option=c...17-37&Itemid=7

----------


## computerangel

با سلام خدمت دوستان 

به تازگی کد های بانک ملت رو گرقتم (هم کد خود به پرداخت- هم اینترنت)

تو سورس کدی که از اینترنت گرفتم :

وقتی یوز / پس رو ست می کنم و همه چیر رو تنظیم می کنم مبلغ رو وارد می کنم و پرداخت رو میزنم  تو صفحه Bank_Mellat_Soap.php گیر میکنه فقط  این ها نشوم میده

Array ( [terminalId] => ****** [userName] => ******[userPassword] => ******[orderId] => 412262057 [amount] => 100000 [localDate] => 20120411 [localTime] => 190410 [additionalData] => موضوع پرداخت [callBackUrl] => www.mysite.com/bankmelat/callback.php [payerId] => 0 ) 
*ودیگر هیچ !!!!!!!!!!!!!!*

iهم 
soapclient('https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
و هم 
	$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
رو تست کردم


تو کدی که به پرداخت داده 
یوز /پس رو ست می کنم اطلاعات اولیه رو هم ست می کنم دکمه pay رو میزنم هیچی هنمیشه صفحه یه با ر رفرش میشه و *دیگر هیچ !!!!!!*

نکته جالبش اینه که تو FF و ch یه 30 ثانیه منتظر یه reponse هست اما تو IE6 یه 5 ثانیه ثبر میکنه و The page cannot be displayed   رو میده

----------


## computerangel

با تشکر از همه دوستان و آشنایان که جواب دادن و راهنمایی و فرموند که اشکال از فایر وال هاست است !!!!! :عصبانی:

----------


## رضا قربانی

این اسکریپت رو دانلود کنید.

از بانک بهت یک ترمینال آی دی و یوزر و پس میدن که باید توی این اسکریپت آماده ای که دادم بذارید . کاملا ویرایش شده و مشکلاتش گرفته شده


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

توی index.php همین فایل $callBackUrl  دارید که آدرس برگشت از بانک رو مشخص می کنید.


خب یک توضیح در مورد متدهایی که باید بفرستید و دریافت کنید میدم.
5 تا متد هست 1ی برای ارسال و 4 تا در برگشت اجرا می شن (PAY REQUEST   -  VERIFY REQUEST - INQUIRY REQUEST   -  REVERSAL REQUEST - SETTLE REQUEST)

از چپ به راست به نوبت اجرا می شن به این صورت که متد PAY REQUEST اولین متدی که برای ارسال اطلاعات به بانک استفاده می شه. معمولا کسی تا به اینجا مشکلی نخواهد داشت(یعنی شما مبلغ و شماره ترمینال و یوزر و پس و کدها رو به بانک می فرستی و وارد دروازه بانک می شید)

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


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

هر جا 0 دریافت کردید یعنی از جانب بانک موفق بوده

اکثر بچه ها با Soap  مشکل دارن که توی این اسکریپت مشکلاتش رو برطرف کردم .


یکی از مشکلات رایج که بچه ها دارن اینه که ارورFault Arrayمشاهده می کنن. یعنی شما داده هایی که به بانک می فرستید یا تکراری هستن یا خالی که این ارور مربوط می شه به مقدار دهی این متغیر ها :

        $terminalId = '';   $userName = '';
        $userPassword = '';  $orderId = rand();             $amount = $_POST['PayAmount'];   $localDate = date("Ymd");   $localTime = date("His");
        $additionalData = '';مقدار  $orderId خیلی حساسه : یعنی شما بر فرض اولین اتصال به بانک با مقدار 10 وارد شدید دیگه نمی تونید با هر سیستمی یا آی پی با مقدار 10  وارد بشید ارور بالا نمایش میده یعنی یک عدد غیر تکراریه (کلید اصلی)

*در کل اینم کمک من به همه ی برنامه نویس ها و کاسب کارای خوب ایرانی*

نمونه اش هم که پیاده کردم (فروش کارت شارژ تک ) اینجا می تونید ببینید : http://www.chargetak.com/kart.php

هر کسی هم مشکلی داشت با شماره من که روی فایل زیپ نوشته شده تماس بگیره تا کمکش کنم.
موفق و پیروز باشید

----------


## sikhoonak

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

----------


## رضا قربانی

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


 درگاه رو خریدید ؟؟؟؟
یوزر پسورد و ترمینال رو در اسکریپت بالایی که گذاشتم جایگزین کن و به دروازه هدایت شو و ما بقی کارها . تا اینجا مشکلی نباید داشته باشی.

مشکل شما مربوط به برنامه نویسی می شه !! دیگه ما بقی کارها با شماست . اسکریپت بالا رو بگیر و بر اساس اون برنامه نویسی کن.

----------


## رضا قربانی

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


 من اینجا پیاده کردم و هیچ مشکلی هم نداشتم ؟؟؟؟؟؟؟؟ http://chargetak.com/kart.php

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

ببین *دستورات* رو در داخل متد ستل و بعد else  قرار بدید :
*دستورات* : همون پرداخت با موفقیت و نمایش کد تراکنش و...

.
.
ستل.
.
    if ($err) {
                                    // Display the error
                                    echo '<h2>Error</h2><pre>' . $err . '</pre>';
                                    die();
                                } 
                                else {
                                    // Update Table, Save Settle Status 
                                    // Note: Successful Settle means that sale is settled.
                     /////           اینجا        ////////
.
.
}
.
.

بچرخ دنبالش و کارت رو راه بنداز . نتونستی زنگ بزن واست درست کنم.



> مستر جون این همون نمونه کدی هست که بانک میده


 خب مستر جون  می تونی با همون نمونه کد بانک درستش کنی  :لبخند گشاده!: 

موفق باشید

----------


## deamondisk

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

----------


## deamondisk

مشکل حل شد مرسی داداش  :قلب:

----------


## aznaee

سلام
من از اسکریپت آقای قربانی استفاده کردم 
بعد از اینکه پرداخت انجام میشه و بر میگرده به callback این خطا رو میده 
*Fault Line 53*

Array (     [faultcode] => soap:Client     [faultstring] => Unmarshalling Error: For input string: ""  ) 

اول callback پارامترهای برگشتی echo کردم همشون null بودن مشکلش چیه؟

ممنون میشم راهنمایی کنید

----------


## aznaee

الان وقتی echo میگیرم وقتی میخاد بره بانک خطای 18 میده که طبق مستندات بانک یعنی تاریخ انقضای کارت گذشته است

وقتی از بانک برمیگیرده 11 بمعنی شماره کارت نامعتبر است و 42 به معنی تراکنش sale یافت نشد میده  :متفکر: 

دوستان کسی میتونه راهنمایی کنه  :ناراحت:  :ناراحت:

----------


## aznaee

نمیدونم چرا هیچ وقت من از این فروم جواب نگرفتم با اینکه خیلیم مشهوره ................

----------


## aznaee

مشکل و پیدا کردم 

اشکال  به خاطر کانفیگ سرور هست در واقع مدیر سرور به خاطر امنیت بیشتر یه کاری  کرده که هیچ متد post  از سرور دیگه نمیتونه به سرور ما وارد بشه اما حالا  مدیر سرور نیستش من خودم چه جوری میتونم این مشکل و برطرف کنم
فایروالم apf هست که با stop کردنش هم این مشکل حل نشد 

ممنون میشم راهنمایی کنید

----------


## aznaee

دوستان این مشکلم حل شد 

اگر کسی با این مشکل برخورد کرد کافیه توی فایل htaccess این کد و قرار بده حتما ابتدای فایل قرار بدید 

php_flag magic_quotes_gpc off  # mod_rewrite in use  RewriteEngine On  Options +FollowSymLinks    Options -Indexes  AddDefaultCharset utf-8    <LimitExcept POST GET>  allow from All  </LimitExcept>]

----------


## masoud1990

دوستان امکانش هست که روی لوکال اینکار رو انجام داد؟
چون من وقتی میزنم ارور 21 میده

----------


## aznaee

> دوستان امکانش هست که روی لوکال اینکار رو انجام داد؟
> چون من وقتی میزنم ارور 21 میده


خیر نمیشه چون باید ای پی ولید باشه یعنی همون ای پی که به به پرداخت دادید باشه

----------


## رضا قربانی

> نمیدونم چرا هیچ وقت من از این فروم جواب نگرفتم با اینکه خیلیم مشهوره ................


 آخه مشکلات هاست مربوط به برنامه نویسی ما نمیشه. ما تا جایی که از دستمون بر بیاد براتون انجام میدیم در غیر این صورت سکوت... تا خودتون به داد خودتون برسید




> magic_quotes_gpc


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



> دوستان امکانش هست که روی لوکال اینکار رو انجام داد؟
> چون من وقتی میزنم ارور 21 میده


بله امکانش هست . اما محدود هستید و بر اساس کدهایی که به صورت آرایه و خطاهایی که داده میشه می تونید نتیجه کارتون رو ببینید . (یادتون باشه حتما باید به اینترنت متصل باشید)

موفق باشید

----------


## vahid78

با سلام خدمت دوستان

ارور زیر رو چطوری رفع کنم؟ من از cpanel استفاده میکنم 

Error

HTTP Error: cURL ERROR: 1: Protocol https not supported or disabled in libcurl
url: https://pgws.bpm.bankmellat.ir:443/p...vices/pgw?wsdl
content_type: 
http_code: 0
header_size: 0
request_size: 0
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 0
namelookup_time: 0
connect_time: 0
pretransfer_time: 0
size_upload: 0
size_download: 0
speed_download: 0
speed_upload: 0
download_content_length: -1
upload_content_length: -1
starttransfer_time: 0
redirect_time: 0

----------


## رضا قربانی

چک کنید ببینید cURL  بر روی هاستتون فعال هست یا نه : به هاست اطلاع بدید
از هاست رایگان که استفاده نمی کنی ؟
از اسکریپتی که نوشتم استفاده می کنید ؟

----------


## vahid78

> چک کنید ببینید cURL  بر روی هاستتون فعال هست یا نه : به هاست اطلاع بدید
> از هاست رایگان که استفاده نمی کنی ؟
> از اسکریپتی که نوشتم استفاده می کنید ؟


نا رایگان نیست
curl هم فعاله تو جای دیگه دارم ازش استفاده میکنم
بعله با همون اسکریپت شما هم همین ارور رو میده متاسفانه

با مسئول فنی بهپرداخت صبحت کردم میگه اینور لاگ نمیندازه.
به مسئول هاست صبحبت کردم میگه https فعاله

----------


## L.onely

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

----------


## MMSHFE

دوست عزیز توی صفحه تمدید اشتراک که شما رو به صفحه بانک ملت هدایت میکنه، قبل از کلیک روی دکمه پرداخت، به نوشته کوچک زیر توضیحات سرویس انتخابی دقت کنید. یک کد نوشته که همون رو باید توی این کادر وارد کنید. موفق باشید.

----------


## L.onely

> دوست عزیز توی صفحه تمدید اشتراک که شما رو به صفحه بانک ملت هدایت میکنه، قبل از کلیک روی دکمه پرداخت، به نوشته کوچک زیر توضیحات سرویس انتخابی دقت کنید. یک کد نوشته که همون رو باید توی این کادر وارد کنید. موفق باشید.


اگه منظورتون اونجاست که با علامت تو عکس مشخص کردم چیزی ننوشته و خالیه...
ممون

----------


## MMSHFE

نه منظورم جایی هست که انتخاب میکنید ترافیک (2 گیگابایت) بخرین یا تمدید کنید (1ماه). زیر توضیح مربوط به ترافیک یا خرید ماهانه، کد رو نوشته.

----------


## L.onely

عزیز من یه عکس کلی میندازم شما اگه چیزی دیدید به منم بگید
کلا فقط یه گزینه پرداخت انلاین هست و سرویس 3 ماهه 256 که اونم نمیشه تغییر داد
سیستمشون در پیته..فقط مگه فردا حضورا برم تمدید کنم..شانس خوردیم به جمعه

----------


## MMSHFE

روی همین گزینه پرداخت آنلاین کلیک کنید و عکس صفحه بعد رو بگذارین.

----------


## L.onely

بفرمایید داداش
بعدش این صفحه میاد و وقتی رو گزینه NEXT میزنم وارد صفحه بانک میشه

----------


## MMSHFE

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

----------


## L.onely

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

----------


## MMSHFE

توی این صفحه آخر وقتی Next رو میزنین، چه صفحه ای میاد؟

----------


## L.onely

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

----------


## MMSHFE

خوب پس با این اوصاف تنها راه باقیمانده، تماس با پشتیبانی هست. شاید هم توی سایتشون در قسمت پشتیبانی یا راهنما، توضیح داده باشن که چه کدی باید وارد کنید.

----------


## ahmad4u

دوستان کسی میتونه مشکل درگاه ملت را برام پیدا کنه
تو این تاپیک توضیح دادم
*درخواست اشکال یابی اسکریپت پرداخت ملت*

----------


## HAMRAHSOFT.IR

اینم این نمونه در گاه پرداختبانکمات کسی خواست بگه http://ebanking.mokhtarein-esf.ir/default.htm

----------


## hamidhassas

> اینم این نمونه در گاه پرداختبانکمات کسی خواست بگه http://ebanking.mokhtarein-esf.ir/default.htm


بابا کسی خواست بگه؟

عزیزم کلش رو بزار خوب اکثرا دنباشیم دیگه همین رو میخوایم

----------


## yaaaaass

لطفا این درگاه رو بزارید.منم دقیقا یه چیزی مثل همین میخوام

----------


## yaaaaass

> اینم این نمونه در گاه پرداختبانکمات کسی خواست بگه http://ebanking.mokhtarein-esf.ir/default.htm


آقا بزاااار ! اگه این کارو کنی خیلی بامرامی

----------


## h00manb

سلام
من هم ممنون میشم بگذاری

----------


## akhale

> اینم این نمونه در گاه پرداختبانکمات کسی خواست بگه http://ebanking.mokhtarein-esf.ir/default.htm


 اگه می شه  قرارش بدید که لنگ این درگاهیم
ممنون

----------


## akhale

دوستان اینجا مشکل حل شده:
https://barnamenevis.org/showthread.p...=1#post1485091

با تشکر از آقا رضا

----------


## iner30

سلام
چند وقتی هست از درگاه بانک ملت استفاده میکنم
بعضی وقتها بدون هیچ مشکلی کلیه مراحل خیلی خوب انجام میشه 
ولی بعضی وقتها هم موقع ارتباط با بانک به مشکل میخورم ، خیلی کند عمل میکنه یا ارور fault میده 

بنظرتون مشکل از کجاست؟
ممکنه مشکل از سرور باشه ؟ چون در مقایسه با خیلی از سایتا ريال سایت من خیلی کند از بانک جواب ریکوئست هارو میگیره

----------


## رضا قربانی

مشکل سرور دارید . به دنبال یه سرور قویتر باشید

----------


## prg_mail

> این اسکریپت رو دانلود کنید.
> 
> از بانک بهت یک ترمینال آی دی و یوزر و پس میدن که باید توی این اسکریپت آماده ای که دادم بذارید . کاملا ویرایش شده و مشکلاتش گرفته شده
> 
> 
> یادتون باشه یک آدرس ارسال می کنید و از یک آدرس دریافت می کنید و می تونید این دوتا رو باهم توی یک صفحه انجام بدید . ولی برای اینکه گیج نشین توی دو صفحه انجام بدید . یک صفحه ارسال مبلغ و اطلاعات و یک صفحه برگشت (پاسخ و ارسال کد از طرق بانک)
> 
> توی index.php همین فایل $callBackUrl  دارید که آدرس برگشت از بانک رو مشخص می کنید.
> 
> ...


سلام بر استاد گرامی ما صفر تا صد اسکریپت ها رو رفتیم اما نتونستیم به بانک ملت وصل شیم - میشه کمکی کنید

----------


## prg_mail

> من اینجا پیاده کردم و هیچ مشکلی هم نداشتم ؟؟؟؟؟؟؟؟ http://chargetak.com/kart.php
> 
> خطای نامعتبر بودن وب سرویس : انقدر وارد دروازه شدی و انصراف و خرید کردید که از طرف بانک یک کوکی برای شما ست شده . مشکلی نداره . ستل نداره چیه !!! داره دیگه ، می تونی داخلش ببینی (خوبه کد زیر دستته)!!! شما میایی در داخل متد ستل دستوراتت رو میذاری ، نباید بیرون ستل باشه . اگه بیرون ستل باشه چه پول پرداخت بشه چه نشه دستورات اجرا می شه.
> 
> ببین *دستورات* رو در داخل متد ستل و بعد else  قرار بدید :
> *دستورات* : همون پرداخت با موفقیت و نمایش کد تراکنش و...
> 
> .
> .
> ...




حاج رضا ، پست نطلبیده مراده >>  https://barnamenevis.org/showthread.p...DB%8C%D9%86-92)

----------


## atefeh67

سلام من توی سایتم پرداخت الکترونیکی بانک ملت دارم.در صفحه پرداخت الکترونیکی زمان اتصال به درگاه بانک ملت خطای زیر میده.
*Fatal error*:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl' : failed to load external entity "https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl" in D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php:166 Stack trace: #0 D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php(166): SoapClient->SoapClient('https://pgws.bp...') #1 {main}  thrown in *D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php* on line *166*
اینم تکه کد که گذاشتم توی صفحه پرداخت الکترونیکی 
require_once("./lib/nusoap.php");

 //curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
 //$page = curl_exec ($ch);
 $client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
 $namespace='http://interfaces.core.sw.bps.com/';
 ///////////////// PAY REQUEST
 if (isset($_POST['PayRequestButton'])) 
 { 
  $terminalId = $_POST['TerminalId'];
  $userName = $_POST['UserName'];
  $userPassword = $_POST['UserPassword'];
  $orderId = $_POST['PayOrderId'];
  $amount = $_POST['PayAmount'];
  //$date =  date("YYMMDD");
  //$time =  date("HHIISS");
  $localDate = $_POST['PayDate'];
  $localTime = $_POST['PayTime'];
  $additionalData = $_POST['PayAdditionalData'];
  $callBackUrl = $_POST['PayCallBackUrl'];
  $payerId = $_POST['PayPayerId'];
  // Check for an error
  $err = $client->getError();
  if ($err) {
   echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
   die();
  }

  $parameters = array(
   'terminalId' => $terminalId,
   'userName' => $userName,
   'userPassword' => $userPassword,
   'orderId' => $orderId,
   'amount' => $amount,
   'localDate' => $localDate,
   'localTime' => $localTime,
   'additionalData' => $additionalData,
   'callBackUrl' => $callBackUrl,
   'payerId' => $payerId);
  // Call the SOAP method
  $result = $client->call('bpPayRequest', $parameters, $namespace);
از آخرین خط error میگیره.ممنون میشم کسی بتونه کمکم کنه

----------


## dousti_design

> سلام من توی سایتم پرداخت الکترونیکی بانک ملت دارم.در صفحه پرداخت الکترونیکی زمان اتصال به درگاه بانک ملت خطای زیر میده.
> *Fatal error*:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl' : failed to load external entity "https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl" in D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php:166 Stack trace: #0 D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php(166): SoapClient->SoapClient('https://pgws.bp...') #1 {main}  thrown in *D:\HostingSpaces\m-ayn.com\m-ayn.com\wwwroot\help\save_help.php* on line *166*
> اینم تکه کد که گذاشتم توی صفحه پرداخت الکترونیکی 
> require_once("./lib/nusoap.php");
> 
>  //curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
>  //$page = curl_exec ($ch);
>  $client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
>  $namespace='http://interfaces.core.sw.bps.com/';
> ...


این خط رو:

$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');


اینطوری ویرایش کنید:

 $client = new nusoap_client('https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');

----------


## MoRTeZa`

> این اسکریپت رو دانلود کنید.
> 
> از بانک بهت یک ترمینال آی دی و یوزر و پس میدن که باید توی این اسکریپت آماده ای که دادم بذارید . کاملا ویرایش شده و مشکلاتش گرفته شده
> 
> 
> یادتون باشه یک آدرس ارسال می کنید و از یک آدرس دریافت می کنید و می تونید این دوتا رو باهم توی یک صفحه انجام بدید . ولی برای اینکه گیج نشین توی دو صفحه انجام بدید . یک صفحه ارسال مبلغ و اطلاعات و یک صفحه برگشت (پاسخ و ارسال کد از طرق بانک)
> 
> توی index.php همین فایل $callBackUrl  دارید که آدرس برگشت از بانک رو مشخص می کنید.
> 
> ...


به این ارور برخوردم :


*Error*

HTTP Error: cURL ERROR: 7: couldn't connect to host
url: https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl
content_type: 
http_code: 0
header_size: 0
request_size: 0
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 3.488695
namelookup_time: 0.238467
connect_time: 0
pretransfer_time: 0
size_upload: 0
size_download: 0
speed_download: 0
speed_upload: 0
download_content_length: -1
upload_content_length: -1
starttransfer_time: 0
redirect_time: 0
certinfo: Array
redirect_url: 


curl هم فعال هست ...
چطور باید برطرفش کنم ؟

----------


## MMSHFE

طبق اعلام خود بانک، سیستم به پرداخت گویا موقتاً قطعه. بخاطر اختلالاتی که اخیراً توی سیستم SSL در ایران پیش اومده.

----------


## dousti_design

> به این ارور برخوردم :
> 
> 
> *Error*
> 
> HTTP Error: cURL ERROR: 7: couldn't connect to host
> url: https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl
> content_type: 
> http_code: 0
> ...


هرچند که کدتور رو قرار ندادین ولی احتمالا باید این:
https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl
رو به این تبدیل کنید:
https://pgwsf.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl



> طبق اعلام خود بانک، سیستم به پرداخت گویا موقتاً قطعه. بخاطر اختلالاتی که اخیراً توی سیستم SSL در ایران پیش اومده.


ولی پرداخت های ما مشکلی ندارند.

----------


## MoRTeZa`

> هرچند که کدتور رو قرار ندادین ولی احتمالا باید این:
> https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl
> رو به این تبدیل کنید:
> https://pgwsf.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl
> 
> ولی پرداخت های ما مشکلی ندارند.


این کار رو انجام دادم میگه ای  پی معتبر نیست .
من یک سایت رو چک کردم دیدم ملتش کار میکنه ...

----------


## MoRTeZa`

این هم کد :



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
date_default_timezone_set('Asia/Tehran');
?>
<html>
<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>.: آسان پرداخت  :.</title>
<link href="Css/Style.css" rel="stylesheet" type="text/css" />
    <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", "_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>
        <form name="form1" method="post" preservedata="true">
        <div style="text-align:center; direction:ltr; font:bold 14px/28px tahoma; direction:rtl">
        مبلغ تراکنش (به ريال):<br>
        <input type="text" name="PayAmount" style="width:300px; padding:6px 5px; font:bold 28px Tahoma; color:#ad0000; direction:ltr; border:1px solid #ad0000">
        <br>
        <input type="submit" CssClass="PublicButton" name="PayRequestButton" value="ارسال" style="padding:6px 30px; font:bold 20px Tahoma; color:#fff; background:#ad0000"/>
        </div>        
</form>                            

</body>
<?php
    require_once("lib/nusoap.php");
        
    //curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    //$page = curl_exec ($ch);

    $client = new nusoap_client('https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl');
    $namespace='http://interfaces.core.sw.bps.com/';

    ///////////////// PAY REQUEST


    if (isset($_POST['PayRequestButton'])) 
    { 
    
        $terminalId = '؟؟؟؟؟؟؟';
        $userName = '؟؟؟؟؟؟';
        $userPassword = '؟؟؟؟؟؟؟';
        $orderId = rand();
            
        $amount = $_POST['PayAmount'];
        $localDate = date("Ymd");
        $localTime = date("His");
        $additionalData = '';
        $callBackUrl = 'http://pay.manahost.ir/Bank/callback.php';
        $payerId = 0;

        // Check for an error
        $err = $client->getError();
        if ($err) {
            echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
            die();
        }
      
        $parameters = array(
            'terminalId' => $terminalId,
            'userName' => $userName,
            'userPassword' => $userPassword,
            'orderId' => $orderId,
            'amount' => $amount,
            'localDate' => $localDate,
            'localTime' => $localTime,
            'additionalData' => $additionalData,
            'callBackUrl' => $callBackUrl,
            'payerId' => $payerId);

        // Call the SOAP method
        $result = $client->call('bpPayRequest', $parameters, $namespace);
        
        // Check for a fault
        if ($client->fault) {
            echo '<h2>Fault</h2><pre>';
            print_r($result);
            echo '</pre>';
            die();
        } 
        else {
            // Check for errors
            
            $resultStr  = $result;

            $err = $client->getError();
            if ($err) {
                // Display the error
                echo '<h2>Error</h2><pre>' . $err . '</pre>';
                die();
            } 
            else {
                // Display the result

                $res = explode (',',$resultStr);

                echo "<script>alert('Pay Response is : " . $resultStr . "');</script>";
                echo "Pay Response is : " . $resultStr;

                $ResCode = $res[0];
                
                if ($ResCode == "0") {
                    // Update table, Save RefId
                    echo "<script language='javascript' type='text/javascript'>postRefId('" . $res[1] . "');</script>";
                } 
                else {
                // log error in app
                    // Update table, log the error
                    // Show proper message to user
                }
            }// end Display the result
        }// end Check for errors

    }

?>
</html>

----------


## dousti_design

> این کار رو انجام دادم میگه ای پی معتبر نیست .


خب حتما آی پی که به شرکت به پرداخت دادین با آی پی فعلی سرورتون یکی نیست. چک کنید.

----------


## MoRTeZa`

> خب حتما آی پی که به شرکت به پرداخت دادین با آی پی فعلی سرورتون یکی نیست. چک کنید.


آی پی رو مطمئنم درست دادم ...

----------


## dousti_design

> آی پی رو مطمئنم درست دادم ...


پاسخ دریافت شده از بانک ملت اینه که آی پی مشکل داره. پس شما باید با خود بانک صحبت کنید کسی نمیتونه کمکی کنه چونکه مربوط به پاسخ دریافت شده از بانک هست.

----------


## MoRTeZa`

> پاسخ دریافت شده از بانک ملت اینه که آی پی مشکل داره. پس شما باید با خود بانک صحبت کنید کسی نمیتونه کمکی کنه چونکه مربوط به پاسخ دریافت شده از بانک هست.


الان این ارور رو میده : با کدی که شما دادین


HTTP Error: cURL ERROR: 28: SSL connection timeout
url: https://pgwsf.bpm.bankmellat.ir:443/pgwchannel/services/pgw
content_type: 
http_code: 0
header_size: 0
request_size: 0
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 1.721738
namelookup_time: 0.464276
connect_time: 1.721799
pretransfer_time: 0
size_upload: 0
size_download: 0
speed_download: 0
speed_upload: 0
download_content_length: -1
upload_content_length: -1
starttransfer_time: 0
redirect_time: 0
certinfo: Array
redirect_url: 


به به پرداخت ایمیل زدم ببینم چی میگن ... حالا تا شنبه باید صبر کنم ببینم چی میشه .

ممنون بایت اینکه پاسخ سوالاتمو دادین .

با تشکر

----------


## MMSHFE

> ولی پرداخت های ما مشکلی ندارند.


 من جمله خود بانک رو میگم که چند روز قبل گذاشته بود. احتمالاً تا الآن مشکلشون رفع شده.

----------


## MoRTeZa`

با تشکر ... 
مشکل از آی پی بود که حل شد ...

چند سوال کلی و عمومی دارم ...

1- امکان تعریف چند IP برای یک درگاه وجود دارد ؟
2- امکان درخواست چند درگاه برای یک حساب چطور ؟

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

ممنون

----------


## pedash

سلام 
خطای 418 رو چطور می تونم برطرف کنم ،
اشكال در تعريف اطلاعات مشتري 418
از اسکریپت نمونه خود بانک استفاده می کنم .
ممنون دوستان

----------


## pedash

> سلام 
> خطای 418 رو چطور می تونم برطرف کنم ،
> اشكال در تعريف اطلاعات مشتري 418
> از اسکریپت نمونه خود بانک استفاده می کنم .
> ممنون دوستان


الان یه خطای جدید میده 
Pay Response is : 31 
پاسخ نامعتبر است 31
متوجه نمیشم منظورش چیه

----------


## fallahpour

دوستان ممنون میشم خطای 418 و21 را توضیح بدین..؟

----------


## naskam

من قبلا در چندین سایت از پرداخت الکترونیک به روش soap استفاده کردم 
نموه زیر یکی از اونهاست.

<?php
	include 'class/modelslist.php';
	$MerchantID = 'secret';
	$Password = 'secret';

 	if (isset($_REQUEST['openpay'])) 
 	{ 
 		$ReturnPath = 'http://kaniaw.ir/verify.html?openpay'; 
	}
 	else { $ReturnPath = 'http://kaniaw.ir/verify.html'; }
	$ResNumber = $_REQUEST['orderid'];// Order Id In Your System
	$Price = $_REQUEST['price']; //Price As Toman
	$Description = $_REQUEST['discrib'];
	$Paymenter = $_REQUEST['name'];
	$Email = $_REQUEST['email'];
	$Mobile = $_REQUEST['phone'];
	$client = new SoapClient('http://merchant.parspal.com/WebService.asmx?wsdl');
	$res = $client->RequestPayment(array("MerchantID" => $MerchantID , "Password" =>$Password , "Price" =>$Price, "ReturnPath" =>$ReturnPath, "ResNumber" =>$ResNumber, "Description" =>$Description, "Paymenter" =>$Paymenter, "Email" =>$Email, "Mobile" =>$Mobile));
	$PayPath = $res->RequestPaymentResult->PaymentPath;
	$Status = $res->RequestPaymentResult->ResultStatus;
	
	if($Status == 'Succeed')
	{	 
		if (isset($_REQUEST['openpay'])) 
 		{ 
		$temp=new temppayment();
		$temp->datamembers=array(
			oid=>$ResNumber,
			price=>$Price
			);
		$temp->save();
		}
		echo "<html><head><title>Connecting ....</title><meta charset='utf-8'><head><body onload=\"javascript**:window.location='$PayPath'\" style=\"font-family:tahoma; text-align:center;font-waight:bold;direction:rtl\">درحال اتصال به درگاه پرداخت پارس پال ...</body></html>"; 
	}
	else
	{
		echo "<p>خطای زیر روی داده است.</p></br>".$Status; 
	}
	
		

?>

----------


## idocsidocs

منم تازه دارم درگاه بانک ملت رو نصب می کنم. توی فایل راهنماشون چند بار از saleOrderId , SaleReferenceId و orderId استفاده کردن که کمی مبهم هست.

برای ارسال درخواست باید orderId یکتا برای بانک بفرستیم که احتمالا با استفاده از تابع rand این کار رو می شه انجام داد

موقع برگشت از بانک saleOrderId برگردونده می شه

موقع تایید پرداخت به orderId و saleOrderId نیاز هست

پس از تایید و برای درخواست واریز باید دوباره orderId و saleOrderId رو برای بانک بفرستید.

سوالم اینه که:
1- در مرحله تایید پرداخت orderId و saleOrderId رو چطور ایجاد کنم و برای بانک بفرستم؟
2- در مرحله درخواست واریز orderId و saleOrderId رو چطور ایجاد کنم و برای بانک بفرستم؟
3- عدد saleReferenceId که بغیر از مرحله اول در بقیه مراحل وجود داره آیا یکسانه یا تغییر می کنه؟

----------


## احمد سامعی

> برای ارسال درخواست باید orderId یکتا برای بانک بفرستیم که احتمالا با استفاده از تابع rand این کار رو می شه انجام داد


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

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

----------


## idocsidocs

> این عدد نباید به هیچ وجه رندوم باشه و باید به صورت یکتا در سیستم برنامه  شما ایجاد بشه و برای بانک ارسال بشه. شما قبل از راه اندازی به صورت  واقعی برای مشتری باید برای بانک درخواست تست ارسال کنید حتی در این مرحله  هم باید اعداد واقعی بفرستید یعنی وقتی بانک اجازه راه اندازی به صورت  نهایی به شما داد باید اعدادی که می فرستید اعداد زمان تست نباشه


به هرحال باید عدد تصادفی باشه، می شه از تابع time هم استفاده کرد




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


فکر کنم الان داری بازی فوتبال تماشا می کنن :چشمک: 

توی درگاه بانک ملت ظاهرا باید 3 بار این عدد یکتا رو ایجاد کنیم (موقع درخواست تراکنش، موقع تایید و موقع درخواست واریز)، ایا این کار لازمه یا فقط باید از همون عددی که برای درخواست انجام تراکنش استفاده شده مجددا استفاده کرد؟

----------


## MMSHFE

عدد تصادفی یکبار تولید میشه (درخواست تراکنش) و در مراحل تأیید و درخواست واریز باید همون عدد قبلی رو بدین.

----------


## Mehr@ban

> با تشکر ... 
> 
> چند سوال کلی و عمومی دارم ...
> 
> 1- امکان تعریف چند IP برای یک درگاه وجود دارد ؟
> 2- امکان درخواست چند درگاه برای یک حساب چطور ؟
> 
> دو تا سایت دارم که نیاز به درگاه بانک دارم ... که بطور مستقل کار میکنن ... جواب تلفن رو که به پرداخت نمیده ... گفتم از تجربیات دوستان استفاده کنم و بپرسم .
> 
> ممنون


 1.  بله شما میتونید آی پی ها رو با دامنه به ایمیل به پرداخت که فک کنم این sales@behpardakht.ir هست ارسال کنید و درخواست خودتون رو مطرح کنید!
2. خیر برای هر حساب یه درگاه تخصیص میدن!

شما میتونید هر دوسایت رو به یه درگاه وصل کنید و هیچ مشکلی هم نداره من الان دارم چندین سایت رو با یه درگاه راه میبرم!

یا علی

----------


## shadecute

سلام دوستان یه سوال در این اسکریپت به جای نمایش خطا یا نتیجه  به صورت عدد چهجوری پیغام نمایش بدیم؟
مثلا پرداخت موفق بود 0 نشون نده . بزنه موفق بوده . 
یا پرداخت کنسل شده 17 نزنه بزنه کنسل شده .
ممنون میشم راهنمایی کنید

----------


## hessamjoon

دوستان کسی با زبان asp سمپل داره ? Php سمپل خیلی زیاده ولی asp هیچی نیست بانکم نداره
خواهشا اگه کسی میتونه کمک کنه 
ممنون

----------


## MMSHFE

بهتره توی تالار ASP.NET این سؤال رو مطرح کنید. اینجا همه PHP کار هستن. البته معمولاً خود بانک نمونه کد ASPX رو همراه با مستندات، بهتون ارائه میکنه.

----------


## soheil.1985

خدا خیرت بده.
دمت گرم

----------


## soheil.1985

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

----------


## mahdi68

سلام 
بعد از اجرای متد درخواست تراکنش پرداخت بعد اینکه گزینه پرداخا میزنیم نتیجه همراه با پارامتر ها به سایت پذیرنده با متد پست ارسال  میشن که طبق گفته داکیومنت به پرداخت باید اینها باشن
RefId
ResCode
saleOrderId
SaleReferenceId

الان مشکل من اینجاست که همه موارد فوق درست ارسال میکنه به غیر از saleOrderId که مقدارش null هست ! و به خاطر همین نمیتونم متد تایید تراکنش اجرا کنم چون به این پارامتر نیاز داره 
از دوستان کسی تا حالا همچین مشکلی داشته ؟ ممنون میشم راهنماییم کنید
متشکرم

----------


## arkia

> سلام 
> بعد از اجرای متد درخواست تراکنش پرداخت بعد اینکه گزینه پرداخا میزنیم نتیجه همراه با پارامتر ها به سایت پذیرنده با متد پست ارسال  میشن که طبق گفته داکیومنت به پرداخت باید اینها باشن
> RefId
> ResCode
> saleOrderId
> SaleReferenceId
> 
> الان مشکل من اینجاست که همه موارد فوق درست ارسال میکنه به غیر از saleOrderId که مقدارش null هست ! و به خاطر همین نمیتونم متد تایید تراکنش اجرا کنم چون به این پارامتر نیاز داره 
> از دوستان کسی تا حالا همچین مشکلی داشته ؟ ممنون میشم راهنماییم کنید
> متشکرم


سلام . شما باید کد saleOrderId رو به همراه RefId توی دیتابیست ذخیره کرده باشی و برای وریفای کردن ازش استفاده کنی. کافیه یک تابع بنویسی که کد saleOrderId  رو از طریق RefId  بدست بیاری. مثلا:

function GetOrderIDByRefId($RID){	$sql = "SELECT * FROM orders where au = '".secure($RID)."' limit 1";	$q = mysql_query($sql);			while ($record = mysql_fetch_assoc($q))	{			return($record["ORDERID"]);			}}

----------


## rezvan111

سلام دوستان

در سایت موردنظر من، ابتدا کاربر یکسری اطلاعات را پر می کنه سپس بایستی مبلغی پرداخت کنه و در صورت تایید پرداخت از سمت بانک، اطلاعات کاربر در پایگاه داده ذخیره بشه. آیا چنین چیزی امکان پذیر هست؟ لطفا راهنمایی کنید.

----------


## arkia

> سلام دوستان
> 
> در سایت موردنظر من، ابتدا کاربر یکسری اطلاعات را پر می کنه سپس بایستی مبلغی پرداخت کنه و در صورت تایید پرداخت از سمت بانک، اطلاعات کاربر در پایگاه داده ذخیره بشه. آیا چنین چیزی امکان پذیر هست؟ لطفا راهنمایی کنید.


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

----------


## hamidhassas

https://barnamenevis.org/showthread.p...-بانک-ها

----------


## saied20

سلام من از این کد میخوام استفاده کنم البته برای یک افزونه vip
تا اینجا پیش رفتم که وقتی کاربر میخواد خرید کنه و دکمه خرید رو میزنه Pay Response is : 0,A2E6D5281EDA5712 این کد نمایش داده میشه البته بگم که من کدها  رو از فایل اینکسی که توی انجمن بود خارج کردم و در قسمتی از افزونه که مربوط به پرداخت هست قرار دادم و اطلاعات بانکی و مبلغ رو از افزونه مورد نظر میگیره اما بعد از گرفتن کدPay Response is : 0,A2E6D5281EDA5712 به سمت دروازه پرداخت نمیره و احتمال میدم که کد جاوا اسکریپش کار نکنه چون اونو اجباری داخل $html='';قرار بدم تا برنامه از کد نویسی php خطا نگیره کسی میتونه کمک کنه

----------


## zamanih

آخرش من نفهمیدم یه ماژول بانک ملت برای غیر حرفه ای ها هست برای این کار یا نه  ؟؟ ؟ ؟ ؟
.
.
.
.
شارژ ارزان های شارژ

----------


## HadiVB

دوستان بعد از این همه کامنت یک سوال بپرسم؟

اقا این قرارداد با بانک رو کجا میبندن؟ انلاین یا کاغذی و ....
اخه ما از هر شعبه ای از بانک ملت پرسیدیم طرف بز نمی فهمید

----------


## arkia

> دوستان بعد از این همه کامنت یک سوال بپرسم؟
> 
> اقا این قرارداد با بانک رو کجا میبندن؟ انلاین یا کاغذی و ....
> اخه ما از هر شعبه ای از بانک ملت پرسیدیم طرف بز نمی فهمید


با این شماره تماس بگیر
27312734

----------


## hamidhassas

دوست عزیز شما تسط یک شعبه درخواست یک درگاه بده بعد خودشون یک فرم قرارداد برات ایمیل میکنن اون رو تو دونسخه چاپ میکنی بعد امضا میکنی بعد به آدرس تهران فکر کنم ضلغ شرقی پارک ارغوان باشه پست میکنی خودشون آدرس برات میفرسن بعد اونا یک نسخه از قرارداد رو مهر میکنن و امضا برات پست میکنن به آدرس خونت

درضمن تمام شعب بانک ها هیچ اطلاعی از رون انجام و خدمات درگاه اینترنتی ندارد باید از سایت به پرداخت ملت کسب اطلاع کنی

----------


## hamid.shekasteh

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

- الان(از دی ماه 1392) باید به وسیله شاپرک به درگاه ملت وصل شد و به جای آدرس

https://pgwtest.bpm.bankmellat.ir/pgwchannel/startpay.mellat

به نشانی زیر وصل بشید:

https://bpm.shaparak.ir/pgwchannel/startp
ay.mellat


توضیحات بیشتر

-در کدی که با PHP 4  کار میکنه یک خط بصورت روبرو نوشته شده

$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');

در PHP 5.3 و بالاتر کد فوق باید به کد زیر تغییر پیدا کنه


$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');


- نکته خیلی مهم توی آدرس صفحه callback یا هر صفحه ای که وقت بازگشت از سایت بانک ملت توی کدتون به بانک میدید، اینه که www توی نتیجه متغیر هایی که پاس داده میشن تاثیر داره.

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

----------


## nasservb2

> آقا بزاااار ! اگه این کارو کنی خیلی بامرامی


تقدیم به همه برنامه نویسان عزیز 
https://github.com/nasservb/mellat_payment

----------


## msfa2005

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

----------


## vahid78

> با سلام مهندسین عزیز برای درگاه پرداخت اینترنتی ملت سایتم ی  مشکل هست که میگه 
> شماره درخواست تکراری است کسی می تونه کمک کنه


خوب واضحه دیگه.

شما شماره درخواست را یکبار با تابع time() درست کن و ارسال کن ببین چجوری میشه

----------


## correctvibe

Business | Correctvibe.com |  Correctforum | https://tinyurl.com/correctvibe |  https://bit.ly/2PUOGZY

----------

