Method: remittanceStatementDetails

Возвращает подробную информацию о транзакции из выписки о денежном переводе.

Это API с разбивкой на страницы. Количество событий транзакций на странице можно указать с помощью numberOfEvents . Если не указано, на страницу будет возвращено максимум 1000 событий. Каждый запрос к этому API вернет nextEventOffset , указывающий на следующее событие транзакции в операторе, а также totalEvents , указывающий общее количество транзакций в операторе. Если текущая полученная страница содержит последние транзакции оператора, nextEventOffset не будет присутствовать в ответе.

Значение statementId — это requestId из remittanceStatementNotificationRequest .

Если конечная точка обнаружит ошибку при обработке запроса, ответ от этой конечной точки будет иметь тип ErrorResponse .

Ответы на этот запрос могут быть пустыми, если этот метод не возвращает HTTP 200. Тело ответа пусто в ситуациях, когда ErrorResponse с четким описанием может использоваться, чтобы помочь злоумышленнику понять идентификатор учетной записи интегратора платежей других интеграторов. В таких ситуациях, когда ключ подписи не совпадает, идентификатор интегратора платежей не найден или ключ шифрования неизвестен, этот метод вернет HTTP 404 с пустым телом. Если подпись запроса может быть проверена, в теле ответа будет возвращена дополнительная информация об ошибке.

Пример запроса выглядит так:


{
  "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": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
Поля
requestHeader

object ( RequestHeader )

ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов.

paymentIntegratorAccountId

string

ОБЯЗАТЕЛЬНО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения, связанные с этим заявлением.

statementId

string

ОБЯЗАТЕЛЬНО : идентификатор запроса уведомления о выписке.

eventOffset

integer

НЕОБЯЗАТЕЛЬНО : возвращать события, начинающиеся с этого смещения. Для этого параметра должно быть установлено значение nextEventOffset , если оно было возвращено, или оставить неуказанным, если это первый запрос. Если eventOffset равен нулю, события будут возвращаться, начиная с первого события. Если это два, события будут возвращены, начиная с третьего события. Если значение не указано, eventOffset будет считаться равным нулю.

numberOfEvents

integer

НЕОБЯЗАТЕЛЬНО : количество событий, отображаемых на странице. Если не указано или больше 1000, это будет 1000.

Тело ответа

Объект ответа для метода детализации выписки о денежном переводе.

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
Поля
responseHeader

object ( ResponseHeader )

ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов.

remittanceStatementSummary

object ( RemittanceStatementSummary )

ОБЯЗАТЕЛЬНО : Краткое изложение данного заявления о денежном переводе.

eventOffset

integer

ОБЯЗАТЕЛЬНО : смещение события этого ответа.

nextEventOffset

integer

НЕОБЯЗАТЕЛЬНО : смещение следующего возвращаемого события. Если не указано, для этого оператора больше нет событий, которые можно было бы получить.

totalEvents

integer

ОБЯЗАТЕЛЬНО : общее количество событий в этом операторе.

totalWithholdingTaxes

string ( Int64Value format)

ОБЯЗАТЕЛЬНО : Сумма всех налогов, удержанных в этом отчете.

Это значение находится в микрометрах .

captureEvents[]

object ( Event )

ОБЯЗАТЕЛЬНО : набор событий захвата.

refundEvents[]

object ( Event )

ОБЯЗАТЕЛЬНО : набор событий возврата.

reverseRefundEvents[]

object ( Event )

НЕОБЯЗАТЕЛЬНО : набор событий обратного возврата.

chargebackEvents[]

object ( Event )

НЕОБЯЗАТЕЛЬНО : набор событий возврата платежей.

reverseChargebackEvents[]

object ( Event )

НЕОБЯЗАТЕЛЬНО : набор событий обратного возвратного платежа.

adjustmentEvents[]

object ( Event )

ДОПОЛНИТЕЛЬНО : Набор событий настройки. События корректировки могут быть добавлены по усмотрению Google для устранения расхождений в выставлении счетов, например, если комиссии за набор предыдущих транзакций были занижены, корректировка может быть использована для того, чтобы сделать интегратора целостным.

Заявление о денежном переводеСводка

Сводный объект о выписке о денежном переводе.

JSON-представление
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Поля
statementDate

string ( int64 format)

ОБЯЗАТЕЛЬНО : Дата (в Америке/Лос-Анджелесе) создания этого заявления.

billingPeriod

object ( BillingPeriod )

ОБЯЗАТЕЛЬНО : расчетный период, охватываемый данным заявлением.

dateDue

string ( int64 format)

НЕОБЯЗАТЕЛЬНО : дата, когда должен быть произведен денежный перевод. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов).

Это значение устанавливается до тех пор, пока значение totalDueByIntegrator больше 0.

currencyCode

string

ТРЕБУЕТСЯ : трехбуквенный код валюты ISO 4217.

totalDueByIntegrator

string ( Int64Value format)

ОБЯЗАТЕЛЬНО : это значение указывается в микромах в валюте currencyCode . Это значение всегда положительное.

remittanceInstructions

