Запрос операций по переводам списком
Получение токена
TEST URL POST https://test-epay-oauth.epayment.kz/oauth2/token PROD URL POST https://epay-oauth.homebank.kz/oauth2/token
Запрос Body: form-data
grant_type: "password" username: "USERNAME" password: "USERPASSWORD" scope: "transfer" client_id: "CLIENTID" client_secret: "CLIENTSECRET"
Ответ
{ "access_token":"DCEB8O_ZM5U7SO_T_U5EJQ", "expires_in": 7200, "refresh_token":"", "scope":"transfer", "token_type":"Bearer" }
| Поле | Описание |
|---|---|
| access_token | Токен для проведения операции |
| expires_in | Время истечения токена |
| refresh_token | Не используется при данном типе авторизации |
| scope | Ресурс, для проведения платежа используется ресурс transfer |
| token_type | Тип авторизации |
URL https://test-epay-api.epayment.kz/p2p/operations URL https://epay.homebank.kz/api/p2p/operations
Входные параметры передаются в виде JSON: Модель представлена в следующем виде:
{ "paging":{ "page": , "size": }, "searchParameters":[ { "name":"", "method":"", "searchParameter":["","",...] } ], "orderParameters":[ { "field":"", "typeOrder":"ASC/DESC" } ] }
В блок "paging" , необходимо передавать два параметра: "page" - количество записей которые необходимо пропустить; "size" - количество записей которые необходимо вывести на странице. В блок "searchParameters", необходимо передавать три параметра, так же можно производить поиск по множеству полей (в примере запроса показано как) "name" - наименование поля(фильтра) по которому будет происходить поиск в БД, список представлен ниже ; "method" - метод поиска (указывать в следующем виде : between, in, like , = , < , > , <= , >= ) ; "searchParameter" - параметры поиска.При использование метода поиска between необходимо передавать 2 параметра, при использование like, передавать один параметр который содержит знак %, при методе поиска in необходимо использовать минимум 1 параметр. В случае не корректно переданных параметров , будет возвращаться ошибка. В запросе необходимо указывать период транзакций. Данный параметр поиска является обязательным. В блок "orderParameters", можно передавать два параметра: "field" - наименование поля по которому будет происходить сортировка; "typeOrder" - тип сортировки ASC/DESC. Данный блок можно можно оставить пустым если нет необходимости в сортировке или производить сортировку по нескольким полям (представлено в примере ниже).
Внимание! Метод поиска по created_at обязательный
Фильтры:
| Описание | Название |
|---|---|
| Дата транзакции | created_date |
| №Терминала | terminal_id |
| №Заказа | invoice_id |
| ID клиента в магазине клиента | account_id |
| Телефон | payer_phone |
| payer_email | |
| РРН | reference |
| Сумма | amount |
| Карта | card_mask |
Пример запроса, JSON:
{ "paging": { "page": 0, "size": 20 }, "searchParameters": [ { "name": "created_at", "method": "between", "searchParameter": [ "2022-01-10T12:00:00.000Z", "2022-02-10T13:59:59.999Z" ] } ], "orderParameters": [ { "field": "created_at", "typeOrder": "ASC" }, { "field": "id", "typeOrder": "ASC" } ] }
Ответ возвращается в виде JSON:
{ "totalCount": 132, "records": [ { "id": "f0c79d0d-1b98-4b8c-8ea3-83a110be191e", "dateTime": "2022-02-03T11:42:35.533398+06:00", "invoiceId": "123456789377804", "amount": 200, "currency": "KZT", "terminal": "98151552", "accountId": "", "description": "TEST p2p", "language": "", "senderCardMask": "4003********9821", "receiverCardMask": "5578********0613", "senderCardType": "VISA", "receiverCardType": "MasterCard", "senderIssuer": "", "receiverIssuer": "", "reference": "203480420271", "secure": "", "code": "00", "reason": "", "reasonCode": 0, "name": "Tester Petrov", "email": "test@halykbank.kz", "phone": "", "ip": "", "ipCountry": "", "ipCity": "", "ipRegion": "", "ipDistrict": "", "ipLongitude": 0, "ipLatitude": 0, "status": "ok", "senderCardId": "", "receiverCardId": "" } ] }
Ответ об ошибке возвращается в виде JSON:
{ "code": 232, "message": "Метод поиска отсутствует" }