هاب پرداخت نیکو سیستم آفرین
پروژههای دیگر بدون اتصال مستقیم به درگاه، از nikoooo.ir برای پرداخت استفاده میکنند
۱) ثبت کلاینت
در سرور nikoooo.ir فایل App_Data/payment-clients.json را ویرایش کنید:
[
{
"AppId": "my-shop",
"ApiKey": "your-secret-key",
"Name": "فروشگاه من",
"AllowedReturnHosts": [ "myshop.ir", "localhost" ]
}
]
۲) ساخت پرداخت
POST https://nikoooo.ir/api/payments/create
هدرها: X-App-Id ، X-Api-Key ، Content-Type: application/json
{
"amount": 150000,
"description": "سفارش ۱۲۳",
"returnUrl": "https://myshop.ir/payment/return",
"notifyUrl": "https://myshop.ir/payment/notify",
"externalRef": "ORD-123",
"customerName": "علی رضایی",
"customerMobile": "09121234567",
"customerEmail": "ali@example.com"
}
پاسخ:
{
"success": true,
"token": "...",
"paymentUrl": "https://nikoooo.ir/Pay/Start/...",
"amount": 150000
}
کاربر را به paymentUrl هدایت کنید. صفحه پرداخت روی nikoooo.ir باز میشود.
۳) بازگشت کاربر (ReturnUrl)
بعد از پرداخت موفق/ناموفق، کاربر به returnUrl شما برمیگردد با این پارامترها:
token— شناسه پرداختstatus—paidیاfailedamount— مبلغ به تومانexternalRef— کد سفارش شماrefId— کد پیگیری درگاه (در صورت موفقیت)timestamp— زمان UTC به ثانیهsignature— امضای HMAC-SHA256
فرمول امضا (با همان ApiKey):
token|status|amount|externalRef|refId|timestamp
۴) وبهوک (NotifyUrl)
همان فیلدها بهصورت JSON با متد POST به آدرس شما ارسال میشود. حتی اگر کاربر صفحه را ببندد، وضعیت از این مسیر میرسد.
۵) استعلام وضعیت
GET https://nikoooo.ir/api/payments/status/{token}
با همان هدرهای X-App-Id و X-Api-Key.
نمونه کلاینت C#
فایل آماده کپی در پروژه شما:
App_Data/NikooPaymentClient.sample.cs