Перейти к основному содержимому

Проверка возможности проведения платежа - /api/v20/check

Метод check используется для предварительной проверки платежа, идентификатора пользователя и при необходимости, получения дополнительных данных от провайдера.

Структура запроса

ПараметрЗначение
МетодPOST
URI<url>/api/v20/check
URI Parametersотсутствуют
Body Parametersпараметры запроса
Content-Typeapplication/json

Варианты запросов

Запрос с проверкой номера

ПараметрНазначениеОбязателен
serviceIdКод услуги в процессингеда
accountИдентификатор пользователя: телефон, email, лицевой счёт и т.п.да
agentTransactionIdУникальный номер операции на стороне Агентада
agentTransactionDateДата операции на стороне Агентада
amountToСумма к зачислениюнет
amountFromСумма, принятая от пользователянет
{
"serviceId": "A1011",
"account": "7770017711",
"agentTransactionId": 1233355,
"agentTransactionDate": "2015-02-17T16:48:37",
"amountTo": 200.00,
"amountFrom": 200.00
}

Запрос с идентификационными данными пользователя

ПараметрНазначениеОбязателен
serviceIdКод услуги в процессингеда
accountИдентификатор пользователяда
agentTransactionIdУникальный номер операции на стороне Агентада
agentTransactionDateДата операции на стороне Агентада
amountToСумма к зачислениюнет
amountFromСумма, принятая от пользователянет
identityCardНомер паспорта или удостоверения личностинет
fullNameФИО плательщиканет
к сведению

Для отдельных стран или типов услуг законодательство может требовать передачу идентификационных данных плательщика.

{
"serviceId": "A1011",
"account": "7770017711",
"agentTransactionId": 1233355,
"agentTransactionDate": "2015-02-17T16:48:37",
"amountTo": 200.00,
"amountFrom": 200.00,
"identityCard": "123456789",
"fullName": "Иванов Иван Иванович"
}

Запрос с дополнительными полями

ПараметрНазначениеОбязателен
serviceIdКод услуги в процессингеда
accountИдентификатор пользователяда
agentTransactionIdУникальный номер операции на стороне Агентада
agentTransactionDateДата операции на стороне Агентада
amountToСумма к зачислениюнет
amountFromСумма, принятая от пользователянет
extrasКонтейнер дополнительных параметровда
account1Дополнительное поле account1нет
account2Дополнительное поле account2нет
к сведению

Дополнительные поля в extras используются для сервисов, где помимо основного идентификатора требуются сопутствующие данные, например email, номер заказа или тип платежа.

{
"serviceId": "A1012",
"account": "0",
"agentTransactionId": 1233355,
"agentTransactionDate": "2015-02-17T16:48:37",
"amountTo": 200.00,
"amountFrom": 200.00,
"extras": {
"account1": "test@gmail.com",
"account2": "121231"
}
}

Варианты ответов

Базовый ответ

ПараметрНазначениеОбязателен
resultКод результатада
resultMessageТекстовое описание результатада
transactionIdИдентификатор операции в процессингеда
agentTransactionIdИдентификатор операции Агентада
{
"result": 0,
"resultMessage": "ok",
"transactionId": 100000781233355,
"agentTransactionId": 1233355
}

Ответ для международных провайдеров

ПараметрНазначениеОбязателен
resultКод результатада
resultMessageТекстовое описание результатада
transactionIdИдентификатор операции в процессингеда
agentTransactionIdИдентификатор операции Агентада
currencyRateИнформация о курсе конвертациинет
rateКурс конвертациинет
finalAmountСумма зачисления в валюте провайдеранет
currencyВалюта провайдеранет
{
"result": 0,
"resultMessage": "Успешно",
"transactionId": 1402546,
"agentTransactionId": 12,
"currencyRate": "Курс конвертации KZT/USD 0.0021",
"rate": 0.0020833333,
"finalAmount": 1.75,
"currency": "USD"
}

Ответ с данными для вывода пользователю

ПараметрНазначениеОбязателен
resultКод результатада
resultMessageТекстовое описание результатада
transactionIdИдентификатор операции в процессингеда
agentTransactionIdИдентификатор операции Агентада
displaysНабор полей для отображения пользователюнет
к сведению

