بروزرسانی در ۳ بهمن ۱۳۹۷ : افزودن لیست خطاهای درگاه بانک ملت
بروزرسانی در ۲۷ شهریور ۱۳۹۷ : افزودن کلاس 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 استفاده خواهیم کرد.
اتصال به درگاه بانک ملت php
برنامه نویسی درگاه با توجه به نیاز به استفاده از توابع Soap در PHP کاری بسیار چالش برانگیز بوده، زیرا این تابع در نسخه های مختلف PHP رفتار متفاوتی را از خود نشان می دهد.
به منظور استفاده هرچه راحتر یک نمونه کد ” اتصال به درگاه بانک ملت php ” برای ارسال تراکنش به بانک و یک نمونه کد برسی تراکنش بعد از برگشت از بانک نوشتم که کار شما رو تا حد زیادی راحت میکنه
در آخر پروژه فایل nusoap برای اتصال به بانک را برای دانلود قرار دادیم
index.php – ارسال تراکنش به درگاه بانک ملت :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
<?php include_once('lib/nusoap.php'); $terminalId = "0000000"; // Terminal ID $userName = "xxxxxxx"; // Username $userPassword = "0000000"; // Password $orderId = time(); // Order ID $amount = "1000"; // Price / Rial $localDate = date('Ymd'); // Date $localTime = date('Gis'); // Time $additionalData = ''; $callBackUrl = "http://name.ir/verify.php"; // Callback URL $payerId = 0; //-- تبدیل اطلاعات به آرایه برای ارسال به بانک $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'amount' => $amount, 'localDate' => $localDate, 'localTime' => $localTime, 'additionalData' => $additionalData, 'callBackUrl' => $callBackUrl, 'payerId' => $payerId); $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/'; $result = $client->call('bpPayRequest', $parameters, $namespace); //-- بررسی وجود خطا if ($client->fault) { //-- نمایش خطا echo "There was a problem connecting to Bank"; exit; } else { $err = $client->getError(); if ($err) { //-- نمایش خطا echo "Error : ". $err; exit; } else { $res = explode (',',$result); $ResCode = $res[0]; if ($ResCode == "0") { //-- انتقال به درگاه پرداخت echo '<form name="myform" action="https://bpm.shaparak.ir/pgwchannel/startpay.mellat" method="POST"> <input type="hidden" id="RefId" name="RefId" value="'. $res[1] .'"> </form> <script type="text/javascript">window.onload = formSubmit; function formSubmit() { document.forms[0].submit(); }</script>'; exit; } else { //-- نمایش خطا echo "Error : ". $result; exit; } } } ?> |
verify.php – جهت برسی نتیجه تراکنش :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<?php if ($_POST['ResCode'] == '0') { //--پرداخت در بانک باموفقیت بوده include_once('lib/nusoap.php'); $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/'; $terminalId = "0000000"; // Terminal ID $userName = "xxxxxxx"; // Username $userPassword = "0000000"; // Password $orderId = $_POST['SaleOrderId']; // Order ID $verifySaleOrderId = $_POST['SaleOrderId']; $verifySaleReferenceId = $_POST['SaleReferenceId']; $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId); // Call the SOAP method $result = $client->call('bpVerifyRequest', $parameters, $namespace); if($result == '0') { //-- وریفای به درستی انجام شد٬ درخواست واریز وجه // Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); if($result == '0') { //-- تمام مراحل پرداخت به درستی انجام شد. //-- آماده کردن خروجی echo 'The transaction was successful'; } else { //-- در درخواست واریز وجه مشکل به وجود آمد. درخواست بازگشت وجه داده شود. $client->call('bpReversalRequest', $parameters, $namespace); echo 'Error : '. $result; } } else { //-- وریفای به مشکل خورد٬ نمایش پیغام خطا و بازگشت زدن مبلغ $client->call('bpReversalRequest', $parameters, $namespace); echo 'Error : '. $result; } } else { //-- پرداخت با خطا همراه بوده echo 'Error : '. $_POST['ResCode']; } ?> |
لیست ارورهای درگاه بانک ملت
Error | پیغام |
---|---|
۰ | تراکنش با موفقیت انجام شد |
۱۱ | شماره کارت نامعتبر است |
۱۲ | موجودی کافی نیست |
۱۳ | رمز نادرست است |
۱۴ | تعداد دفعات وارد کردن رمز بیش از حد مجاز است |
۱۵ | کارت نامعتبر است |
۱۶ | دفعات برداشت وجه بیش از حد مجاز است |
۱۷ | کاربر از انجام تراکنش منصرف شده است |
۱۸ | تاریخ انقضای کارت گذشته است |
۱۹ | مبلغ برداشت وجه بیش از حد مجاز است |
۲۱ | پذیرنده نامعتبر است |
۲۳ | خطای امنیتی رخ داده است |
۲۴ | اطلاعات کاربری پذیرنده نامعتبر است |
۲۵ | مبلغ نامعتبر است |
۳۱ | پاسخ نامعتبر است |
۳۲ | فرمت اطلاعات وارد شده صحیح نمی باشد |
۳۳ | حساب نامعتبر است |
۳۴ | خطای سیستمی |
۳۵ | تاریخ نامعتبر است |
۴۱ | شماره درخواست تکراری است |
۴۲ | یافت نشد Sale تراکنش |
۴۳ | قبلا درخواست Verify داده شده است |
۴۴ | درخواست Verfiy یافت نشد |
Error | پیغام |
---|---|
۴۵ | تراکنش Settle (تسویه) شده است |
۴۶ | تراکنش Settle (تسویه)نشده است |
۴۷ | تراکنش Settle یافت نشد |
۴۸ | تراکنش Reverse شده است |
۴۹ | تراکنش Refund یافت نشد |
۵۱ | تراکنش تکراری است |
۵۴ | تراکنش مرجع موجود نیست |
۵۵ | تراکنش نامعتبر است |
۶۱ | خطا در واریز |
۱۱۱ | صادر کننده کارت نامعتبر است |
۱۱۲ | خطای سوییچ صادر کننده کارت |
۱۱۳ | پاسخی از صادر کننده کارت دریافت نشد |
۱۱۴ | دارنده کارت مجاز به انجام این تراکنش نیست |
۴۱۲ | شناسه قبض نادرست است |
۴۱۳ | شناسه پرداخت نادرست است |
۴۱۴ | سازمان صادر کننده قبض نامعتبر است |
۴۱۵ | زمان جلسه کاری به پایان رسیده است |
۴۱۶ | خطا در ثبت اطلاعات |
۴۱۷ | شناسه پرداخت کننده نامعتبر است |
۴۱۸ | اشکال در تعریف اطلاعات مشتری |
۴۱۹ | تعداد دفعات ورود اطلاعات از حد مجاز گذشته است |
۴۲۱ | IP نامعتبر است |
محتوای فایل ZIP :
- دو نسخه هماهنگ با PHP ورژن های ۵٫۶ به پایین و ۷ به بالا در فولدر
/purePHP
وجود دارد. - کلاس آماده درگاه بانک ملت نیز در فولدر
/phpClass
قرار دارد که می تواند آن را در همه جای پروژه فقط با ساختن شی استفاده کنید (نحوه استفاده از این کلاس و یک فایل نمونه از آن همراه سورس کد قرار داده شده است). - نسخه مخصوص اتصال به درگاه بانک ملت برای فریموک لاراول نیز در فولدر
/Laravel
قرار دارد.
سلام، خیلی ممنونم ازین آموزش!
فقط یه سوال!
به پرداخت به من فقط نام کاربری پرتال و پسورد رو داده!
بقیه اطلاعات رو از کجا باید بیارم؟ مثلا ترمینال ؟!
با تشکر
سلام . خوشحالم مفید واقع شده . تمام اطلاعات مورد نیاز برای شما از طرف پشتیبانی فنی به پرداخت برای شما ایمیل میشه.
موفق باشید.
مرسی از مطلبی که به اشتراک گذاشتی
سلام . خوشحالم مفید واقع شده . موفق باشید.
سلام
چطوری میتونم این درگاه پرداخت رو تست کنم…چون درگاه پرداخت واقعی ندارم…؟
سلام. به هیچ طریق! .تا زمانی که بهش نیاز ندارید از تست کردن کدهای مربوط به درگاه های پرداخت مستقیم خودداری کنید.
هر زمان پروژه ای از کارفرما داشتید که نیاز به درگاه مستقیمی مثل ملت رو داشت بهتون اطلاعات و سرور رو میدن تا این رو تست و راه اندازی کنید.
یا اینکه اگر سایتی راه اندازی و درگاه مستقیم گرفتید میتونید این کد ها رو تست کنید.
موفق باشید.
سلام
خیلی ممنون .بنده از کدهای فوق استفاده کردم ، تراکنش انجام میشه و در انتها هیچ پیغامی نشون نمیده که متوجه بشم تراکنش با موفقیت بوده یا خیر ؟؟؟ مبلغ نیز کسر می گردد.
مبلغ کسر شده یکی از تراکنش ها نیز بصورت اصلاحیه برگشت داده شد.
سلام . خواهش می کنم. مرحله وریفای کدهاشو بنابر توضیحات با دابل کلیک و وارد شدن به محیط سفیدرنگ کپی کنید . همچنین مشکلی نداره و در نهایت همین کپی رو درست انجام بدید تا پیام ها براتون بدرستی نمایش داده بشه.
موفق باشید.
همین کار را هم کرده ام ولی متن زیر رو نشون میده
Error :
احتمالا مقدار دهی های شما اشتباه بوده یکبار از $result خودتون بعد از خط ۲۴ وریفای var_dump گرفته و چک کنید.
موفق باشید.
پیغام های خطا را شماره گذاری کردم .آخرین error اجرا میشه یعنی ResCode مقداری نمیگیره که چاپ نمیشه!!!
مشکل از کجاست؟؟
کدها کاملا درسته . بارها هم استفاده شده . یا جایی رو اشتباه تغییر میدید یا محیط هاست مشکل یا یه سری محدودیت ها داره که خود شما دیگه باید این مورد رو بررسی و حل کنید.
موفق باشید.
تنظیمات خاصی رو باید در دامنه و هاست انجام داد؟؟
در صفحه index مقدار payerId$ باید ۰ باشه؟
درکل باید کدوم قسمتهای کد رو تغییر بدم تا چک کنم که اشتباه نکرده باشم؟
خیر تنظیمات خاصی نیاز نیست .
فقط باید اطلاعاتی که از بانک ملت گرفتید بعلاوه آدرس بازگشی callback را تغییر بدید همین.
اگر با php مقدماتی به بالا آشنا نیستید بهتره به فرد دیگری بدید تا اینکار رو برای شما انجام بدند.
موفق باشید.
منم دقیقا همین کارها را انجام داده ام ولی….
سلام
با پشتیبان به ملت صحبت کردم و حتی کدها را نیز براشون فرستادم ولی میگن مشکل از کدهاست؟؟
با توجه به اینکه اعلام کردین کدها تست شده و بی نقص است به نظر شما مشکل میتونه از هاست باشه و باید تنظیمات خاصی انجام بده؟؟چرا که ما حتی درگاه بانک ملی رو هم نتونستیم را بندازیم و دقیقا همین مشکل را داشتیم و مبلغ برگشت میخورد که حتی پشتیبان هم نتوست کمکی کنه و ما مجبور شدیم درگاه بانک ملت را درخواست بدیم.
سلام . بله احتمالا مشکل از هاست میتونه باشه . موفق باشید.
سلام من برای مقدار دهی از SESSION استفاده می کنم و خطای there was problem bankرو میده علتش چی هست و وقتی همون صفحه رو می بندم و از طریق مسیر دهی وارد میشم سریع میره به درگاه بانک ؟؟ با سپاس
سلام . احتمالا مقادیر سیشن رو نتونستید صحیح بخونید . ابتدا بصورت عادی مقادیر رو دستی ست و تست کنید اگر اوکی بود مراحل بعد رو دنبال کنید.
برای استفاده از سیشن بهتره قبل از هرچیزی در خط اول بعد از و قبل از هر کد دیگری session_start() رو فراخوانی کنید و بعد دوباره تست کنید و همچنین مقادیر $_SESSION رو var_dumpکنید تا متوجه مشکل بشید.
موفق باشید.
با سلام در صفحه verify قسمت if($result == ) چون مقدار دهی نشده کار نمی کنه چه مقداری رو باید قرار بدم با سپاس
سلام . ممنون .
برای کپی کدها توی متن آموزش هم تاکید شده که روی کدها دوبار کلیک کنید تا واد محیط سفید و کپی کد بشید . به اینصورت دیگه مشکلی بابت استفاده از کد نخواهید داشت. یا اینکه میتونید از باکس دانلود نسخه کامل رو دریافت کنید.
موفق باشید
سپاسگزارم کار کرد
با سلام و خسته نباشید من کدها رو گذاشتم ولی صفحه verify مثل اینکه تو کد نویسی مشکل داره من فقط و یوزر و پسورد و شماره پایانه رو گذاشتم چیز دیگه ای هم باید تغییر بدم؟
وقتی صفحه verify رو باز می کنم ارور ۵۰۰ میده انگار یه چیزی توی برنامه ایراد داره و run نمیشه
واقعا اموزش هاتون عالی هستش یکی از بهترین سایت های ایرانی هستید ارزوی موفقیت برای شما و تمام اعضای وبسایت دارم
سلام . ممنونم خیلی لطف دارید شما . همیشه موفق و پیروز باشید.
سلام؛ ببخشید این کتابخونه nusoap رو چطور میشه با کامپوزر اضافه کرد؟! من اضافه کردم خطا داد
برای PHP 7 به بالا میخوام.
دستور: composer require econea/nusoap: ~0.9.5.1
لینک: https://github.com/econea/nusoap
سلام . از این پکیج استفاده کنید.
composer require codecasts/nusoap-php7
برای دریافت پکیج های کامپوزر همیشه سعی کنید ابتدا در سایت رسمی پکیج های اون ینی https://packagist.org جستجو کنید.
موفق باشید.
ممنون حسن آقا
پکیج قبلی رو هم ورژنشو از دستورش برداشتم وارد کرد و ارور نداد! ولی با هردو پکیج که تست میکنم مقدار ResCode برابر ۴۲۱ میشه!
منظورش چیه؟! البته اینم بگم که توی پارامترها terminalId، userName و userPassword رو به اطلاعات خودم تغییر دادم و اطلاعاتم توی EDD وردپرس به درستی کار میکنه!
خواهش می کنم. خطای ۴۲۱ مربوط به نامعتبر بودن IP هستش . لیست کامل خطاها با توضیحات صفحه آخر داکیومنت راهنما وجود داره.
موفق باشید.
درگاه فقط روی دامنهای که باهاش ثبت نام شده کار میکنه؟! یا اگه اینطور نیست در این مورد که میگه نامعتبره چه کاری باید انجام داد؟!
چون من نگرفتم درگاه و یکی از دوستام گرفته اطلاعی ندارم.
پس باید دقیقا ازش اطلاع پیدا کنید و اگر ip با چیزی که در “به پرداخت” ثبت شده یکسان نیست میتونید باهاشون در این مورد تماس بگیرید تا تغییرات رو لحاظ کنند.
سلام خسته نباشید
در صفحه ی callback از $result که var_dump میگیرم نتیجه را بصورت زیر نمایش میده و نمیدونم چرا ۰ به ما برنمیگردونه تا کد متد settle اجرا بشه و تراکنش کامل اجرا بشه
بیش ازین سپاس فراوان بابت راهنماییتون
array(2) { [“faultcode”]=> string(11) “soap:Client” [“faultstring”]=> string(42) “Unmarshalling Error: For input string: “” ” }
سلام . ممنون . یکی از پارامتر هایی که به سمت بانک ارسال می کنید خالیه و برای همین هنگام بازگشت به این خطا بر میخورید که برای حل این مشکل مطمین باشید پارامترها رو مقداردهی و ارسال کنید
موفق باشید
حسن آقا یه دنیا ممنون
حل شد
مرسی
انشالله به هرچی میخوای تو زندگیت برسی
سپاس فراوان
خواهش میکنم . لطف دارید همچنین . موفق و پیروز باشید
با سلام و تشکر بابت کدهایی که گذاشتید و باعث کمک زیادی شد.
خواستم بگم صفحه ی verify من قسمت کال کردن متد bpVerifyRequest عمل نمیکنه و تراکنش از طرف بانک به دلیل اجرا نشدن این متد اصلاحی یا برگشت میخوره
امکانش هست محبت کنید و راهنمایی کنید؟
سلام . خوشحالم مفد واقع شده . خب این متد در فایل verify بررسی و اجرا میشه و اگر اجرا بشه یک سری کد برگشت میده که بر اساس اون ما پیام ها رو نمایش می دیم که شما باید هم نمایش بدید و هم یک سری تاییدیه ها و اعتبارسنجی ها در دیتابیس لحاظ کنید . بعد از bpverify شما باید settle رو هم انجام بدید تا واریز وجه انجام بشه . در غیر اینصورت برگشت می خوره که تمام اینها داخل کدها اعمال شده و عملا اگر طبق اونها پیش برید مشکلی پیش نماید و اگر موردی بود مطمینا یا تغییر نادرستی انجام دادید یا از سمت بانک هستش.
موفق باشید.
سلام؛ قسمت اول که یه فرم HTML باز کردین و سابمیتش کردین تا انتقال پیدا کنه
ولی من چون دارم یه وب سرویس REST با خروجی جیسوسن مینویسم اینجاشو نمیدونم چیکار باید کنم؟!
کاربرو تو سمت کلاینت به چه آدرسی داخل مرورگر انتقال بدم؟!
سلام . آدرس اصلی این هستش
https://bpm.shaparak.ir/pgwchannel/startpay.mellat
که باید بصورت متد post مقدارRefId
رو همراه باهاش ارسال کنید.موفق باشید.
ممنون از شما
هم وب ویوی اندروید تست کردم و هم داخل مرورگرای خود گوشی
سلام دوست عزیز.من برنامه نویسی رو اصلا بلد نیستم اما میتونم وارد هاست بشم و یک مقدار اطلاعات جزئی دارم.
من سایت فروشگاهی دارم که اینماد داره و تونستم درگاه به پرداخت بانک ملت رو براش بگیرم اما اصلا بلد نیستم
درگاه رو چطور وارد سایتم کنم.از طرفی هم حتی اعتماد ندارم که اطلاعات رمز و حساب کاربری
که بانک برای من ارسال کرده در اختیارپشتیبان سایت قرار بدم.
اگر امکان داره بفرمایید من چیکار کنم.آیا این کدها رو که داخل سایت گذاشتید رو کپی کنم و بعد شماره ترمینال و نام و کاربری
داخلش بزارم و بعد فایل درست کنم و آپلود کنم ؟؟؟؟
یا کار دیگه ای هم باید انجام بدم.ممنون میشم کامل برام توضیح بفرمایید.
سلاتم . خیر نیاز به برنامه نویسی داره تا این درگاه روی سایت شما اضافه بشه . اگر از cms های معروف مثل وردپرس استفاده می کنید کافیه که پلاگین درگاه ملت رو جستجو و بعد دانلود اون رو روی سایت نصب کنید در غیر اینصورت اگر سیستم اختصاصی دارید نیاز به دانش برنامه نویسی برای افزودن درکاه وجود داره چون ساختار هر سایت اختصاصی با بقیه متفاوته .
موفق باشید.
درود خسته نباشین میخواستم بدونم این سورس بزارم و.قتی کاربر پرداخت بزنه پیام میده ربات میگه پرداخت موفقیت امیز بود؟
سلام ممنون. کاربر به درگاه متصل میشه و بعد از برگشت , طبق عملیات انجام شده و نتیجه تراکنش پیام به کاربر نمایش داده میشه.
موفق باشید.
تشکر
سلام، نمونه کد های قرار داده شده برای php7 هنگام اجرا از متد getError خطا میگیره و این ارور رو میده
Uncaught SoapFault exception: [Client] Function (“getError”) is not a valid method … SoapClient->__call(‘getError’, Array) #1 {main} thrown in /home/banori/domains/banoris.com/public_html/pay/default.php on line 327
سلام . در خط ۳۰۶ فایل default.php به جای
soapclient
مقدارnusoap_client
را جایگزین کنید.موفق باشید.
با سلام و تشکر از زحمات شما از این اسکریپت تو اپن کارت چطوری میتونم استفاده کنم ؟
سلام . ماژول درگاه ملت برای اپن کارت آخرین ورژن قرار داده شد که میتونید مستقیما در پروژه خود استفاده کنید و یا با بررسی کدها نحوه پیاده سازی اون تحت اپن کارت رو یاد بگیرید.
دانلود ماژول بانک ملت اپن کارت
موفق باشید.
با تشکر از پاسختان اپن کارت من ورژن ش ۲.۰.۳.۱ هست که با این ورژن درگاه سازگار نیست راه حلش چیه ؟
ممنون از وقتی که گذاشتین
نسخه سازگار با ورژن اپن کارت شما قرار گرفت و از لینک زیر قابل دانلود است.
دانلود ماژول نسخه هماهنگ
موفق باشید.
خیلی خیلی ممنون حل شد
خواهش می کنم.موفق باشید.
سلام
ارتباط با درگاه بانک ملت پیاده سازی کردم و تو گوشی های اندرویدی و وبسایت درست کار میکنه اما تو بعضی از ای او اس ها (ایفون ۶ و ۷ ) از سمت بانک callback صدا زده نمیشه
پشتیبانی بانک هم میگه مشکل از خودتونه و راهنمایی دیگه ای نمیکنه
ممنون میشم اگر کسیتجربش داره راهنمایی کنه
سلام وقت بخیر من میخوام هنگامی که میخواد به قسمت پرداخت بره یه new tab باز بشه باید چیکار کنم؟
سلام . ممنون . از جاوااسکریپت استفاده کنید .
window.onload = function(){
window.open(url, "_blank"); // will open new tab on window.onload
}
موفق باشید.
سلام
میشه کد ها رو روی لوکال تست کرد و جواب گرفت یا حتما باید روی سروری که ای پیش به به پرداخت داده شده اجرا بشه؟
سلام . خیر نیاز به سرور دارید و همچنین اطلاعات پذیرندگی معتبر و مناسب برای همان سایت .
موفق باشید.
با سلام
من از نمونه کد شما استفاده کردم
در صفحه درخواست اطلاعات با موفقیت برای درگاه ارسال میشه ولی بعد از پرداخت در صفحه کاملا سفید Error : رو تایپ میکنه
ضمن اینکه من از php 5.6 استفاده می کنم
ممنون میشم پاسخ من رو بدید
ممنون
سلام . نسخه nusoapی که قرار دادیم معمولا با تمام نسخه های php هماهنگه . به هر حال برای تست مجدد نسخه مناسب php شما رو قرار دادم (از لینک بالا مجدد دانلود کنید) . بعد تست, نتیجه رو اعلام کنید .
موفق باشید
سلام
مدت ها بود با ی سایت که مدیرش حرفه ای باشه برخورد نکرده بودم
دمت گرم
موفق باشی
سلام . خواهش می کنم. همچنین موفق باشید
ممنون
با این ورژن جدید کتابخانه nusoap.php این مشکل حل شد.
یک مسئله
با کد نمونه ای که همراه کتابخانه است( default.php ) امتحان کردم ارور داده
Uncaught SoapFault exception: [Client] Function (“getError”) is not a valid method for this service
ظمنا ان کدی دیگری که گفتم در فرد دیگری نوشته و نت یافت می شود را شما میتوانید تکمیل کنید؟کلا در نت دو اسکریپت تقریبا کامل و بسیار روان و قابل فهم یافت میشود.اولی کد شما است که بسار خوب نوشته شده و دیگری کدی که در آدرس زیر قرار دارد. ولی با مشکل و نقص
ممنون می شوم این کد را برسی کرده و تکمیل نمایید
مشکلی نداره همانند کدی است که قرار دادیم با این تفاوت که از کتابخانه داخلی خود php استفاده کرده که کافیه شما اینکلود رو انجام ندید و ابجکت SoapClient رو فراخوانی کنید (در واقع در کدها نیاز است فقط replace کنید.)
موفق باشید.
نه.مشکل دارد.
مثلا در جایی امده است از متغییر resultStr$ استفاده کرده ، در صورتی که این متغییر مقدار هی و تعریف نشده است
متاسفانه در کل اینترنت هر سایتی این پست و مطلب را کپی کرده باشد، به همراه این اشکال و خطا بوده و نتوانسته این مشکل را رفع نماید
ممنون میشوم اگر مقدور است این خطا ها را رفع نموده و یک کد یکپارچه دیگر برای عموم ارائه دهید.
سلام . همانطور که گقتم نیاز به هیچ کد دیگه ای ندارید . همین نمونه ای که قرار دادیم نیاز شما به درگاه ملت رو کاملا برطرف میکنه .
به جای $resultStr از $result استفاده کنید که یک خط بالاتر تعریف شده
موفق باشید.
سلام
کد شما با ورژن ۷ php مشکل دارد، به خصوص با nusoap
می توانید علت مشکل و راه حل ان را بگویید.
ضمنا یک کد دیگر هم در اینترنت پیدا کرده ام با soap که ناقص است.لطف می کنید و به ان را کامل نمایید.
سلام . دقیقا چه مشکلی داره و چه خطایی دریافت می کنید . در صورت بروز خطا اطلاع بدید روی هاست شما با نسخه ۷ تست بشه.
موفق باشید.
من مدیر فنی چتد سایت هستم
در یکی از سایت ها از کد شما استفاده کردم و تقریبا همیشه درست عمل میکند.
الان دقیقا می خواستم هماین کد را در سایت دیگری استفاده کنم . که مشکل زیر را میدهد، با وجود اینکه در سایت اول این مشکل وجود ندارد
syntax error, unexpected ‘new’ (T_NEW) in /home/jahromtag/public_html/jtag_config/include/nusoap/nusoap.php on line 7381
پس از برسی و پیشنهاد دیگر دوستانم ، ورژن php هر دو سایت را برسی کرده و مشاهده کردم که اسکریپت شما و nusoap همراه ان فقط در نسخه ۵٫۶ php کار می کند.
ورژن جدید کتابخانه جایگزین شد و همین حالا میتویند با نسخه جدید تست کنید و نتیجه رو در همین کامنت اطلاع بدید.
ممنون مهندس
خواهش میکنم . موفق باشید.
سلام. اولا تشکر به خاطر مطلب مفیدتون.
داشتم روی کد کار میکردم که یکدفعه الان ساعت ۲:۳۰ بامداد نمیتونه به درگاه وصل بشه و کد ارورThere was a problem connecting to Bank رو نشون میده.
این ارور صرفا مشکل قطعی موقت درگاه رو نشون میده یا مثلا ممکنه یکی از فیلد های ارسالی به درگاه یا مثلا بحث IP به مشکل خورده باشه؟
سلام . خواهش میکنم.
حتما مقدار کامل $result رو var_dump کنید تا دقیقا متوجه خطا و شماره اون بشید که بنابر داکیومنت به راحتی میتونید توضیحات دقیق خطا رو ببینید.
موفق باشید.
سلام خسته نباشید ممنون از اموزشهای خوبتون.
من سایت وردپرسی دارم افزونه ملت رو هم نصب کردم اما هنگام تکمیل خرید و پرداخت نهایی پول از حساب کاربر کم میشه اما به حساب من نمیاد بعد از ۱ ماه تیکت زدن به بانک و اینور و اونور تنها جوابی که گرفتم اینه که اجرای تابع ستل با مشکل روبه رو شده حالا چکار کنم؟ ممنون میشم راهنمایی کنید. بازم تشکر
سلام . ممنون.
اگر از این افزونه https://fa.wordpress.org/plugins/mellat-woocommerce استفاده می کنید , هیچ مشکلی نداره و به خوبی کار میکنه و بهتره برای تست نهایی خودتون یکبار تراکنش رو انجام بدید و بررسی کنید .
همچنین ببینید آیا این مشکل قبل بوده یا تازه پیش اومده .
و اگر این مشکل تسویه حساب و واریز نهایی (settle) از اولین استفاده از درگاه بانک ملت خودتون پیش اومده پس باید با بانک در ارتباط باشید.
اگر در نهایت مشکل حل نشد میتونید از بخش تماس با ما اطلاع بدید تا با هزینه این مورد بررسی و رفع بشه
موفق باشید.
سلام
از همین افزونه استفاده میکنم اما هنوز مشکل دارم. صد بار به بانک تیکت زدم اما هیچ جوابی نگرفتم متاسفانه
فقط اینو بلدن که بگن مشکل از توابع هست که باهم اجرا میشه در صورتی که کدهارو نشون یه متخصص دادم گفت کدها مشکلی ندارن
سلام آقای شفیعی ممنونم بابت آموزش های خوب و کاربردی
راضیم ازت 😀
سلام . مرسی خوشحالم مفید واقع شده .
موفق باشید
سلام خسته نباشید
من همین دو فایل رو گذاشتم تو سرور و اجرا کردم
کاربر به درستی به بانک ارسال میشه و پرداخت میکنه و بر میگرده
بعد از اینکه برگشت اطلاعات پرداخت هم به درستی به من پست میشه
اما در خط ۲۸ (یعنی در زمان درخواست واریز وجه) با ارور ۲۱ مواجه میشم
ممنون میشم راهنمایی کنید
سلام .
کد ارور ۲۱ با توجه به داکیومنت بانک ملت , “پذیرنده نامعتبر است” می باشد .
سلام . من هم همین مشکل رو دارم . اطلاعات پذیرنده رو هم درست نوشتم . چطوره که در متد bpPayRequest ، پذیرنده رو قبول می کنه ولی در سایر متد ها نامعتبر می دونه ؟
ممنون می شم جواب بدید .
سلام . دوست عزیز در هنگام تست ما همچنین مشکلی مشاهده نشده . لطفا دقیق بفرمایید چه اروری دریافت می کنید.
آقا اشکال از کد شما نبود . با پشتیبانی « به پرداخت » تماس گرفتم ، نمی دونم چی کار کردند ولی درست شد . خیلی ممنون
موفق باشید.
توی نمونه سورس یه چی دیگه گذاشتی ، توی توضیحات یه چی دیگه گذاشتی
سلام . این کد هایی که در مقاله معرفی شده صرفا کدهای اتصال به بانک و برگشت و تایید پرداخت می باشد . ولی در سورس کد به صورت کامل کدهای تمام مراحل واقعی برای ارسال درخواست به بانک و برگشت موفقیت امیز و چاپ اطلاعات پرداخت قرار داده شده تا با اجرای آن کل فرایند رو به صورت مستقیم ببینید . همچنین کتابخانه ها و راهنمای درگاه پرداخت بانک ملت قرار داده شده . که مطمینا برای پیاده سازی باید با php به صورت مقدماتی به بالا آشنایی داشته باشید . چونکه اتصال به درگاه بانک ملت کمی متفاوت تر از دیگر درگاه ها بخصوص درگاه های واسط است .
هر جایی از کد مشکل داشتید بگید راهنمایی میشه
موفق باشید