طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

اتصال به درگاه بانک ملت php


آموزش اتصال به درگاه بانک ملت php

بروزرسانی در ۳ بهمن ۱۳۹۷ : افزودن لیست خطاهای درگاه بانک ملت

بروزرسانی در ۲۷ شهریور ۱۳۹۷ : افزودن کلاس PHP جدا و پکیج لاراول درگاه بانک ملت

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

دریافت درگاه بانک ملت

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

ثبت درخواست پذیرندگی

بسته به نوع کسب و کار خود نوع حقوقی و یا حقیقی را انتخاب کنید

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

بعد از ثبت درخواست از شما مدارکی به شرح زیر اخذ می شود .

مدارک مورد نیاز دریافت درگاه بانک ملت

  • مشتریان حقیقی :
    اصل و کپی شناسنامه و کارت ملی مالک سایت
    دارا بودن اسناد تملیکی و استیجاری مرتبط با محل فعالیت
    امکان ارائه مجوزهای رسمی از مراجع ذیصلاح جهت کسب و کار اینترنتی
    دارا بودن آدرس اینترنتی (دامنه) با پسوندهای مجاز نظیر
    .com , .org , .net , .biz , .ir (All .ir SubDomain like .co.ir or .ac.ir and …)
  • مشتریان حقوقی :
    کپی شناسنامه و کارت ملی صاحبان امضا
    نداشتن مطالبات معوق و چک برگشتی در سیستم بانکی کشور
    کپی آگهی تاسیس و آخرین تغییرات شرکت-روزنامه رسمی
    کپی اساسنامه شرکت
    دارا بودن آدرس اینترنتی (دامنه) با پسوندهای مجاز نظیر
  • com , .org , .net , .biz , .ir (All .ir SubDomain like .co.ir or .ac.ir and …)

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

نکته : شما باید یک حساب در بانک ملت داشته باشید که بیشتر از ۴۸ ساعت از افتتاح حساب گذشته باشه

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

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

نکته ۲ : برای دریافت درگاه بانک ملت حتما سایت شما باید نماد اعتماد الکترونیک (اینماد) داشته باشد که هزینه سالیانه آن فقط ۳۵ هزار تومان است.(رایگان شد!) لینک ثبت نام Enamad

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

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

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

حتما بخوانید  نمایش IP کاربر در PHP

اتصال به درگاه بانک ملت php

برنامه نویسی درگاه با توجه به نیاز به استفاده از توابع Soap در PHP کاری بسیار چالش برانگیز بوده، زیرا این تابع در نسخه های مختلف PHP رفتار متفاوتی را از خود نشان می دهد.

به منظور استفاده هرچه راحتر یک نمونه کد ” اتصال به درگاه بانک ملت php ” برای ارسال تراکنش به بانک و یک نمونه کد برسی تراکنش بعد از برگشت از بانک نوشتم که کار شما رو تا حد زیادی راحت میکنه

در آخر پروژه فایل nusoap برای اتصال به بانک را برای دانلود قرار دادیم

برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود

index.php – ارسال تراکنش به درگاه بانک ملت :

verify.php – جهت برسی نتیجه تراکنش :

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

Errorپیغام
۰تراکنش با موفقیت انجام شد
۱۱شماره کارت نامعتبر است
۱۲موجودی کافی نیست
۱۳رمز نادرست است
۱۴تعداد دفعات وارد کردن رمز بیش از حد مجاز است
۱۵کارت نامعتبر است
۱۶دفعات برداشت وجه بیش از حد مجاز است
۱۷کاربر از انجام تراکنش منصرف شده است
۱۸تاریخ انقضای کارت گذشته است
۱۹مبلغ برداشت وجه بیش از حد مجاز است
۲۱پذیرنده نامعتبر است
۲۳خطای امنیتی رخ داده است
۲۴اطلاعات کاربری پذیرنده نامعتبر است
۲۵مبلغ نامعتبر است
۳۱پاسخ نامعتبر است
۳۲فرمت اطلاعات وارد شده صحیح نمی باشد
۳۳حساب نامعتبر است
۳۴خطای سیستمی
۳۵تاریخ نامعتبر است
۴۱شماره درخواست تکراری است
۴۲یافت نشد Sale تراکنش
۴۳قبلا درخواست Verify داده شده است
۴۴درخواست Verfiy یافت نشد
حتما بخوانید  اینترنت اشیا با PHP و رزبری پای (Raspberry Pi)
Errorپیغام
۴۵تراکنش Settle (تسویه) شده است
۴۶تراکنش Settle (تسویه)نشده است
۴۷تراکنش Settle یافت نشد
۴۸تراکنش Reverse شده است
۴۹تراکنش Refund یافت نشد
۵۱تراکنش تکراری است
۵۴تراکنش مرجع موجود نیست
۵۵تراکنش نامعتبر است
۶۱خطا در واریز
۱۱۱صادر کننده کارت نامعتبر است
۱۱۲خطای سوییچ صادر کننده کارت
۱۱۳پاسخی از صادر کننده کارت دریافت نشد
۱۱۴دارنده کارت مجاز به انجام این تراکنش نیست
۴۱۲شناسه قبض نادرست است
۴۱۳شناسه پرداخت نادرست است
۴۱۴سازمان صادر کننده قبض نامعتبر است
۴۱۵زمان جلسه کاری به پایان رسیده است
۴۱۶خطا در ثبت اطلاعات
۴۱۷شناسه پرداخت کننده نامعتبر است
۴۱۸اشکال در تعریف اطلاعات مشتری
۴۱۹تعداد دفعات ورود اطلاعات از حد مجاز گذشته است
۴۲۱IP نامعتبر است

