Method: integrator-base-path.redirect-fop-v1.remittanceStatementNotification

Notifies the integrator of a new remittance statement.

Statement notifications occur every time 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 and paymentIntegratorAccountId within the header 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": 2
    },
    "requestId": "0123434-statement-abc",
    "requestTimestamp": {
      "epochMillis": "1502632800000"
    },
    "paymentIntegratorAccountId": "InvisiCashUSA_USD"
  },
  "remittanceStatementSummary": {
    "statementDate": {
      "epochMillis": "1502521200000"
    },
    "billingPeriod": {
      "startDate": {
        "epochMillis": "1502434800000"
      },
      "endDate": {
        "epochMillis": "1502434800000"
      }
    },
    "dateDue": {
      "epochMillis": "1502348400000"
    },
    "totalDueByIntegrator": {
      "amountMicros": "1076000000",
      "currencyCode": "INR"
    },
    "totalEvents": 15
  }
}

An example response looks like:


{
  "responseHeader": {
    "responseTimestamp": {
      "epochMillis": "1502632802000"
    }
  },
  "result": {
    "accepted": {}
  }
}

HTTP request

POST https://www.integratorhost.example.com/integrator-base-path/redirect-fop-v1/remittanceStatementNotification

Request body

The request body contains data with the following structure:

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

object (RequestHeader)

REQUIRED: Common header for all requests.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: Summary of this remittance statement.

Response body

If successful, the response body contains data with the following structure:

Response object for the remittance statement notification method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": {
    object (StatementNotificationResult)
  }
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

result

object (StatementNotificationResult)

REQUIRED: Result of this statement notification.

RemittanceStatementSummary

Summary object about a remittance statement.

JSON representation
{
  "statementDate": {
    object (Timestamp)
  },
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": {
    object (Timestamp)
  },
  "totalDueByIntegrator": {
    object (Amount)
  },
  "totalEvents": integer
}
Fields
statementDate

object (Timestamp)

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

billingPeriod

object (BillingPeriod)

REQUIRED: The billing period this statement covers.

dateDue

object (Timestamp)

OPTIONAL: The date that the remittance is due. This is represented as a Timestamp. 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.

totalDueByIntegrator

object (Amount)

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

totalEvents

integer

REQUIRED: Total number of events in this statement.

BillingPeriod

Billing period of this statement.

JSON representation
{
  "startDate": {
    object (Timestamp)
  },
  "endDate": {
    object (Timestamp)
  }
}
Fields
startDate

object (Timestamp)

REQUIRED: The start date of the billing period. This is represented as a Timestamp. 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

object (Timestamp)

REQUIRED: The end date of the billing period. This is represented as a Timestamp.

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

StatementNotificationResult

Result of this statement notification.

JSON representation
{
  "accepted": {
    object (Empty)
  }
}
Fields
accepted

object (Empty)

Integrator acknowledges receipt of this notification.