نمونهٔ PHP ساده شیپی
نمونهٔ کامل و قابل اجرا برای سایتهای PHP بدون فریمورک. سفارش ثبت میشود، پرداخت با کلید یکتایی (Idempotency-Key) ساخته میشود و مشتری به صفحهٔ پرداخت شیپی میرود. پس از بازگشت، پرداختِ ذخیرهشده با مبلغ سفارش تأیید میشود و وبهوک امضاشده سفارشهای معلق را کامل میکند. سفارشها برای سادگی در یک فایل JSON نگه داشته میشوند. کد را بخوانید و در سایت خودتان بهجای آن از پایگاه داده استفاده کنید.
- وبهوک امضاشده
- وضعیت «در انتظار» درست
- تومان و ریال
- حالت آزمایشی با sk_test_
نصب
- ۱
فایل zip را باز کنید و پوشه را روی هاست (روی دامنهٔ تأییدشدهٔ درگاه) بگذارید.
- ۲
در config.php یا متغیرهای محیطی، کلید API و آدرس عمومی پوشه (SHEYPAY_SITE_URL) را تنظیم کنید.
- ۳
مطمئن شوید پوشهٔ data برای PHP قابل نوشتن است و از وب در دسترس نیست.
- ۴
index.php را باز کنید و یک محصول بخرید.
- ۵
برای وبهوک، آدرس webhook.php را در پنل شیپی ثبت و رمزش را در SHEYPAY_WEBHOOK_SECRET بگذارید.
تنظیمات
- SHEYPAY_API_KEY
- کلید API؛
sk_test_برای آزمایش. - SHEYPAY_SITE_URL
- آدرس عمومی پوشهٔ نمونه؛ آدرس بازگشت از روی آن ساخته میشود.
- SHEYPAY_WEBHOOK_SECRET
- رمز امضای وبهوک؛ اگر خالی باشد webhook.php پاسخ ۵۰۳ میدهد.
- currency و products
- قیمت محصولات نمونه به تومان است و پیش از ارسال به ریال تبدیل میشود.
تست در محیط آزمایشی
با کلید sk_test_ پول واقعی جابهجا نمیشود و در صفحهٔ بانک آزمایشی نتیجه را خودتان انتخاب میکنید.
- روی رایانهٔ خودتان: SHEYPAY_API_KEY=
sk_test_... SHEYPAY_SITE_URL=http://localhost:8000php -S localhost:8000 - یک محصول بخرید و در بانک آزمایشی «موفق» را بزنید؛ صفحهٔ «پرداخت موفق» با کد پیگیری نمایش داده میشود.
- «در انتظار» و «ناموفق» را هم امتحان کنید و فایل
data/orders.jsonرا ببینید.
مشکلات رایج
خطای «آدرس بازگشت باید https باشد» میگیرم.
در حالت عملیاتی آدرس بازگشت باید https و روی دامنهٔ تأییدشده باشد. با کلید آزمایشی localhost هم پذیرفته میشود.
سفارش پیدا نشد.
پوشهٔ data قابل نوشتن نیست یا آدرس بازگشت دستکاری شده است؛ توکن سفارش باید با آدرس یکی باشد.
صفحهٔ «در انتظار» تغییر نمیکند.
نتیجهٔ بانک هنوز نرسیده است. وبهوک را تنظیم کنید یا چند دقیقه بعد صفحه را تازه کنید.
تغییرات
نسخهٔ ۱.۰.۰
- نسخهٔ اول: ساخت پرداخت، بازگشت، تأیید سمت سرور و وبهوک امضاشده.
ماژولهای دیگر در «نمونهکد و بات»
همهٔ ماژولهااولین رسیدتان را امروز صادر کنید
ثبتنام با شمارهٔ موبایل انجام میشود و تا تأیید مدارک، همهچیز را در محیط آزمایشی امتحان میکنید.