object ( RemittanceInstructions )

ОБЯЗАТЕЛЬНО : Подробная информация о том, как перевести платеж.

Расчетный период

Расчетный период настоящего заявления.

JSON-представление
{
  "startDate": string,
  "endDate": string
}
Поля
startDate

string ( int64 format)

ОБЯЗАТЕЛЬНО : дата начала расчетного периода. Это представлено в миллисекундах от эпохи. Это дата (и поэтому она всегда начинается с первой миллисекунды дня в часовом поясе для выставления счетов).

Это первая миллисекунда дня расчетного периода, 00:00:00.000.

endDate

string ( int64 format)

ОБЯЗАТЕЛЬНО : дата окончания расчетного периода. Это представлено в миллисекундах от эпохи.

Это последняя миллисекунда последнего дня расчетного периода, 23:59:59,999.

Инструкции по денежному переводу

Структура, содержащая информацию о том, как оплатить это уведомление о денежном переводе.

JSON-представление
{
  "memoLineId": string
}
Поля
memoLineId

string

ОБЯЗАТЕЛЬНО : Идентификатор, который обязательно должен быть указан в строке памятки для платежа для идентификации денежного перевода.

Событие

Структура, представляющая одно событие, включенное в отчет о денежном переводе.

JSON-представление
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
Поля
eventRequestId

string

ОБЯЗАТЕЛЬНО : для событий захвата или возврата это будет requestId , который Google отправляет вместе с запросом. Для событий обратного возмещения, возвратного платежа и обратного платежа это будет requestId , который Платежный интегратор отправляет с уведомлением об этом событии. Для корректировок это будет уникальный идентификатор, присвоенный Google событию корректировки.

paymentIntegratorEventId

string

ОБЯЗАТЕЛЬНО : идентификатор, возвращенный интегратором платежей для этого события. Для захвата это paymentIntegratorTransactionId из ответа на capture , для возврата — это paymentIntegratorRefundId из ответа на вызов refund .

Это поле имеет переменную длину, поскольку здесь будет отражен любой идентификатор, который вы указываете для этого события. Если интегратор не предоставил значение для соответствующего события, это поле будет содержать то же значение, что и поле eventRequestId .

Для событий обратного возврата, возвратного платежа и обратного платежа это будет requestId , отправленный Платежным интегратором вместе с уведомлением о событии.

Длина и формат этого поля зависят от исходного поля для каждого идентификатора. Подробную информацию о требованиях к длине и набору символов см. в документации по каждому из исходных полей. В частности, обратите внимание, что это поле иногда может содержать идентификаторы, сгенерированные Google, требования к максимальной длине которых могут отличаться от требований к идентификаторам, сгенерированным интегратором.

eventCharge

string ( Int64Value format)

ОБЯЗАТЕЛЬНО : в коде валюты, определенном в операторе. Если это значение отрицательное, то оно представляет собой денежную стоимость, передаваемую от Google к платежному интегратору. Если результат положительный, то это деньги от платежного интегратора, причитающиеся Google.

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

Это значение находится в микрометрах .

eventFee

string ( Int64Value format)

ОБЯЗАТЕЛЬНО : в коде валюты, определенном в операторе. Если это значение отрицательное, то оно представляет собой денежную стоимость, передаваемую от Google к платежному интегратору. Если результат положительный, то это деньги от платежного интегратора, причитающиеся Google.

Например, если в соглашении указано, что Google выплатит 1% от transactionCharge платежному интегратору и отменит этот 1% при возврате этой транзакции, тогда комиссия за захват будет отрицательной, а при возврате комиссия за возврат будет положительной.

Это значение находится в микрометрах .

presentmentChargeAmount

string ( Int64Value format)

НЕОБЯЗАТЕЛЬНО : сумма транзакции в валюте представления (т.н. валюты транзакции) до обмена иностранной валюты. Это поле соответствует тому же соглашению о знаках, что и поле eventCharge .

Это значение находится в микрометрах .

presentmentCurrencyCode

string

ДОПОЛНИТЕЛЬНО : трехбуквенный код валюты ISO 4217, обозначающий валюту представления (транзакции).

exchangeRate

string ( Int64Value format)

НЕОБЯЗАТЕЛЬНО : обменный курс, используемый при конвертации суммы представления в сумму расчета (счета).

Это значение выражается в микробазисных пунктах (1 базисный пункт = 0,0001 = 0,01%). То есть, чтобы получить курс обмена, разделите это поле на 10^10.

nanoExchangeRate

string ( Int64Value format)

НЕОБЯЗАТЕЛЬНО : обменный курс, используемый при конвертации суммы представления в сумму расчета (счета), выраженный в нанобазисных пунктах.

Это значение выражается в нанобазисных пунктах (1 базисный пункт = 0,0001 = 0,01%). То есть, чтобы получить курс обмена, разделите это поле на 10^13.

И это поле, и ExchangeRate будут заполнены. Это эквивалентные обменные курсы, выраженные с разной точностью. В будущих версиях ExchangeRate будет удален в пользу nanoExchangeRate.