Method: remittanceStatementNotification

Notifies the integrator of a new remittance statement.

Statement notifications occur everytime a new statement is raised that represents money that Google will pay the integrator or the money that the integrator owes Google.

If the integrator returns a success, then it acknowledges receipt of the statement.

The requestId is also the statement Id (used elsewhere). The combination of requestId within the header and paymentIntegratorAccountId is the idempotency key and uniquely identifies this statement.

If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type ErrorResponse.

An example request looks like:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "0123434-statement-abc",
    "requestTimestamp": "1502632800000"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "remittanceStatementSummary": {
    "statementDate": "1502607600000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502521199000"
    },
    "dateDue": "1503212400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  }
}

An example response looks like:


{
  "responseHeader": {
    "responseTimestamp": "1502632802000"
  },
  "paymentIntegratorStatementId": "334a",
  "result": "ACCEPTED"
}

HTTP request

POST https://www.integratorhost.example.com/integrator-base-path/refundable-one-time-payment-code-v1/remittanceStatementNotification

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

paymentIntegratorAccountId

string

REQUIRED: This is the payment integrator account identifier that identifies contractual constraints around this statement.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: Summary of this remittance statement.

Response body

This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse, consult the ErrorResponse object and HTTP status codes documentation.

Possible response messages
HTTP 200 Status

object (RemittanceStatementNotificationResponse)

HTTP 4XX / 5XX Status

object (ErrorResponse)

RemittanceStatementSummary

Summary object about a remittance statement.

JSON representation
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Fields
statementDate

string (int64 format)

REQUIRED: Date (in America/Los Angeles) that this statement was created.

billingPeriod

object (BillingPeriod)

REQUIRED: The billing period this statement covers.

dateDue

string (int64 format)

OPTIONAL: The date that the remittance is due. This is represented as milliseconds from epoch. It is a date (and therefore will always start at the first millisecond of the day in the billing timezone).

This is set as long as the totalDueByIntegrator is greater than 0.

currencyCode

string

REQUIRED: ISO 4217 3-letter currency code.

totalDueByIntegrator

string (Int64Value format)

REQUIRED: This value is in micros in the currency of currencyCode. This value is always positive.

remittanceInstructions

object (RemittanceInstructions)

REQUIRED: Details on how to remit payment

BillingPeriod

Billing period of this statement.

JSON representation
{
  "startDate": string,
  "endDate": string
}
Fields
startDate

string (int64 format)

REQUIRED: The start date of the billing period. This is represented as milliseconds from epoch. It is a date (and therefore will always start at the first millisecond of the day in the billing timezone).

This is the first millisecond of the day of the billing period, 00:00:00.000

endDate

string (int64 format)

REQUIRED: The end date of the billing period. This is represented as milliseconds from epoch.

This is the last millisecond of the last day of the billing period, 23:59:59.999

RemittanceInstructions

Structure holding information about how to pay this remittance notification.

JSON representation
{
  "memoLineId": string
}
Fields
memoLineId

string

REQUIRED: Identifier that is mandatory to be put on the memo line for the payment for remittance identification.

RemittanceStatementNotificationResponse

Response object for the remittance statement notification method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

paymentIntegratorStatementId

string

REQUIRED: Identifier the integrator knows this statement as. This is integrator generated.

result

enum (StatementNotificationResultCode)

REQUIRED: Result of this statement notification.

StatementNotificationResultCode

Result codes for statement notification.

Enums
UNKNOWN_RESULT Do not ever set this default value!
ACCEPTED Integrator has accepted this statement.