В объекте displays может возвращаться набор полей, которые нужно показать пользователю или использовать на следующем шаге оплаты.

{
"result": 0,
"resultMessage": "ok",
"transactionId": 270,
"agentTransactionId": 205,
"displays": {
"fio": "Test fio",
"address": "Набережная 134 кв 5",
"info": "Сумма к оплате 20000.00 тенге"
}
}

Ответ для схемы «с выбором»

ПараметрНазначениеОбязателен
resultКод результатада
resultMessageТекстовое описание результатада
transactionIdИдентификатор операции в процессингеда
agentTransactionIdИдентификатор операции Агентада
contractsСписок доступных договоров/счетов/заказов для выборада
contractIdИдентификатор договора/счета/заказада
nameНаименование или ФИОнет
contractNumberНомер договора/контрактанет
contractSumСумма к оплатенет
contractDateДата выставлениянет
к сведению

Типовой сценарий - возврат нескольких счетов, заказов или договоров, из которых пользователь должен выбрать один.

{
"result": 0,
"resultMessage": "ok",
"transactionId": 100000781233355,
"agentTransactionId": 1233355,
"contracts": [
{
"name": "Петров",
"contractId": "000000587",
"contractNumber": "1/00-Ф",
"contractSum": "1000.00",
"contractDate": "20200215000000"
},
{
"name": "Петров",
"contractId": "000000588",
"contractNumber": "2/00-Ф",
"contractSum": "2000.00",
"contractDate": "20200216000000"
},
{
"name": "Петров",
"contractId": "000000589",
"contractNumber": "3/00-Ф",
"contractSum": "3000.00",
"contractDate": "20200217000000"
}
]
}

Ответ для комплексной схемы

ПараметрНазначениеОбязателен
resultКод результатада
resultMessageТекстовое описание результатада
transactionIdИдентификатор операции в процессингеда
agentTransactionIdИдентификатор операции Агентада
invoiceКонтейнер квитанциида
invoicesСписок квитанцийда
invoiceIdИдентификатор квитанциинет
formedDateДата формированиянет
expireDateСрок оплатынет
clientNameФИО плательщиканет
clientAddressАдрес плательщиканет
servicesСписок услуг внутри квитанциида
subServiceIdИдентификатор услуги в квитанциида
subServiceNameНаименование услуги в квитанциида
dataНабор атрибутов услугинет
paySumСумма к оплатенет
tariffТарифнет
minSum / maxSumМинимально и максимально допустимая сумманет
debtInfoИнформация о задолженностинет
isMeterПризнак счётчиковой услугинет
prevCount / lastCountПоказания счётчиканет
siЕдиница измерениянет
commentКомментарий по услугенет
к сведению

Состав invoice зависит от ответа провайдера. Некоторые поля квитанции могут отсутствовать.

{
"result": 0,
"resultMessage": "ok",
"transactionId": 284,
"agentTransactionId": 205,
"invoice": {
"invoices": [
{
"invoiceId": "2020020003535444",
"formedDate": "20200201000000",
"expireDate": "20200229000000",
"clientName": "Иванов Иван Иванович",
"clientAddress": "микрорайон 2, дом 42, кв.4",
"services": [
{
"subServiceId": "36",
"subServiceName": "Электроэнергия",
"data": {
"paySum": 359.8,
"tariff": 0.0,
"minSum": 0.0,
"maxSum": 0.0,
"debtInfo": "0.00",
"isMeter": true,
"prevCount": "4870.00",
"lastCount": "0.00",
"si": "тг/м2",
"comment": ""
}
},
{
"subServiceId": "13",
"subServiceName": "ТО газа",
"data": {
"paySum": 80.0,
"tariff": 0.0,
"minSum": 0.0,
"maxSum": 0.0,
"debtInfo": "0.00",
"isMeter": false,
"prevCount": "0.00",
"lastCount": "0.00",
"si": "тг/плита",
"comment": ""
}
},
{
"subServiceId": "2",
"subServiceName": "Отопление",
"data": {
"paySum": 925.2,
"tariff": 500.0,
"minSum": 0.0,
"maxSum": 0.0,
"debtInfo": "0.00",
"isMeter": false,
"prevCount": "0.00",
"lastCount": "0.00",
"si": "тг/м2",
"comment": ""
}
}
]
}
]
}
}