نکات پیش نیاز

  • تمام درخواست های خود را از طریق پروتکل https ارسال کنید.
  • ما تمام درخواست های خود را از طریق پروتکل https ارسال می کنیم.
  • کاراکترست استفاده شده utf-8 است.
  • تمام درخواست ها از به فرمت json ارسال و دریافت می شوند.

مراحل

قدم اول (دریافت کد درگاه):

ابتدا از طریق لینک زیر در سایت ثبت نام کرده و ازطریق پنل کاربری وبسایت خود را تایید کنید و سپس ‍ کلید درگاه پرداخت خود در یافت کنید.

لینک ثبت نام در سایت: https://gateway.chatsift.com/auth/register

فرمت کلی کلید درگاه پرداخت: abcd1234-abcd-1234-abcd-1234abcd1234

قدم دوم (دریافت کد پرداخت):

شما ابتدا نیاز به یک کلید authority نیاز دارید. برای دریافت این کلید یک درخواست برای پلتفرم بفرستید.

نوع درخواست: POST

آدرس درخواست (URL ): https://gateway.chatsift.com/payment/paymentRequest

پارامتر های درخواست:

# نام کلید نوع داده توضیحات
1 amount int مقدار تراکنش شما به دلار
2 callbackURL string آدرسی که نتیجه پرداخت به آن ارسال می شود.
3 gatewayKey string کلید درگاه پرداخت شما: (برای دریافت آن به قدم اول مراجعه کنید.)

نکته مهم: در تمام مثال های ما برخی از پارامترهای head در خواست برای سادگی حذف شده اند.

یک نمونه در خواست:

POST /v3/oauth/request HTTP/1.1POST /v3/oauth/request HTTP/1.1
Host: https://gateway.chatsift.com/payment/paymentRequest
Content-Type: application/json; charset=UTF-8
X-Accept: application/json

{ 
        "amount"     : 24.5,
        "callbackURL": "https://your-domain.com/callback",
        "gatewayKey" : "abcd1234-abcd-1234-abcd-1234abcd1234"
}

یک نمونه پاسخ:

HTTP/1.1 200 OK
Content-Type: application/json
Status: 200 OK

{ 
    "authority" : "dcba4321-dcba-4321-dcba-4321dc",
    "status"    :  200
}

 توکنی که در این قسمت دریافت می کنید(authority) را در مکانی ذخیره کنید زیرا در مراحل بعدی به آن نیاز پیدا می کنید.

اگر همه چیز موفقیت آمیز باشد، status پاسخ شما 200 است اما در صورتی که هرگونه خطایی اتفاق بیوفتد، می توانید جزئیات خطایی که اتفاق افتاده است را از طریق ۳ فیلد 1,2,3 ‌که در هدر سایت قرار دارند، بررسی کنید:


HTTP Status X-Error-Code X-Error
400 23 فاقد کلید درگاه پرداخت
400 65 نبود redirect url
400 64 نبود مقدار عددی تراکنش
403 55 مقدار تراکنش نامعتبر
403 32 کلید درگاه پرداخت نامعتبر
50X 33 مشکل سرور

قدم سوم (انتقال به صقحه پرداخت):


بعد از اینکه authority key را دریافت کردید، باید کاربر را به صفحه پرداخت منتقل کنید.

زمانی که کاربر را منتقل می کنید، به همراه آن باید کلید authority که در قدم اول دریافت کردید را درون آدرسی که به آن منتقل میکنید قرار دهید.

نمونه آدرس:


https://gateway.chatsift.com/payment/startPay/authority

یک مثال از لینک بالا:

https://gateway.chatsift.com/payment/startPay/abcd1234-abcd-1234-abcd-1234abcd1234

قدم چهارم (برگشت به سایت پذیرنده):


زمانی که کاربر عملیات پرداخت انجام شد (موفق یا نا موفق)، پلتفرم کاربر را به آدرس callback url شما که در ابتدای پرداخت برای سرور ارسال رده بودید منتقل می کند.‌ (قدم دوم).

داخل لینک دو پارامتر status و authority قرار دارند:

نام کلید نوع داده توضیحات
status string نتیجه عمل
authority string شناسه تراکنش

فیلد status دو مقدار مختلف می تواند داشته باشد. در صورتی که عملیات موفق بوده باشد، OK و در غیر این صورت NOK می باشد.

قدم پنجم (چک کردن نتیجه پرداخت):


حال در صورتی که قدم قبلی موفقیت آمیز بوده است، نیاز دارید که یک درخواست برای تاییدیه پرداخت برای پلتفرم ارسال کنید.

نوع درخواست: POST

آدرس درخواست (URL ): https://gateway.chatsift.com/payment/checkPay

پارامتر های درخواست:

نام کلید نوع داده توضیحات
authority string شناسه تراکنش
gatewayKey string کلید درگاه پرداخت شما (برای دریافت آن به قدم اول مراجعه کنید.)

یک نمونه در خواست:

POST /v3/oauth/request HTTP/1.1
    Host: https://gateway.chatsift.com/payment/paymentRequest
    Content-Type: application/json; charset=UTF-8
    X-Accept: application/json

    { 
        "gatewayKey" :  "abcd1234-abcd-1234-abcd-1234abcd1234",
        "authority"  :  "authority-format"
    }

یک نمونه پاسخ:

HTTP/1.1 200 OK
    Content-Type: application/json
    Status: 200 OK

    { 
        "status" : 200
    }

اگر همه چیز موفقیت آمیز باشد، status پاسخ شما 200 است اما در صورتی که هرگونه خطایی اتفاق بیوفتد، می توانید جزئیات خطایی که اتفاق افتاده است را از طریق ۳ فیلد 1,2,3 ‌که در هدر سایت قرار دارند، بررسی کنید:


HTTP Status X-Error-Code X-Error
400 23 فاقد کلید درگاه پرداخت
400 66 فاقد شناسه پرداخت
403 56 شناسه پرداخت نامعتبر
403 32 کلید درگاه پرداخت نامعتبر
50X 33 مشکل سرور