محتوای فایل ZIP :

  • دو نسخه هماهنگ با PHP ورژن های ۵٫۶ به پایین و ۷ به بالا در فولدر /purePHP  وجود دارد.
  • کلاس آماده درگاه بانک ملت نیز در فولدر /phpClass  قرار دارد که می تواند آن را در همه جای پروژه فقط با ساختن شی استفاده کنید (نحوه استفاده از این کلاس و یک فایل نمونه از آن همراه سورس کد قرار داده شده است).
  • نسخه مخصوص اتصال به درگاه بانک ملت برای فریموک لاراول نیز در فولدر /Laravel قرار دارد.

برای دانلود سورس کد آموزش اتصال به درگاه بانک ملت php + کد های نمونه + مستندات PDF + کتابخانه nusoap از قسمت زیر اقدام کنید

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

دیدگاه کاربران

avatar
47 دیدگاه ها
73 پاسخ ها
0 دنبال کننده ها
 
دیدگاه با بیشترین پاسخ
پرطرفدارترین دیدگاه ها
37 تعداد نویسندگان دیدگاه
حسن شفیعیمحمدرضا اکبرپور916517hamedبهمن نویسنده های اخیر دیدگاه
محمدرضا اکبرپور
محمدرضا اکبرپور

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

916517
916517

منظورتون اینه که پکیج های
{
“require”: {
“illuminate/support” : “^5.2”,
“econea/nusoap”: “v0.9.5.*”
},
“autoload”: {
“psr-0”: {
“NetParadis\\BankMellatPaymentService\\”: “src”
}
}
}
به فایل کامپوزر دات جیسون پروژه لاراول ضمیمه کنم ، تا با دستور کامپوزر آپدیت پکیج ها نصب بشن؟
در این صورت که دو فایل اصلی (mellat-bank-netparadis/Laravel/src/BankMellatPayment.php و سرویس پروایدر) به پروژه لاراول ایمپورت نمیشن تا من از کلاس BankMellatPayment با متد های مختلفش استفاده کنم؟

916517
916517

ممنون بابت زحمات تا جایی که من متوجه شدم: ۱٫ استخراج فایل ۲٫ استفاده از کامپوزر داخل پوشه لاراول (پوشه لاراولی که درون فایل شما قرار داره) برای نصب پکیج ها ۳٫ انتقال پیکیج های نصب شده به پوشه وندور پروژه لاراول ۴٫ انتقال فایل src/config/BankMellatPayment.php به laravel/config ۵٫ انتقال محتویات فایل README.md (البته به جز چند خط توضیح ابتدا فایل) به laravel/.env ۶٫ جایگذاری اطلاعات دریافت شده از بانک به جای داده های نمونه انتقال داده شده به فایل laravel/.env اما مواردی که متوجه نشدم : ۱٫ محل قرار گیری فایل mellat-bank-netparadis/Laravel/src/BankMellatPayment.php ۲٫ محل قرار گیری فایل mellat-bank-netparadis/Laravel/src/BankMellatPaymentServiceProvider.php ۳٫… نمایش بیشتر

hamed
hamed

با سلام
ارور ۴۱۸ میده ! مشکل از کجاست ؟

بهمن
بهمن

ممنون، تست کردم و خطای ۴۱۸ گرفتم. با پشتیبان به پرداخت تماس گرفتم، مشکل از سمت به پرداخت بود. بازم تشکر

بهمن
بهمن

نسخه php سازگار با whmcs من ۵٫۶ هست. ولی با PHP های مختلف تست کردم و فایل های ۷٫x و ۵٫x که قرار داده بودید رو هم تست کردم، هیچ کدوم از حالت ها جواب نگرفتم. ولی مثلاً در php ورژن ۵٫۶ nusoap.php شما رو جایگزین کردم، بعد از پیغام “امکان اتصال وجود ندارد، لطفا دوباره تلاش کنید” warning برطرف شد. مشکل از چی هست به نظرتون؟
تشکر

بهمن
بهمن

ممنون مهندس
این فایل رو آپلود کردم و اطلاعات درگاه رو داخل فایل config قرار دادم، موقع پرداخت صورتحساب پیغام “امکان اتصال وجود ندارد، لطفا دوباره تلاش کنید” نمایش داده می شود و بعد خطای زیر رو نمایش میده:
Warning: Creating default object from empty value in /home3/…/public_html/fa/modules/gateways/Mellat/lib/nusoap.php on line 74
این خطا برای چی هست؟

