شروع سریع
اولین پرداخت آزمایشی در چند دقیقه.
در این راهنما اولین پرداخت آزمایشی را از ابتدا تا verify انجام میدهید. هیچ پول واقعی جابهجا نمیشود.
۱. ساخت حساب و کلید آزمایشی
- در صفحه ثبتنام با شماره موبایل حساب بسازید و حساب پذیرندگی ایجاد کنید.
- در بخش «تنظیمات»، دامنه سایت خود را اضافه و در «API و درگاهها» درخواست درگاه ثبت کنید.
- بلافاصله (حتی پیش از تأیید درگاه) کلید
sk_test_…بسازید. کلید فقط یک بار نمایش داده میشود؛ آن را در متغیر محیطی سرور نگه دارید.
۲. ایجاد پرداخت
POST/api/v1/payments
bash
curl -X POST https://api.sheypay.ir/api/v1/payments \
-H "Authorization: Bearer sk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042-create-1" \
-d '{
"amount": 1500000,
"callback_url": "https://shop.example.ir/payment/callback",
"merchant_reference": "ORDER-1042-1",
"description": "خرید سفارش ۱۰۴۲",
"mobile": "09121234567"
}'پاسخ 201 شامل شیء payment و payment_url است. شناسه payment.id را کنار سفارش ذخیره کنید و مشتری را به payment_url هدایت کنید.
json
{
"payment": {
"id": "0199a4f2-6c1e-7d0a-9b1e-3f2a5c8d1e47",
"status": "created",
"mode": "test",
"amount": 1500000,
"fee": 0,
"refunded_amount": 0,
"currency": "IRR",
"merchant_reference": "ORDER-1042-1",
"tracking_code": "10000123",
"reference_id": null,
"rrn": null,
"card_pan": null,
"description": "خرید سفارش ۱۰۴۲",
"metadata": {},
"failure": null,
"created_at": "2026-10-03T08:00:00.000Z",
"paid_at": null,
"verified_at": null,
"verify_deadline_at": null,
"expires_at": "2026-10-03T08:20:00.000Z",
"settlement_status": "not_applicable"
},
"payment_url": "https://sheypay.ir/pay/k3Jd…"
}۳. پرداخت در صفحه آزمایشی
در حالت آزمایشی، مشتری به صفحه بانک آزمایشی منتقل میشود و نتیجه را انتخاب میکند (موفق، ناموفق، انصراف، تأخیر در تأیید). سپس به صفحه نتیجه شیپی و از آنجا به callback_url شما برمیگردد. جزئیات در محیط آزمایشی.
۴. verify در callback
آدرس بازگشت این پارامترها را دارد: payment_id، status (success، pending یا failed)، merchant_reference و tracking_code. این پارامترها فقط راهنما هستند؛ پرداخت را همیشه با verify نهایی کنید.
POST/api/v1/payments/{id}/verify
bash
curl -X POST https://api.sheypay.ir/api/v1/payments/PAYMENT_ID/verify \
-H "Authorization: Bearer sk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "amount": 1500000 }'اگر پرداخت را تا
verify_deadline_at (بهطور پیشفرض ۳۰ دقیقه پس از پرداخت) تأیید نکنید، مبلغ بهصورت خودکار به مشتری برمیگردد.۵. قدمهای بعدی
- وبهوک تنظیم کنید تا از تغییر وضعیتها مطلع شوید.
- هدر Idempotency-Key را به درخواستها اضافه کنید.
- پس از تأیید مدارک، حالت عملیاتی را فعال و کلید
sk_live_را جایگزین کنید.