درایور multipay (لاراول) شیپی
بسیاری از سایتهای لاراولی ایرانی برای اتصال به درگاهها از پکیج shetabit/multipay یا shetabit/payment استفاده میکنند. این درایور شیپی را به همان پکیج اضافه میکند: purchase پرداخت را میسازد و شناسهٔ آن را برمیگرداند، pay مشتری را به صفحهٔ پرداخت میفرستد و verify پرداخت را سمت سرور با مبلغ سفارش تأیید میکند. اگر نتیجهٔ بانک هنوز نرسیده باشد، خطا با کد 202 برمیگردد تا سفارش لغو نشود. بقیهٔ کد سایت تغییری نمیکند.
- وضعیت «در انتظار» درست
- تومان و ریال
- حالت آزمایشی با sk_test_
این نسخه بتا است: کامل است ولی هنوز روی فروشگاههای واقعی کافی اجرا نشده. اول روی نسخهٔ آزمایشی سایتتان و با کلید sk_test_ امتحانش کنید و هر اشکالی دیدید به پشتیبانی بگویید.
نصب
- ۱
پوشهٔ بسته را در پروژه بگذارید (مثلاً
packages/sheypay-multipay) و آن را بهعنوان path repository در composer.json پروژه معرفی کنید. - ۲
composer require
sheypay/multipay-driverرا اجرا کنید. - ۳
در
config/payment.php، در drivers بخش sheypay (کلید API، callbackUrl، واحد پول) و در map کلاس \SheyPay\Multipay\SheyPay::class را اضافه کنید. - ۴
در کد، 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 کنید.
تغییرات
نسخهٔ ۱.۰.۰
- نسخهٔ اول: purchase، pay و verify با تأیید سمت سرور و حالت در انتظار.
اولین رسیدتان را امروز صادر کنید
ثبتنام با شمارهٔ موبایل انجام میشود و تا تأیید مدارک، همهچیز را در محیط آزمایشی امتحان میکنید.