Проверка возможности проведения платежа - /api/v20/check
Метод check используется для предварительной проверки платежа, идентификатора пользователя и при необходимости, получения дополнительных данных от провайдера.
Структура запроса
| Параметр | Значение |
|---|---|
| Метод | POST |
| URI | <url>/api/v20/check |
| URI Parameters | отсутствуют |
| Body Parameters | параметры запроса |
| Content-Type | application/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": ""
}
}
]
}
]
}
}