API постраничных отчётов
API постраничных отчетов рекомендуется использовать, если ожидаемый отчет может содержать более 1000 транзакций.
Запрос
Отправьте запрос на получение списка транзакций с дополнительным заголовком X-Api-Version: 3
и следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
report_params | object | Секция параметров отчета. |
date_type * обязательный |
string | Тип даты. Возможные значения: created_at ,paid_at ,settled_at . |
from * обязательный |
string | Дата начала отчетного периода в формате YYYY-MM-DD hh:mm:ss , например 2020-01-01 12:00:00 .Для даты типа settled_at возможно указать дату начала только в формате 2020-01-01 . |
to * обязательный |
string | Дата окончания отчетного периода в формате YYYY-MM-DD hh:mm:ss , например 2020-01-01 15:00:00 .Для даты типа settled_at возможно указать дату начала только в формате 2020-01-01 . |
status * обязательный |
string | Статус транзакции. Возможные значения: all ,successful ,failed ,pending ,incomplete . |
payment_method_type * обязательный |
string | Способ оплаты. Возможные значения: credit_card ,alternative |
time_zone * обязательный |
string | Часовой пояс в формате, как указан здесь, например Europe/London . |
starting_after | string | Параметр для прямой пагинации. Принимает значение last_object_id из ответа. |
ending_before | string | Параметр для обратной пагинации. Принимает значение first_object_id из ответа. |
manual_correction_from | string | Дата начала периода отчета с транзакциями, отредактированными вручную, в формате YYYY-MM-DD hh:mm:ss , например 2020-01-01 12:00:00 . |
manual_correction_to | string | Дата окончания периода отчета с транзакциями, отредактированными вручную, в формате YYYY-MM-DD hh:mm:ss , например 2020-01-01 15:00:00 . |
Пример запроса
{
"report_params": {
"date_type":"created_at",
"from":"2020-09-11 00:00:00",
"to":"2020-09-11 23:59:59",
"status":"successful",
"payment_method_type":"credit_card",
"time_zone":"UTC"
}
}
Ответ
Параметр | Тип | Описание |
---|---|---|
transactions * обязательный |
array | Массив транзакций для запрошенного отчета. Количество элементов должно быть таким же, как в секции count . Каждый элемент представляет собой транзакционный объект, набор полей которого зависит от типа платежа и способа оплаты для данной транзакции. |
count * обязательный |
integer | Количество транзакций в запрошенном отчете. |
has_more * обязательный |
boolean | true - указывает, что ещё есть транзакции, удовлетворяющие параметрам запроса, но не попавшие в ответ.false - указывает, что все транзакции, удовлетворяющие параметрам запроса, попали в ответ. |
first_object_id * обязательный |
string | ID первого объекта, возвращаемого в ответе. |
last_object_id * обязательный |
string | ID последнего объекта, возвращаемого в ответе. |
Пример ответа в случае успешной обработки запроса
{
"transactions": [
{
"billing_address": {
"first_name": null,
"last_name": null,
"address": null,
"country": null,
"city": null,
"zip": null,
"state": null,
"phone": null,
"birth_date": null
},
"customer": {
"ip": "127.0.0.1",
"email": null
},
"payment": {
"gateway_id": 312,
"ref_id": null,
"message": null,
"status": "incomplete",
"gateway_name": "Demo",
"auth_code": null,
"bank_code": null,
"rrn": null,
"billing_descriptor": null
},
"credit_card": {
"holder": "JJJJ",
"token": "544ffa4a-d16f-4ebb-b390-d997c29858c9",
"brand": null,
"last_4": "0000",
"first_1": "4",
"bin": "420000",
"issuer_country": "IT",
"issuer_name": "INVESTBANK",
"exp_month": 12,
"exp_year": 2026,
"product": "VISA"
},
"shop": {
"id": 1
},
"gateway_note": "",
"uid": "20528-f87e29fa35",
"id": 28860,
"payment_method_type": "credit_card",
"status": "incomplete",
"message": null,
"amount": 1000,
"discount_rate": 0.0,
"transaction_rate": 0.0,
"pay_to_merchant": 0.0,
"transaction_fee": 0.0,
"test": false,
"currency": "USD",
"description": "Test description",
"tracking_id": null,
"type": "payment",
"order_id": 27724,
"created_at": "2022-01-27T14:07:00Z",
"paid_at": null,
"settled_at": null,
"manually_corrected_at": null,
"additional_data": {
"request_id": "cb8ada4d-59cb-49c5-b6c5-3e679dd2c7c7",
"browser": {
"screen_width": 1440,
"screen_height": 900,
"screen_color_depth": 24,
"language": "it",
"java_enabled": false,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36",
"time_zone": -180,
"time_zone_name": "Europe/London",
"window_height": 666,
"window_width": 600,
"accept_header": "application/json"
},
"vendor": {
"name": "CTP",
"token": "18b3e6fe3d08edf84bb2fe60c9077c8b898a5bd58f7dc27cd2b286b6b10197d2"
},
"tdsecure": {
"status": "incomplete",
"message": "Authentication Available",
"ve_status": "Y",
"acs_url": "https://test.pc.com:8443/pareq/15524/003ec8b2-4bef-4036-84ba-f27721c99d86/",
"pa_req": "eJxVUtFy2jAQ/BVP3vFJslMwc9GMiRtCZkIpMCXpm7APYxJsIpsW/31PgJtWT7ennb3blXC5tUTJgtKjJY3PVNcmJ6/I7m5e5w8v4U8lF7civp/0B+OXZHajcRbP6UPjL7J1UZVa+sJXCB1kBZtuTdloNOnHaDLVkZQqihCuEPdkJ4mOuoNwaWBp9qTXdDBF5q9bhDPGtDqWjW01iyB0AI/2XW+b5lAPAXZ1r25MXpS5v6bcNPTbtH5a7QHB0RA+N5odXVWz7KnI9OrH03iVzM3z7mE5XY5G38Vb8O1rxrbjOwTHwIzltBJKCan6ngyHoj8UXxDOfTR7t4+WwhfCG71O2eOlgwc3KO6uhUD4t4OctaUybXUUBOyqQ0inQ1USM9jr3xozqlMd9JKFt6ms19iTp8StGvQ2gz6paGOCkBdyHIRPg/eP7gHShpOVQoYseEVuSMEZqtAlegUIjg/Xp+XEzr+Aq/9+xx/mJ7T7",
"md": "42877",
"pa_res_url": "https://demo-gateway.begateway.com/process/20528-f87e29fa35",
"eci": null,
"pa_status": null,
"xid": null,
"cavv": null,
"cavv_algorithm": null,
"fail_reason": null,
"method_process_url": null
},
"avs_cvc": {
"avs_verification": {
"result_code": null
},
"cvc_verification": {
"result_code": null
}
}
},
"three_d_secure_verification": {
"eci": null,
"pa_status": null,
"xid": null,
"cavv": null,
"cavv_algorithm": null,
"ve_status": "Y",
"message": "Authentication Available",
"status": "incomplete"
}
},
{
"billing_address": {
"first_name": null,
"last_name": null,
"address": null,
"country": null,
"city": null,
"zip": null,
"state": null,
"phone": null,
"birth_date": null
},
"customer": {
"ip": "79.98.55.24",
"email": null
},
"payment": {
"gateway_id": 312,
"ref_id": null,
"message": null,
"status": "incomplete",
"gateway_name": "Demo",
"auth_code": null,
"bank_code": null,
"rrn": null,
"billing_descriptor": null
},
"credit_card": {
"holder": "John Doe",
"token": "3379480e-4c10-4dbd-83a3-7a14d16baf1f",
"brand": null,
"last_4": "0007",
"first_1": "4",
"bin": "420000",
"issuer_country": "IT",
"issuer_name": "INVESTBANK",
"exp_month": 1,
"exp_year": 2026,
"product": "VISA"
},
"shop": {
"id": 1
},
"gateway_note": "",
"uid": "20529-66a8451797",
"id": 28861,
"payment_method_type": "credit_card",
"status": "incomplete",
"message": null,
"amount": 1000,
"discount_rate": 0.0,
"transaction_rate": 0.0,
"pay_to_merchant": 0.0,
"transaction_fee": 0.0,
"test": false,
"currency": "USD",
"description": "Test description",
"tracking_id": null,
"type": "payment",
"order_id": 27725,
"created_at": "2022-01-27T14:11:53Z",
"paid_at": null,
"settled_at": null,
"manually_corrected_at": null,
"additional_data": {
"request_id": "9e97e8ad-54e6-487f-9bc0-eae0b497f73f",
"browser": {
"screen_width": 1920,
"screen_height": 1080,
"screen_color_depth": 24,
"language": "it",
"java_enabled": false,
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
"time_zone": -180,
"time_zone_name": "Europe/London",
"window_height": 666,
"window_width": 600,
"accept_header": "application/json"
},
"vendor": {
"name": "CTP",
"token": "179a4105e3f25b2c0ec3e6daf6135629f2fc4caf66667346ae5aeb776c958b4b"
},
"tdsecure": {
"status": "incomplete",
"message": "Authentication Available",
"ve_status": "Y",
"acs_url": "https://test.pc.com:8443/pareq/15525/a52d019a-440b-450a-b72c-67b24f02a56c/",
"pa_req": "eJxVUl1v4jAQ/CtR34k/AvSCFkvQqOpHgiCQVjwaZy+kVxJwQpv8+7MDoXd+mlmPZnfHhs1eIwZrVGeNAiKsKpmhk6fTu1X4kizDx9l8FUY8jrdeuA3uBCxnMZ4EfKGu8rIQzKUuB9JT46DVXha1AKlO8+eF8Bnjvg/kSuGA+jkQfn+AXApQyAOKHR5lnrq7FkjHQZXnotatMCZAegJn/Sn2dX2sJoR8VIOqllleZO4OM1njt2xdVR4IECsD8jPR8mxRZWybPBVJ0ry+vc2j+M/jg8GL6PNl/b5ZRO/JagrEKiA1doJTzinj9w4bThibjDwgXR3kwc4jGHUpdebbhdnxUoGjbTTrrykF8m8FTNYaC9UK3zNmNwbYHMsCjcLsesOQYqWENwjWzu9SO7VuHE5H3B+Mx/LXcMTu/bEZyGqA/Cz48GQfQNUmWUbZ0BhemW2SmwztTl0XS4BYPbk+rUms+wUG/fc7/gJV8bWH",
"md": "42878",
"pa_res_url": "https://demo-gateway.begateway.com/process/20529-66a8451797",
"eci": null,
"pa_status": null,
"xid": null,
"cavv": null,
"cavv_algorithm": null,
"fail_reason": null,
"method_process_url": null
},
"avs_cvc": {
"avs_verification": {
"result_code": null
},
"cvc_verification": {
"result_code": null
}
}
},
"three_d_secure_verification": {
"eci": null,
"pa_status": null,
"xid": null,
"cavv": null,
"cavv_algorithm": null,
"ve_status": "Y",
"message": "Authentication Available",
"status": "incomplete"
}
}
],
"count": 2,
"has_more": false,
"first_object_id": 28860,
"last_object_id": 28861
}
Движение по страницам
Если параметр ответа has_more
имеет значение true
, то это означает, что есть ещё транзакции, удовлетворяющие параметрам запроса, но не попавшие в ответ.
Для прямой пагинации, чтобы забрать следующую часть транзакций, нужно повторить запрос с теми же входными параметрами, добавив к ним параметр starting_after
и передав туда last_object_id
, полученный в ответе.
Для обратной пагинации нужно использовать параметр ending_before
и передавать в нем first_object_id
.