- HTTP-запрос
- Тело запроса
- Тело ответа
- Заявление о денежном переводеСводка
- Расчетный период
- Инструкции по денежному переводу
- Событие
Возвращает подробную информацию о транзакции из выписки о денежном переводе.
Это API с разбивкой на страницы. Количество событий транзакций на странице можно указать с помощью numberOfEvents
. Если не указано, на страницу будет возвращено максимум 1000 событий. Каждый запрос к этому API вернет nextEventOffset
, указывающий на следующее событие транзакции в операторе, а также totalEvents
, указывающий общее количество транзакций в операторе. Если текущая полученная страница содержит последние транзакции оператора, nextEventOffset
не будет присутствовать в ответе.
Значение statementId
— это requestId
из remittanceStatementNotificationRequest
.
Если конечная точка обнаружит ошибку при обработке запроса, ответ от этой конечной точки будет иметь тип
.ErrorResponse
Ответы на этот запрос могут быть пустыми, если этот метод не возвращает HTTP 200. Тело ответа пусто в ситуациях, когда
с четким описанием может использоваться, чтобы помочь злоумышленнику понять идентификатор учетной записи интегратора платежей других интеграторов. В таких ситуациях, когда ключ подписи не совпадает, идентификатор интегратора платежей не найден или ключ шифрования неизвестен, этот метод вернет HTTP 404 с пустым телом. Если подпись запроса может быть проверена, в теле ответа будет возвращена дополнительная информация об ошибке.ErrorResponse
Пример запроса выглядит так:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "statement_detail_request_139932019",
"requestTimestamp": "1502551332087"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"statementId": "0123434-statement-abc",
"numberOfEvents": 4
}
Пример ответа выглядит так:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"eventOffset": 0,
"nextEventOffset": 4,
"totalEvents": 15,
"remittanceStatementSummary": {
"statementDate": "1502521200000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502434800000"
},
"dateDue": "1502348400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
},
"captureEvents": [
{
"eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
"eventCharge": "700000000",
"eventFee": "-28000000"
},
{
"eventRequestId": "Ggghvh78200PQ3Yrpb",
"paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
"eventCharge": "800000000",
"eventFee": "-32000000"
}
],
"refundEvents": [
{
"eventRequestId": "liUrreQY233839dfFFb24gaQM",
"paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
"eventCharge": "-200000000",
"eventFee": "8000000"
},
{
"eventRequestId": "IIghhhUrreQY233839II9qM==",
"paymentIntegratorEventId": "DFjidoso12FSDFSDE",
"eventCharge": "-150000000",
"eventFee": "6000000"
}
]
}
HTTP-запрос
POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/ :PIAID
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление |
---|
{
"requestHeader": {
object ( |
Поля | |
---|---|
requestHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов. |
paymentIntegratorAccountId | ОБЯЗАТЕЛЬНО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения, связанные с этим заявлением. |
statementId | ОБЯЗАТЕЛЬНО : идентификатор запроса уведомления о выписке. |
eventOffset | НЕОБЯЗАТЕЛЬНО : возвращать события, начинающиеся с этого смещения. Для этого параметра должно быть установлено значение |
numberOfEvents | НЕОБЯЗАТЕЛЬНО : количество событий, отображаемых на странице. Если не указано или больше 1000, это будет 1000. |
Тело ответа
Объект ответа для метода детализации выписки о денежном переводе.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
remittanceStatementSummary | ОБЯЗАТЕЛЬНО : Краткое изложение данного заявления о денежном переводе. |
eventOffset | ОБЯЗАТЕЛЬНО : смещение события этого ответа. |
nextEventOffset | НЕОБЯЗАТЕЛЬНО : смещение следующего возвращаемого события. Если не указано, для этого оператора больше нет событий, которые можно было бы получить. |
totalEvents | ОБЯЗАТЕЛЬНО : общее количество событий в этом операторе. |
totalWithholdingTaxes | ОБЯЗАТЕЛЬНО : Сумма всех налогов, удержанных в этом отчете. Это значение находится в микрометрах . |
captureEvents[] | ОБЯЗАТЕЛЬНО : набор событий захвата. |
refundEvents[] | ОБЯЗАТЕЛЬНО : набор событий возврата. |
reverseRefundEvents[] | НЕОБЯЗАТЕЛЬНО : набор событий обратного возврата. |
chargebackEvents[] | НЕОБЯЗАТЕЛЬНО : набор событий возврата платежей. |
reverseChargebackEvents[] | НЕОБЯЗАТЕЛЬНО : набор событий обратного возвратного платежа. |
adjustmentEvents[] | ДОПОЛНИТЕЛЬНО : Набор событий настройки. События корректировки могут быть добавлены по усмотрению Google для устранения расхождений в выставлении счетов, например, если комиссии за набор предыдущих транзакций были занижены, корректировка может быть использована для того, чтобы сделать интегратора целостным. |
Заявление о денежном переводеСводка
Сводный объект о выписке о денежном переводе.
JSON-представление |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Поля | |
---|---|
statementDate | ОБЯЗАТЕЛЬНО : Дата (в Америке/Лос-Анджелесе) создания этого заявления. |
billingPeriod | ОБЯЗАТЕЛЬНО : расчетный период, охватываемый данным заявлением. |
dateDue | НЕОБЯЗАТЕЛЬНО : дата, когда должен быть произведен денежный перевод. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов). Это значение устанавливается до тех пор, пока значение |
currencyCode | ТРЕБУЕТСЯ : трехбуквенный код валюты ISO 4217. |
totalDueByIntegrator | ОБЯЗАТЕЛЬНО : это значение указывается в микромах в валюте |
remittanceInstructions | ОБЯЗАТЕЛЬНО : Подробная информация о том, как перевести платеж. |
Расчетный период
Расчетный период настоящего заявления.
JSON-представление |
---|
{ "startDate": string, "endDate": string } |
Поля | |
---|---|
startDate | ОБЯЗАТЕЛЬНО : дата начала расчетного периода. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов). Это первая миллисекунда дня расчетного периода, 00:00:00.000. |
endDate | ОБЯЗАТЕЛЬНО : дата окончания расчетного периода. Это представлено в миллисекундах от эпохи. Это последняя миллисекунда последнего дня расчетного периода, 23:59:59,999. |
Инструкции по денежному переводу
Структура, содержащая информацию о том, как оплатить это уведомление о денежном переводе.
JSON-представление |
---|
{ "memoLineId": string } |
Поля | |
---|---|
memoLineId | ОБЯЗАТЕЛЬНО : Идентификатор, который обязательно должен быть указан в строке памятки для платежа для идентификации денежного перевода. |
Событие
Структура, представляющая одно событие, включенное в отчет о денежном переводе.
JSON-представление |
---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
Поля | |
---|---|
eventRequestId | ОБЯЗАТЕЛЬНО : для событий захвата или возврата это будет |
paymentIntegratorEventId | ОБЯЗАТЕЛЬНО : идентификатор, возвращенный интегратором платежей для этого события. Для захвата это Это поле имеет переменную длину, поскольку здесь будет отражен любой идентификатор, который вы указываете для этого события. Если интегратор не предоставил значение для соответствующего события, это поле будет содержать то же значение, что и поле Для событий обратного возврата, возвратного платежа и обратного платежа это будет Длина и формат этого поля зависят от исходного поля для каждого идентификатора. Подробную информацию о требованиях к длине и набору символов см. в документации по каждому из исходных полей. В частности, обратите внимание, что это поле иногда может содержать идентификаторы, сгенерированные Google, требования к максимальной длине которых могут отличаться от требований к идентификаторам, сгенерированным интегратором. |
eventCharge | ОБЯЗАТЕЛЬНО : в коде валюты, определенном в операторе. Если это значение отрицательное, то оно представляет собой денежную стоимость, передаваемую от Google к платежному интегратору. Если результат положительный, то это деньги от платежного интегратора, причитающиеся Google. Например, транзакции захвата всегда будут положительными, а транзакции возврата всегда будут отрицательными. События обратного возврата и обратного платежа всегда будут положительными. События возвратного платежа всегда будут отрицательными. Это значение находится в микрометрах . |
eventFee | ОБЯЗАТЕЛЬНО : в коде валюты, определенном в операторе. Если это значение отрицательное, то оно представляет собой денежную стоимость, передаваемую от Google к платежному интегратору. Если результат положительный, то это деньги от платежного интегратора, причитающиеся Google. Например, если в соглашении указано, что Google выплатит 1% от Это значение находится в микрометрах . |
presentmentChargeAmount | НЕОБЯЗАТЕЛЬНО : сумма транзакции в валюте представления (т.н. валюты транзакции) до обмена иностранной валюты. Это поле соответствует тому же соглашению о знаках, что и поле Это значение находится в микрометрах . |
presentmentCurrencyCode | ДОПОЛНИТЕЛЬНО : трехбуквенный код валюты ISO 4217, обозначающий валюту представления (транзакции). |
exchangeRate | НЕОБЯЗАТЕЛЬНО : обменный курс, используемый при конвертации суммы представления в сумму расчета (счета). Это значение выражается в микробазисных пунктах (1 базисный пункт = 0,0001 = 0,01%). То есть, чтобы получить курс обмена, разделите это поле на 10^10. |
nanoExchangeRate | НЕОБЯЗАТЕЛЬНО : обменный курс, используемый при конвертации суммы представления в сумму расчета (счета), выраженный в нанобазисных пунктах. Это значение выражается в нанобазисных пунктах (1 базисный пункт = 0,0001 = 0,01%). То есть, чтобы получить курс обмена, разделите это поле на 10^13. И это поле, и ExchangeRate будут заполнены. Это эквивалентные обменные курсы, выраженные с разной точностью. В будущих версиях ExchangeRate будет удален в пользу nanoExchangeRate. |