SplitPay

To'lovlar

To'lovning hayot sikli, bekor qilish va takrorlar

Yaratish

POST
/v1/charges

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

Sarlavhalar

Idempotency-Key*string

8 dan 128 gacha [A-Za-z0-9._:-] belgi, har bir operatsiya uchun yagona

Shablon^[A-Za-z0-9._:-]{8,128}$

So'rov tanasi

application/json

TypeScript turlari

TypeScript da request body turidan foydalaning.

Javob tanasi

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/charges" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "externalId": "order-777",    "cardId": "0192f3a0-5c1e-7b2a-9f4d-2b24b1f0c7a1",    "amount": 25000000,    "recipients": [      {        "recipientId": "0192f3a0-5c1e-7b2a-9f4d-2b24b1f0c7b2",        "share": 7000      },      {        "recipientId": "0192f3a0-5c1e-7b2a-9f4d-2b24b1f0c7b3",        "share": 3000      }    ]  }'
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "externalId": "string",    "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24",    "status": "CREATED",    "amount": 0,    "fee": 0,    "feeBps": 0,    "recipients": [      {        "recipientId": "afdd332c-8290-47b9-aca2-368bf5f25a9d",        "share": 0,        "amount": 0      }    ],    "split": {      "status": "NOT_STARTED"    },    "fiscal": {      "status": "NOT_STARTED",      "receiptUrl": "string"    },    "failureReason": "string",    "createdAt": "2019-08-24T14:15:22Z",    "succeededAt": "2019-08-24T14:15:22Z"  }}

POST /v1/charges kartadan amount ni yechadi va natijani darhol qaytaradi:

statusMa'nosi
SUCCEEDEDPul yechildi
FAILEDBank rad etdi, sababi failureReason da. HTTP javob baribir 201
CREATEDProvayderdagi natija noma'lum (aloqa uzildi). Biz uni o'zimiz tekshiramiz: boshqa externalId bilan takrorlamang
REVERSEDTo'lov bekor qilindi

externalId bu buyurtmangiz raqami, kassa doirasida yagona. Xuddi shu externalId, karta va summa bilan takroriy so'rov mavjud to'lovni qaytaradi; boshqa parametrlar bilan 409 xatosi keladi.

To'lovdan keyin

GET
/v1/charges/{id}

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

Yo'l parametrlari

id*string
Formatuuid

Javob tanasi

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/charges/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "externalId": "string",    "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24",    "status": "CREATED",    "amount": 0,    "fee": 0,    "feeBps": 0,    "recipients": [      {        "recipientId": "afdd332c-8290-47b9-aca2-368bf5f25a9d",        "share": 0,        "amount": 0      }    ],    "split": {      "status": "NOT_STARTED"    },    "fiscal": {      "status": "NOT_STARTED",      "receiptUrl": "string"    },    "failureReason": "string",    "createdAt": "2019-08-24T14:15:22Z",    "succeededAt": "2019-08-24T14:15:22Z"  }}
GET
/v1/charges

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

So'rov parametrlari

page?integer
Oraliq1 <= value
Sukut bo'yicha1
limit?integer
Oraliq1 <= value <= 100
Sukut bo'yicha20

Javob tanasi

application/json

application/json

application/json

curl -X GET "https://example.com/v1/charges"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0,    "pagination": {      "page": 0,      "limit": 0,      "totalItems": 0,      "totalPages": 0    }  },  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "externalId": "string",      "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24",      "status": "CREATED",      "amount": 0,      "fee": 0,      "feeBps": 0,      "recipients": [        {          "recipientId": "afdd332c-8290-47b9-aca2-368bf5f25a9d",          "share": 0,          "amount": 0        }      ],      "split": {        "status": "NOT_STARTED"      },      "fiscal": {        "status": "NOT_STARTED",        "receiptUrl": "string"      },      "failureReason": "string",      "createdAt": "2019-08-24T14:15:22Z",      "succeededAt": "2019-08-24T14:15:22Z"    }  ]}

Taqsimot va chek fonda bajariladi:

  • split.status: PENDING → COMPLETED (odatda bir necha soniya). Xatolarda avtomatik takrorlanadi, keyin FAILED bo'ladi va qo'llab-quvvatlash xizmati qayta ishga tushiradi.
  • fiscal.status: Split dan keyin COMPLETED, chek havolasi fiscal.receiptUrl da.

Bekor qilish

POST
/v1/charges/{id}/reverse

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

Yo'l parametrlari

id*string
Formatuuid

Javob tanasi

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/charges/497f6eca-6276-4993-bfeb-53cbbbba6f08/reverse"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "externalId": "string",    "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24",    "status": "CREATED",    "amount": 0,    "fee": 0,    "feeBps": 0,    "recipients": [      {        "recipientId": "afdd332c-8290-47b9-aca2-368bf5f25a9d",        "share": 0,        "amount": 0      }    ],    "split": {      "status": "NOT_STARTED"    },    "fiscal": {      "status": "NOT_STARTED",      "receiptUrl": "string"    },    "failureReason": "string",    "createdAt": "2019-08-24T14:15:22Z",    "succeededAt": "2019-08-24T14:15:22Z"  }}

POST /v1/charges/{id}/reverse faqat to'lov kunida (Toshkent vaqti bilan) va Split bajarilmaguncha ishlaydi. Taqsimotdan keyin pulni qaytarish qo'llab-quvvatlash xizmati orqali amalga oshiriladi.

Qabul qiluvchilar

POST
/v1/recipients

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

So'rov tanasi

application/json

TypeScript turlari

TypeScript da request body turidan foydalaning.

Javob tanasi

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/recipients" \  -H "Content-Type: application/json" \  -d '{    "kind": "SELF_EMPLOYED",    "fullName": "string",    "pinfl": "string"  }'
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "kind": "SELF_EMPLOYED",    "fullName": "string",    "pinfl": "string",    "tin": "string",    "status": "PENDING_VERIFICATION",    "rejectionReason": "string",    "createdAt": "2019-08-24T14:15:22Z"  }}
GET
/v1/recipients

Avtorizatsiya

bearer
AvtorizatsiyaBearer <token>

Qayerda: header

So'rov parametrlari

page?integer
Oraliq1 <= value
Sukut bo'yicha1
limit?integer
Oraliq1 <= value <= 100
Sukut bo'yicha20

Javob tanasi

application/json

application/json

application/json

curl -X GET "https://example.com/v1/recipients"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0,    "pagination": {      "page": 0,      "limit": 0,      "totalItems": 0,      "totalPages": 0    }  },  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "kind": "SELF_EMPLOYED",      "fullName": "string",      "pinfl": "string",      "tin": "string",      "status": "PENDING_VERIFICATION",      "rejectionReason": "string",      "createdAt": "2019-08-24T14:15:22Z"    }  ]}

recipients maydoni bo'lmasa, butun summa kassaning standart qabul qiluvchisiga ketadi. Har bir qabul qiluvchi platforma tomonidan tekshirilgan bo'lishi kerak, aks holda -6004 kodli 422 javob keladi.

Ushbu sahifada