بهمن
بهمن

سلام مهندس، ممنون بابت زحماتت
تو WHMCS چطور میتونم از این کدها استفاده کنم؟

علیرضا
علیرضا

ببینید اول باید یه اطلاعاتی به index.php ارسال بشه بعد اون صفحه هم اتوماتیک وصل میشه به سایت بانک . چیکار کنم که کسی نتونه amount رو دستکاری کنه ؟ من الان مقدار amount رو با فرم html ساده میفرستم اشکال داره ؟

محمد
محمد

سلام لطفا یه راهنمایی بکنید و توضیح بدید برای استفاده از نمونه کد لاراول

Milad
Milad

باسلام و خسته نباشید خدمت شما. چطور میشه از قسمت additionalData در قسمت پارامترها استفاده کرد درواقع اطلاعات کاربر رو داخلش قرار بدیم و در موقع برگشت از درگاه بانک اطلاعات کاربر رو بهمون برگردونه تا در دیتابیس قرار بدیم.
اضافه کنم که additionalData رو به صورت آرایه مینویسم و در داخل آرایه پارامتر قرار میدم ولی خطای زیر میاد:
[faultstring] => Unmarshalling Error: unexpected element (uri:””, local:”names”). Expected elements are (none)
چطور این مشکل حل بشه؟

ali
ali

در فایل index.php ، متد $mellat->startPayment(‘2000’, ‘https://netparadis.com’); مارو به صفحه بانک میفرسته چطور متد بعدی یعنی $mellat->checkPayment($_POST); اجرا میشه در حالی که از ایندکس خارج شدیم؟

علی
علی

سپاس فراوان

علی
علی

وریفای باید در آدرسی که به عنوان callBackUrl میدیم انجام بشه؟

علیرضا
علیرضا

سلام و عرض ادب

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

امیر
امیر

سلام. بدست آوردن IP با Ping مشکلی نداره؟

امیرحسین آقاجانی
امیرحسین آقاجانی

سلام!
ممنون از آموزش خوبتون ولی من با Error : 421 مواجه شدم!
کجای کار ایراد داره ؟

امیرحسین آقاجانی
امیرحسین آقاجانی

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

با تشکر

هادی
هادی

مرسی از مطلبی که به اشتراک گذاشتی

مجید
مجید

سلام
چطوری میتونم این درگاه پرداخت رو تست کنم…چون درگاه پرداخت واقعی ندارم…؟

محمد بالاگر
محمد بالاگر

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

محمد بالاگر
محمد بالاگر

مبلغ کسر شده یکی از تراکنش ها نیز بصورت اصلاحیه برگشت داده شد.

علی
علی

سلام من برای مقدار دهی از SESSION استفاده می کنم و خطای there was problem bankرو میده علتش چی هست و وقتی همون صفحه رو می بندم و از طریق مسیر دهی وارد میشم سریع میره به درگاه بانک ؟؟ با سپاس

علی
علی

با سلام در صفحه verify قسمت if($result == ) چون مقدار دهی نشده کار نمی کنه چه مقداری رو باید قرار بدم با سپاس

علی
علی

با سلام و خسته نباشید من کدها رو گذاشتم ولی صفحه verify مثل اینکه تو کد نویسی مشکل داره من فقط و یوزر و پسورد و شماره پایانه رو گذاشتم چیز دیگه ای هم باید تغییر بدم؟
وقتی صفحه verify رو باز می کنم ارور ۵۰۰ میده انگار یه چیزی توی برنامه ایراد داره و run نمیشه

محمدرضا
محمدرضا

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

هادی
هادی

سلام؛ ببخشید این کتابخونه nusoap رو چطور میشه با کامپوزر اضافه کرد؟! من اضافه کردم خطا داد
برای PHP 7 به بالا میخوام.
دستور: composer require econea/nusoap: ~0.9.5.1
لینک: https://github.com/econea/nusoap

امید
امید

سلام خسته نباشید
در صفحه ی callback از $result که var_dump میگیرم نتیجه را بصورت زیر نمایش میده و نمیدونم چرا ۰ به ما برنمیگردونه تا کد متد settle اجرا بشه و تراکنش کامل اجرا بشه
بیش ازین سپاس فراوان بابت راهنماییتون
array(2) { [“faultcode”]=> string(11) “soap:Client” [“faultstring”]=> string(42) “Unmarshalling Error: For input string: “” ” }

امید رضا
امید رضا

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

هادی
هادی

سلام؛ قسمت اول که یه فرم HTML باز کردین و سابمیتش کردین تا انتقال پیدا کنه
ولی من چون دارم یه وب سرویس REST با خروجی جیسوسن مینویسم اینجاشو نمیدونم چیکار باید کنم؟!
کاربرو تو سمت کلاینت به چه آدرسی داخل مرورگر انتقال بدم؟!

عباس
عباس

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

دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

سورس فروشگاهی دیجی کالا

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

مجوزهای ما

logo-samandehi

دانلود کتاب

عضویت رایگان خبرنامه

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