کتابخانهٔ Go شیپی
کتابخانهٔ Go شیپی بدون وابستگی خارجی. همهٔ پاسخها به struct تبدیل میشوند، Confirm نتیجهٔ پرداخت را در سه حالت «paid»، «pending» و «failed» برمیگرداند و ConstructEvent امضای وبهوک را با hmac.Equal بررسی میکند.
- تایپهای کامل
- استرداد از داخل پنل
- وبهوک امضاشده
- وضعیت «در انتظار» درست
- تومان و ریال
- حالت آزمایشی با sk_test_
- دکمهٔ تست اتصال
این نسخه بتا است: کامل است ولی هنوز روی فروشگاههای واقعی کافی اجرا نشده. اول روی نسخهٔ آزمایشی سایتتان و با کلید sk_test_ امتحانش کنید و هر اشکالی دیدید به پشتیبانی بگویید.
نصب
- ۱
zip را در پوشهٔ sheypay-go کنار پروژه باز کنید.
- ۲
در go.mod پروژه خط require
github.com/sheypay/sheypay-gov1.0.0 و replace به./sheypay-goرا اضافه کنید (پس از انتشار عمومی، go get کافی است). - ۳
کلید API را در SHEYPAY_KEY بگذارید (برای آزمایش
sk_test_). - ۴
با CreatePayment پرداخت بسازید و در مسیر بازگشت Confirm را با شناسهٔ ذخیرهشده و مبلغ سفارش صدا بزنید.
- ۵
مسیر وبهوک را با ConstructEvent بسازید. نمونهٔ کامل در
examples/nethttpاست.
- نسخهٔ بتا: روی محیط آزمایشی امتحان کنید.
تنظیمات
- sheypay.New(apiKey)
- کلاینت با مهلت ۲۰ ثانیه؛ فیلدهای BaseURL، ClientInfo و HTTPClient قابل تغییرند.
- IdempotencyKey
- در CreatePaymentParams و آرگومان آخر Refund؛ برای هر تلاش مقدار ثابت بدهید.
- ToRial(amount, true)
- تبدیل تومان به ریال.
تست در محیط آزمایشی
با کلید sk_test_ پول واقعی جابهجا نمیشود و در صفحهٔ بانک آزمایشی نتیجه را خودتان انتخاب میکنید.
- با کلید
sk_test_پرداخت بسازید و در بانک آزمایشی نتیجه را انتخاب کنید. - نتیجههای paid، pending و failed را در مسیر بازگشت امتحان کنید.
- از پنل شیپی رویداد آزمایشی وبهوک بفرستید.
مشکلات رایج
ConstructEvent خطای امضا میدهد.
بدنهٔ خام را با io.ReadAll بخوانید و پیش از هر پردازشی به تابع بدهید.
خطای callback_domain_mismatch
آدرس بازگشت باید روی دامنهٔ تأییدشدهٔ درگاه باشد.
تغییرات
نسخهٔ ۱.۰.۰
- نسخهٔ اول: همهٔ متدهای API پرداخت، Confirm و ابزار وبهوک.
اولین رسیدتان را امروز صادر کنید
ثبتنام با شمارهٔ موبایل انجام میشود و تا تأیید مدارک، همهچیز را در محیط آزمایشی امتحان میکنید.