پرش به محتوای اصلی
SDK و فریم‌ورک·shetabit/multipay driver

درایور multipay (لاراول) شی‌پی

بسیاری از سایت‌های لاراولی ایرانی برای اتصال به درگاه‌ها از پکیج shetabit/multipay یا shetabit/payment استفاده می‌کنند. این درایور شی‌پی را به همان پکیج اضافه می‌کند: purchase پرداخت را می‌سازد و شناسهٔ آن را برمی‌گرداند، pay مشتری را به صفحهٔ پرداخت می‌فرستد و verify پرداخت را سمت سرور با مبلغ سفارش تأیید می‌کند. اگر نتیجهٔ بانک هنوز نرسیده باشد، خطا با کد 202 برمی‌گردد تا سفارش لغو نشود. بقیهٔ کد سایت تغییری نمی‌کند.

  • وضعیت «در انتظار» درست
  • تومان و ریال
  • حالت آزمایشی با sk_test_

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

نصب

  1. ۱

    پوشهٔ بسته را در پروژه بگذارید (مثلاً packages/sheypay-multipay) و آن را به‌عنوان path repository در composer.json پروژه معرفی کنید.

  2. ۲

    composer require sheypay/multipay-driver را اجرا کنید.

  3. ۳

    در config/payment.php، در drivers بخش sheypay (کلید API، callbackUrl، واحد پول) و در map کلاس \SheyPay\Multipay\SheyPay::class را اضافه کنید.

  4. ۴

    در کد، Payment::via('sheypay') را به‌کار ببرید؛ نمونه در README بسته است.

  • کلاینت PHP شی‌پی هنگام ساخت بسته در lib/SheyPay.php قرار می‌گیرد.
  • تا پیش از انتشار روی Packagist، از فایل zip و path repository نصب کنید.

تنظیمات

apiKey
کلید API شی‌پی؛ sk_test_ برای آزمایش.
callbackUrl
آدرس بازگشت روی دامنهٔ ثبت‌شدهٔ درگاه.
currency
IranCurrency::TOMAN یا RIAL (در نسخه‌های قدیمی 'T' یا 'R').
description
شرح پیش‌فرض پرداخت.

تست در محیط آزمایشی

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

  • با کلید sk_test_ یک purchase بزنید و به صفحهٔ پرداخت بروید.
  • در بانک آزمایشی «موفق» را بزنید و در صفحهٔ بازگشت verify را با همان مبلغ صدا بزنید؛ رسید با کد پیگیری برمی‌گردد.
  • verify با مبلغ اشتباه باید خطا بدهد.

مشکلات رایج

Driver not found

کلاس \SheyPay\Multipay\SheyPay::class را در بخش map فایل config/payment.php اضافه کنید.

مبلغ ده برابر است.

currency را درست بگذارید: TOMAN اگر مبلغ‌ها به تومان است.

verify خطای 202 می‌دهد.

نتیجهٔ بانک هنوز نرسیده است؛ سفارش را لغو نکنید و چند دقیقه بعد دوباره verify کنید.

تغییرات

  1. نسخهٔ ۱.۰.۰

    • نسخهٔ اول: purchase، pay و verify با تأیید سمت سرور و حالت در انتظار.

اولین رسیدتان را امروز صادر کنید

ثبت‌نام با شمارهٔ موبایل انجام می‌شود و تا تأیید مدارک، همه‌چیز را در محیط آزمایشی امتحان می‌کنید.

هزینهٔ ثبت‌نامندارد
کارمزدفقط تراکنش موفق