50درصد تخفیف سورس فروشگاهی دیجی کالا + اپلیکیشن اندروید تا پایان این هفته - کد تخفیف : off50
با تخفیف میخرم

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

  • آپدیت شده در تاریخ

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

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

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

 

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

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

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

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

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

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

باشین IP بسیار مهم هست و برای اتصال درگاه به سایت شما نقش اساسی دارد پس IP درست را وارد نمایید.

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

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

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

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

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

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

ساخت جدول دیتابیس برای ذخیره تراکنش

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

example.php – ارسال و بررسی نتیجه تراکنش :

در خط ۹م اطلاعات اتصال به دیتابیس را مشخص کنید و در خط ۱۱م که باید مرچنت ID و پسورد اتصال به درگاه سامان را به آبجکت پاس بدید.

با فراخوانی فایل example.php و وارد کردن مبلغ می توانید به بانک سامل متصل شوید و بعد از تراکنش کاربر را به سایت ارجاع و تراکنش را بررسی و سفارش را تایید کنید.

فایل SBPayment.class.php – کلاس شامل متد های پرداخت سامان را همراه با سورس اتصال به درگاه بانک سامان php + کتابخانه nusoap + داکیومنت راهنما را از باکس دانلود دریافت کنید.

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

موفق و پیروز باشید.

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

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۲۰)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. کاربر ۱۵ اسفند ۱۳۹۷

    سلام

    در کدهایی که از این قسمت دانلود کردم سه فایل:example.php و nusoap.php و SBPayment.class.php موجود می باشد و فایلی به نام verify.php را نمی توانم پیدا کنم.

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

    پاسخ
    1. حسن شفیعی ۱۹ اسفند ۱۳۹۷

      سلام. شرمنده با کدهای درگاه بانکی دیگر اشتباه گرفته شده.
      شما هنگام بازگشت از بانک در فایل example.php و در خط بعد ۱۳ و قبل ۱۴ یک کد var_dump($_POST);die; را قرار بدید تا متوجه بشید چه ایندکس و داده هایی از سمت بانک برگشت داده می شود. همچنین در این نمونه کد از دیتابیس استفاده شده (در فایل SBPayment.class.php بصورت کامنت قرار داده که آن را میتونید در دیتابیس مورد نظر(در phpmyadmin) به عنوان یک sql اجرا کنید تا جدول تراکنش ساخته بشه) که نیاز است هنگام ارسال به بانک این اطلاعات را با کویری زدن به دیتابیس ذخیره و هنگام بازگشت از بانک یک مقدار فلگ مثل status تراکنش را بروزرسانی کنید.

      پاسخ
  2. کاربر ۱۴ اسفند ۱۳۹۷

    با سلام

    مقدار $res در کدام قسمت از کدها تعریف شده که اون رو var_dump کنم.

    منظورتون همون متغیر $refNum هست؟؟؟

    من نمی تونم بفهمم که در کدهای شما دقیقا کجا از بانک برمیگردیم!!!

    پاسخ
    1. حسن شفیعی ۱۴ اسفند ۱۳۹۷

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

      پاسخ
  3. کاربر ۱۳ اسفند ۱۳۹۷

    سلام

    کدهایی که در این پست قرار دادید رو تست کردم.
    خیلی کدهای جامع و کاملی است.

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

    وقتی پرداخت انجام می شه و برمیگرده در سایت پذیرنده ref_Num در دیتابیس ذخیره نمیشه و به همین علت چون نمی تونه ref_Num رو پیدا کنه error state چاپ می کند.

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

    به نظر شما مشکل از کجاست؟؟؟

    پاسخ
    1. حسن شفیعی ۱۴ اسفند ۱۳۹۷

      سلام. هنگام بازگشت از بانک لطفا مقدار $res را var_dump کنید تا ببینید آیا مقدار مورد نیاز برگشت داده شده یا خیر و در صورت نیاز اون رو در دیتابیس ذخیره کنید که در هنگام چک کردن وضعیت if($res[‘status’] ==0) // correct بروزرسانی انجام میشه.

      پاسخ
  4. داود ۳ مهر ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۳ مهر ۱۳۹۷

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

      موفق باشید.

      پاسخ
  5. حسن ۲۴ تیر ۱۳۹۷

    سلام خسته نباشید
    ببخشید وقتی کل کار ها رو اجرا می کنم این پیغام ها رو میده
    [۱۵-Jul-2018 02:10:38 America/Chicago] PHP Warning: Missing argument 3 for SBPayment::__construct(), called in /home/fifcgaiq/SITE.COM/example.php on line 11 and defined in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 102
    [۱۵-Jul-2018 02:10:38 America/Chicago] PHP Notice: Undefined variable: connection in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 106
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Warning: Missing argument 3 for SBPayment::__construct(), called in /home/fifcgaiq/SITE.COM/example.php on line 11 and defined in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 102
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Notice: Undefined variable: connection in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 106
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 115
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 116
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 156
    [۱۵-Jul-2018 02:10:41 America/Chicago] PHP Warning: mysqli_error() expects parameter 1 to be mysqli, null given in /home/fifcgaiq/SITE.COM/SBPayment.class.php on line 156

    کمک کنید فوری
    خیلی لازم دارم

    پاسخ
    1. حسن شفیعی ۲۴ تیر ۱۳۹۷

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

      پاسخ
      1. حسن ۲۴ تیر ۱۳۹۷

        ممنون از پاسخ گویی سریعتون
        درست شد ولی وقتی به بانک متصل میشه این پیغام رو میده
        خطا! .اطلاعات نامعتبر مي باشد

        پاسخ
      2. حسن شفیعی ۲۴ تیر ۱۳۹۷

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

        $sb = new SBPayment(“merchantID”,”password”,$conn);

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

        پاسخ
      3. حسن ۲۵ تیر ۱۳۹۷

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

        Untitled Document




        مشکلی نداره ….
        میتونید از اینجا امتحان کنید

        اگه دکمه pay رو بزنی که همون فرم بالاست به درگاه وصل میشه
        ولی مال شما که مبلغ رو میزنیم پیغام میده
        ممنون اگه زود جواب بدین خیلی لازم دارم

        پاسخ
      4. حسن شفیعی ۲۵ تیر ۱۳۹۷

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

        پاسخ
      5. حسن ۲۵ تیر ۱۳۹۷

        میتونید از اینجا امتحان کنید این روی سرور واقعی هستش
        http://shop.topcopy.ir/example.php
        اگه دکمه pay رو بزنی که همون فرم بالاست به درگاه وصل میشه
        ولی مال شما که مبلغ رو میزنیم پیغام میده
        ممنون اگه زود جواب بدین خیلی لازم دارم
        ——————————————————-
        درست کردم تا حدودی ولی الان پرداخت رو میزنیم تابع verifyTrans چیزی رو بر نمیگردونه
        خواهشن کمک کنید خیلی لازمه

        پاسخ
      6. حسن شفیعی ۲۵ تیر ۱۳۹۷

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

        پاسخ
      7. حسن ۳۱ تیر ۱۳۹۷

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

        پاسخ
      8. حسن شفیعی ۳۱ تیر ۱۳۹۷

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

        پاسخ
  6. مهدیه بهجت ۱۲ تیر ۱۳۹۷

    سلام وقت به خیر
    من همین طور با روش شمابرای درگاه بانک سامان پیش رفتم منتها من php رو یکم بردم تو فریم وورک یی چون پروژه ام یی (Yii2) هست البته فقط example رو و دو تا فایل دیگه رو فقط use کردم. حالا الان بعد از تایید فرم ورود مبلغ این ارور دارم :
    Field ‘ref_num’ doesn’t have a default value

    پاسخ
    1. حسن شفیعی ۱۲ تیر ۱۳۹۷

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

      $sb = new SBPayment("merchantID","password",$conn);

      موفق باشید.

      پاسخ
دوره های آموزشی

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link