پرش به محتوای اصلی
نمونه‌کد و بات·Plain PHP sample

نمونهٔ PHP ساده شی‌پی

نمونهٔ کامل و قابل اجرا برای سایت‌های PHP بدون فریم‌ورک. سفارش ثبت می‌شود، پرداخت با کلید یکتایی (Idempotency-Key) ساخته می‌شود و مشتری به صفحهٔ پرداخت شی‌پی می‌رود. پس از بازگشت، پرداختِ ذخیره‌شده با مبلغ سفارش تأیید می‌شود و وب‌هوک امضاشده سفارش‌های معلق را کامل می‌کند. سفارش‌ها برای سادگی در یک فایل JSON نگه داشته می‌شوند. کد را بخوانید و در سایت خودتان به‌جای آن از پایگاه داده استفاده کنید.

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

نصب

  1. ۱

    فایل zip را باز کنید و پوشه را روی هاست (روی دامنهٔ تأییدشدهٔ درگاه) بگذارید.

  2. ۲

    در config.php یا متغیرهای محیطی، کلید API و آدرس عمومی پوشه (SHEYPAY_SITE_URL) را تنظیم کنید.

  3. ۳

    مطمئن شوید پوشهٔ data برای PHP قابل نوشتن است و از وب در دسترس نیست.

  4. ۴

    index.php را باز کنید و یک محصول بخرید.

  5. ۵

    برای وب‌هوک، آدرس 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:8000 php -S localhost:8000
  • یک محصول بخرید و در بانک آزمایشی «موفق» را بزنید؛ صفحهٔ «پرداخت موفق» با کد پیگیری نمایش داده می‌شود.
  • «در انتظار» و «ناموفق» را هم امتحان کنید و فایل data/orders.json را ببینید.

مشکلات رایج

خطای «آدرس بازگشت باید https باشد» می‌گیرم.

در حالت عملیاتی آدرس بازگشت باید https و روی دامنهٔ تأییدشده باشد. با کلید آزمایشی localhost هم پذیرفته می‌شود.

سفارش پیدا نشد.

پوشهٔ data قابل نوشتن نیست یا آدرس بازگشت دست‌کاری شده است؛ توکن سفارش باید با آدرس یکی باشد.

صفحهٔ «در انتظار» تغییر نمی‌کند.

نتیجهٔ بانک هنوز نرسیده است. وب‌هوک را تنظیم کنید یا چند دقیقه بعد صفحه را تازه کنید.

تغییرات

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

    • نسخهٔ اول: ساخت پرداخت، بازگشت، تأیید سمت سرور و وب‌هوک امضاشده.

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

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

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