- [HTTP request](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#body.HTTP_TEMPLATE)
- [Request body](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#body.request_body)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#body.response_body)
- [RequestHeader](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RequestHeader)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RequestHeader.SCHEMA_REPRESENTATION)
- [Timestamp](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp.SCHEMA_REPRESENTATION)
- [Version](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Version)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Version.SCHEMA_REPRESENTATION)
- [Interval](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Interval)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Interval.SCHEMA_REPRESENTATION)
- [Amount](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount.SCHEMA_REPRESENTATION)
- [CaptureEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#CaptureEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#CaptureEvent.SCHEMA_REPRESENTATION)
- [EventPresentmentDetails](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails.SCHEMA_REPRESENTATION)
- [EventFeeBreakdown](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown.SCHEMA_REPRESENTATION)
- [FeeDetail](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeDetail)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeDetail.SCHEMA_REPRESENTATION)
- [FeeAssessmentSource](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeAssessmentSource)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeAssessmentSource.SCHEMA_REPRESENTATION)
- [Empty](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty)
- [InterchangeFee](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#InterchangeFee)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#InterchangeFee.SCHEMA_REPRESENTATION)
- [FeeType](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeType)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeType.SCHEMA_REPRESENTATION)
- [RefundEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RefundEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RefundEvent.SCHEMA_REPRESENTATION)
- [ReverseRefundEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseRefundEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseRefundEvent.SCHEMA_REPRESENTATION)
- [ChargebackEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ChargebackEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ChargebackEvent.SCHEMA_REPRESENTATION)
- [ReverseChargebackEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseChargebackEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseChargebackEvent.SCHEMA_REPRESENTATION)
- [FundsReservationEvent](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FundsReservationEvent)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FundsReservationEvent.SCHEMA_REPRESENTATION)
- [AggregateAdjustment](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregateAdjustment)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregateAdjustment.SCHEMA_REPRESENTATION)
- [AdjustmentType](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AdjustmentType)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AdjustmentType.SCHEMA_REPRESENTATION)
- [AggregatedFees](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees.SCHEMA_REPRESENTATION)
- [MiscellaneousAdjustment](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#MiscellaneousAdjustment)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#MiscellaneousAdjustment.SCHEMA_REPRESENTATION)
- [SettlementNotificationResponse](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#SettlementNotificationResponse)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#SettlementNotificationResponse.SCHEMA_REPRESENTATION)
- [ResponseHeader](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ResponseHeader)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ResponseHeader.SCHEMA_REPRESENTATION)
- [Result](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Result)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Result.SCHEMA_REPRESENTATION)

Informs Google that a set of events will be net settled in bulk into a Google bank account.

If the endpoint encounters an error while processing the request, the endpoint will return HTTP 4xx or 5xx and the HTTP body will either be of type [`ErrorResponse`](https://developers.google.com/pay/card-fop-v1/payment-integrator-card-fop-api/ErrorResponse) or contain a generic error (e.g. a message similar to "There was an error. Please try again later.").

The generic error is used in situations where an [`ErrorResponse`](https://developers.google.com/pay/card-fop-v1/payment-integrator-card-fop-api/ErrorResponse) with a clear description could be used to help an attacker understand the payment integrator account identifier of other integrators. In these situations, where either the signing key doesn't match, the payment integrator identifier was not found, or the encryption key was unknown, this method will return a generic error. If the request signature could be verified, additional information regarding the error will be returned in an [`ErrorResponse`](https://developers.google.com/pay/card-fop-v1/payment-integrator-card-fop-api/ErrorResponse).

An example request looks like:


    {
      "requestHeader": {
        "protocolVersion": {
          "major": 1
        },
        "requestId": "statement_detail_request_139932019",
        "requestTimestamp":{
          "epochMillis": "1502551332087"
        },
        "paymentIntegratorAccountId": "InvisiCashUSA_USD"
      },
      "generatedTimestamp": {
        "epochMillis": "1481899949606"
      },
      "settlementPeriod": {
        "start": {
          "epochMillis": "1481892949606"
        },
        "end": {
          "epochMillis": "1481899949606"
        }
      },
      "settlementAmount": {
        "amountMicros": "836000",
        "currencyCode": "USD"
      },
      "settlementId": "STL_423JRE41",
      "notificationOffset": 0,
      "notificationTotal": 2,
      "captureEvents": [
        {
          "captureRequestId": "076c1924-e8b3-4168-b456-363f72f5d7f1",
          "paymentIntegratorCaptureId": "12439VSDERA4",
          "eventCharge": {
            "amountMicros": "2000000",
            "currencyCode": "USD"
          },
          "eventFee": {
            "amountMicros": "-60000",
            "currencyCode": "USD"
          },
          "eventVat": {
            "amountMicros": "-20000",
            "currencyCode": "USD"
          },
          "eventFeeBreakdown": {
            "feeDetails": [
              {
                "unitFee": {
                  "amountMicros": "-20000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "scheme": {}
                },
                "feeType": {
                  "authorization": {}
                },
                "feeCategory": "IA",
                "feeSubCategory": "ASSESSMENT_FEES",
                "feeDescription": "MC Connectivity Fee"
              },
              {
                "unitFee": {
                  "amountMicros": "-20000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "contract": {}
                },
                "feeType": {
                  "authorization": {}
                },
                "feeCategory": "PFEE",
                "feeSubCategory": "AUTHORIZATION_FEES",
                "feeDescription": "Online Authorization"
              },
              {
                "unitFee": {
                  "amountMicros": "-20000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "interchange": {
                    "interchangeCode": "MIS",
                    "interchangeQualification": "MasterCard International Standard"
                  }
                },
                "feeType": {
                  "capture": {}
                },
                "feeCategory": "IA",
                "feeSubCategory": "INTERCHANGE_FEES",
                "feeDescription": "Interchange"
              }
            ]
          }
        },
        {
          "captureRequestId": "5cbbb5d7-523d-443e-86ef-8a480e5547c1",
          "paymentIntegratorCaptureId": "H4ARKL3431",
          "eventCharge": {
            "amountMicros": "2990000",
            "currencyCode": "USD"
          },
          "eventFee": {
            "amountMicros": "-63000",
            "currencyCode": "USD"
          },
          "eventVat": {
            "amountMicros": "-21000",
            "currencyCode": "USD"
          },
          "eventFeeBreakdown": {
            "feeDetails": [
              {
                "unitFee": {
                  "amountMicros": "-21000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "contract": {}
                },
                "feeType": {
                  "capture": {}
                },
                "feeCategory": "PFEE",
                "feeSubCategory": "DEPOSIT_FEES",
                "feeDescription": "Settled Dep. Fee"
              },
              {
                "unitFee": {
                  "amountMicros": "-21000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "interchange": {
                    "interchangeCode": "MM1P",
                    "interchangeQualification": "MC AVS Card Not Present Fee"
                  }
                },
                "feeType": {
                  "authorization": {}
                },
                "feeCategory": "IA",
                "feeSubCategory": "INTERCHANGE_FEES",
                "feeDescription": "Interchange"
              },
              {
                "unitFee": {
                  "amountMicros": "-21000",
                  "currencyCode": "USD"
                },
                "feeAssessmentSource": {
                  "interchange": {
                    "interchangeCode": "MM1P",
                    "interchangeQualification": "MC Reporting&Infrastructure"
                  }
                },
                "feeType": {
                  "capture": {}
                },
                "feeCategory": "IA",
                "feeSubCategory": "INTERCHANGE_FEES",
                "feeDescription": "Interchange"
              }
            ]
          }
        }
      ],
      "refundEvents": [
        {
          "asynchronousRefundRequestId": "17f76596-2ba5-4acf-806d-d6f72a70c89d",
          "paymentIntegratorRefundId": "4378VS143UH",

          "eventCharge": {
            "amountMicros": "-1990000",
            "currencyCode": "USD"
          },
          "eventFee": {
            "amountMicros": "0",
            "currencyCode": "USD"
          },
          "eventVat": {
            "amountMicros": "0",
            "currencyCode": "USD"
          }
        }

      ],
      "reverseRefundEvents": [],
      "chargebackEvents": [],
      "reverseChargebackEvents": [],
      "aggregateAdjustments": [
        {
          "adjustmentAmount": {
              "amountMicros": "-2000000",
              "currencyCode": "USD"
          },
          "adjustmentType": {
            "chargebackThresholdFine": {}
          }
        }
      ]
    }

An example success response looks like:


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

### HTTP request

`POST https://vgw.googleapis.com/secure-serving/gsp/v1/settlementNotification/https://developers.google.com/pay/card-fop-v1/reference/glossary#payment_integrator_account_id`

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "requestHeader": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RequestHeader`) }, "generatedTimestamp": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`) }, "settlementPeriod": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Interval`) }, "settlementAmount": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "settlementId": string, "notificationOffset": string, "notificationTotal": string, "captureEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#CaptureEvent`) } ], "refundEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RefundEvent`) } ], "reverseRefundEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseRefundEvent`) } ], "chargebackEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ChargebackEvent`) } ], "reverseChargebackEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseChargebackEvent`) } ], "fundsReservationEvents": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FundsReservationEvent`) } ], "aggregateAdjustments": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregateAdjustment`) } ] } ``` |

| Fields ||
|---|---|
| `requestHeader` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RequestHeader`)`` **REQUIRED**: Common header for all requests. |
| `generatedTimestamp` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`)`` **REQUIRED**: Timestamp of when this report was generated. |
| `settlementPeriod` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Interval`)`` **REQUIRED**: The period this settlement report covers. |
| `settlementAmount` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : This should match the sum of all the `eventCharge`, `eventFee`, `eventVat` and `aggregateAdjustment` amounts in this `SettlementNotificationRequest`. If the settlement report is made up of multiple settlement notifications, the total amount settled will be the sum of each of these `settlementAmount`. |
| `settlementId` | `string` **REQUIRED** : This should be a unique ID that identifies the settlement report. All `SettlementNotificationRequest` for this settlement report should use the same `settlementId`. |
| `notificationOffset` | `string (https://developers.google.com/discovery/v1/type-format format)` **REQUIRED** : This is the offset of this `SettlementNotificationRequest`. The first should have a `notificationOffset` of `0` and the last should have an offset of `notificationTotal-1`. |
| `notificationTotal` | `string (https://developers.google.com/discovery/v1/type-format format)` **REQUIRED** : The total number of `SettlementNotificationRequest` in this settlement report. |
| `captureEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#CaptureEvent`)`` **REQUIRED**: Set of capture events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `refundEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#RefundEvent`)`` **REQUIRED**: Set of refund events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `reverseRefundEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseRefundEvent`)`` **REQUIRED**: Set of reverse refund events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `chargebackEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ChargebackEvent`)`` **REQUIRED**: Set of chargeback events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `reverseChargebackEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ReverseChargebackEvent`)`` **REQUIRED**: Set of reverse chargeback events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `fundsReservationEvents[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FundsReservationEvent`)`` **REQUIRED**: Set of funds reservation events. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |
| `aggregateAdjustments[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregateAdjustment`)`` **REQUIRED**: Adjustments that don't apply to an individual transaction. <br /> > [!NOTE] > **Note:** this is a set, it has no defined order. If there are no events an empty message should be used. <br /> |

### 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](https://developers.google.com/pay/card-fop-v1/guides/connectivity/protocol-standards#http_status_codes).

| Possible response messages ||
|---|---|
| HTTP 200 Status | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#SettlementNotificationResponse`)`` |
| HTTP 4XX / 5XX Status | `object (https://developers.google.com/pay/card-fop-v1/payment-integrator-card-fop-api/ErrorResponse)` |
| End of mutually exclusive fields. ||

## RequestHeader

Header object that is defined on all requests sent to the server.

| JSON representation |
|---|
| ``` { "requestId": string, "requestTimestamp": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`) }, "protocolVersion": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Version`) }, "paymentIntegratorAccountId": string } ``` |

| Fields ||
|---|---|
| `requestId` | `string` **REQUIRED**: Unique identifier of this request. This is a string that has a max length of 100 characters, and contains only the characters "a-z", "A-Z", "0-9", ":", "-", and "_". |
| `requestTimestamp` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`)`` **REQUIRED**: Timestamp of this request. The receiver must verify that this timestamp is ± 60s of 'now', and reject the request if it is not. This request timestamp is not idempotent upon retries. |
| `protocolVersion` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Version`)`` **REQUIRED**: The version of this request. |
| `paymentIntegratorAccountId` | `string` **REQUIRED**: Identifies a unique account with contractual constraints. |

## Timestamp

A timestamp object representing a point on the ISO timeline in milliseconds since the Unix epoch.

| JSON representation |
|---|
| ``` { "epochMillis": string } ``` |

| Fields ||
|---|---|
| `epochMillis` | `string (https://developers.google.com/discovery/v1/type-format format)` **REQUIRED**: Milliseconds since the Unix epoch |

## Version

Version object contains the major version of the API. Versions of the same major version are guaranteed to be compatible. The integrator must support all requests for the same major version.

| JSON representation |
|---|
| ``` { "major": integer } ``` |

| Fields ||
|---|---|
| `major` | `integer` **REQUIRED**: Major version. This is marked for compatibility requests with different versions are not guaranteed to be compatible. |

## Interval

A length of time with a chronological beginning and end.

| JSON representation |
|---|
| ``` { "start": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`) }, "end": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`) } } ``` |

| Fields ||
|---|---|
| `start` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`)`` **REQUIRED**: The start of this interval, which is inclusive. |
| `end` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`)`` **REQUIRED**: The end of this interval, which is exclusive. |

## Amount

Associates an amount in micros with a currency code.

| JSON representation |
|---|
| ``` { "amountMicros": string, "currencyCode": string } ``` |

| Fields ||
|---|---|
| `amountMicros` | `string (https://developers.google.com/discovery/v1/type-format format)` **REQUIRED** : An amount in [micros](https://developers.google.com/pay/card-fop-v1/reference/glossary#micros "What are micros?"). |
| `currencyCode` | `string` **REQUIRED**: ISO 4217 3-letter currency code |

## CaptureEvent

This represents a payment where a customer is charged. It is associated with a `capture`, `asynchronousCaptureFundsReservation` or `beginRedirect` event.

| JSON representation |
|---|
| ``` { "captureRequestId": string, "paymentIntegratorCaptureId": string, "eventCharge": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) }, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventVat": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) } } ``` |

| Fields ||
|---|---|
| `captureRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `capture` event represented by this `settlementEvent`. |
| `paymentIntegratorCaptureId` | `string` **REQUIRED**: An ID that is generated by the payment integrator that can be used to refer to this capture event. |
| `eventCharge` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **OPTIONAL**: If the settlement currency is different than the purchase currency then this field should be used to specify details about the event in the original purchase currency and the conversion to the settlement amount. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventVat` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. This is the value-added-tax (VAT) for the `eventFee`. This amount is in addition to the fee. e.g. If the `eventCharge` is $2.00, the `eventFee` is -$0.20 and the `eventVat` is -$0.05 the total settlement value for this event would be $1.75. |

## EventPresentmentDetails

This represents a presentment currency and a conversion rate in case the settlement and the purchase currencies are different.

| JSON representation |
|---|
| ``` { "presentmentAmount": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "nanoExchangeRate": string } ``` |

| Fields ||
|---|---|
| `presentmentAmount` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. The presentment amount of the purchase in the currency that was used for the purchase. This should only be specified if the purchase currency is different than the settlement currency. |
| `nanoExchangeRate` | `string (https://developers.google.com/discovery/v1/type-format format)` **REQUIRED**: The exchange rate used in converting the presentment amount to the settlement (invoice) amount. This value is in *nano* basis points (1 basis point = .0001 = .01%). That is, to get the exchange rate, divide this field by 10\^13. Example: - $1 USD is €0.85 EUR. - USD/EUR exchange rate is: 0.85 - USD/EUR exchange rate with 0.0001 basis point is: 0.85\*10\^(4) - USD/EUR exchange rate with *nano* 0.0001 basis point is: 0.85\*10\^(13) - USD/EUR exchange rate with *nano* 0.0001 basis point is: 8 500 000 000 000 <br /> |

## EventFeeBreakdown

This represents a breakdown of the `eventFee` that can be used for reporting purposes to better understand the fee makeup.

| JSON representation |
|---|
| ``` { "feeDetails": [ { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeDetail`) } ] } ``` |

| Fields ||
|---|---|
| `feeDetails[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeDetail`)`` **REQUIRED**: Details of a fee event. |

## FeeDetail

This represents details of a fee event.

| JSON representation |
|---|
| ``` { "unitFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "feeAssessmentSource": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeAssessmentSource`) }, "feeType": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeType`) }, "feeCategory": string, "feeSubCategory": string, "feeDescription": string } ``` |

| Fields ||
|---|---|
| `unitFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. The amount of the fee being described. This can be smaller than the minimum billible unit. The sum of all the `unitFee` should be close to the `eventFee` but might not be exact due to rounding or small values less than the minimum billible unit. Because of that, this value might not match the exact amount settled for the transaction. The `eventFee` should be used for the amount settled. |
| `feeAssessmentSource` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeAssessmentSource`)`` **REQUIRED**: The source that is assessing the fee. |
| `feeType` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#FeeType`)`` **REQUIRED** : This is the type of the fee event. It might match the event type, but it doesn't have to. For example, an authorization fee might be assessed with a `captureEvent`. |
| `feeCategory` | `string` **REQUIRED**: The category of the fee. e.g. Discount, Fee, etc. |
| `feeSubCategory` | `string` **REQUIRED**: The category of the fee. e.g. Authorization, assessment, deposit, etc. |
| `feeDescription` | `string` **REQUIRED**: A description of the fee. This field is not parsed by the system and is only for human consumption to better understand the fee. |

## FeeAssessmentSource

The source that assessed the fee.

| JSON representation |
|---|
| ``` { // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "scheme": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "interchange": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#InterchangeFee`) }, "contract": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| **REQUIRED**: The source that assessed the fee. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `scheme` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed by the scheme or network. |
| `interchange` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#InterchangeFee`)`` The fee is assessed as part of the interchange fee. |
| `contract` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is specified in the contract between Google and the payment integrator. |
| End of mutually exclusive fields. ||

## Empty

This type has no fields.
This object is used for extensibility because booleans and enumerations often need to be extended with extra data. The implementer uses it to determine presence. The enumeration this represents may be extended to contain data in future versions.

The JSON representation for `Empty` is empty JSON object `{}`.

## InterchangeFee

Detailed information about an interchange fee.

| JSON representation |
|---|
| ``` { "interchangeCode": string, "interchangeQualification": string } ``` |

| Fields ||
|---|---|
| `interchangeCode` | `string` **REQUIRED**: The interchange fee code. |
| `interchangeQualification` | `string` **REQUIRED**: The qualification of the interchange fee. |

## FeeType

The type of fee.

| JSON representation |
|---|
| ``` { // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "authorization": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "capture": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "refund": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "chargeback": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "reverseChargeback": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "reverseRefund": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "fxMarkup": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "authReversal": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "partialRefund": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| **REQUIRED**: The type of the fee event. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `authorization` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of an authorization. |
| `capture` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of a capture. |
| `refund` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of a refund. |
| `chargeback` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of a chargeback. |
| `reverseChargeback` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of a reverse chargeback. |
| `reverseRefund` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of a reverse refund. |
| `fxMarkup` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The fee is assessed as part of an exchange rate markup. |
| `authReversal` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Fee associated with a reversal of an authorization event. |
| `partialRefund` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Fee associated with a partial refund event. |
| End of mutually exclusive fields. ||

## RefundEvent

This represents a refund where money is being returned to a customer. It will be associated with a `refund` event.

| JSON representation |
|---|
| ``` { "asynchronousRefundRequestId": string, "paymentIntegratorRefundId": string, "eventCharge": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) }, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventVat": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) } } ``` |

| Fields ||
|---|---|
| `asynchronousRefundRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `asynchronousRefund` request that this `settlementEvent` pertains to. |
| `paymentIntegratorRefundId` | `string` **REQUIRED**: An ID that is generated by the payment integrator that can be used to refer to this refund event. |
| `eventCharge` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **OPTIONAL**: If the settlement currency is different than the purchase currency then this field should be used to specify details about the event in the original purchase currency and the conversion to the settlement amount. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. For example, if an agreement says that Google will pay 1% of the `eventCharge` to the payment integrator, and will reverse that 1% upon refund of that transaction, then the capture fee will be negative and upon refund the refund fee will be positive. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventVat` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. This is the value-added-tax (VAT) for the `eventFee`. This amount is in addition to the fee. e.g. If the `eventCharge` is $2.00, the `eventFee` is -$0.20 and the `eventVat` is -$0.05 the total settlement value for this event would be $1.75. |

## ReverseRefundEvent

This represents a reverse refund. It is associated with a `reverseRefundNotification` and typically is used when a refund was performed but the issuing bank was unable to return funds to the customer, so they are being returned to Google.

| JSON representation |
|---|
| ``` { "asynchronousRefundRequestId": string, "paymentIntegratorReverseRefundNotificationRequestId": string, "eventCharge": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) }, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventVat": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) } } ``` |

| Fields ||
|---|---|
| `asynchronousRefundRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `refund` request that this `reverseRefundEvent` is reversing. |
| `paymentIntegratorReverseRefundNotificationRequestId` | `string` **REQUIRED** : This is the `requestId` generated by the payment integrator in the `reversereRefundNotification` request. |
| `eventCharge` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **OPTIONAL**: If the settlement currency is different than the purchase currency then this field should be used to specify details about the event in the original purchase currency and the conversion to the settlement amount. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. For example, if an agreement says that Google will pay 1% of the `eventCharge` to the payment integrator, and will reverse that 1% upon refund of that transaction, then the capture fee will be negative and upon refund the refund fee will be positive. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventVat` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. This is the value-added-tax (VAT) for the `eventFee`. This amount is in addition to the fee. e.g. If the `eventCharge` is $2.00, the `eventFee` is -$0.20 and the `eventVat` is -$0.05 the total settlement value for this event would be $1.75. |

## ChargebackEvent

This represents a chargeback. It is associated with a `chargebackNotification` and is used when a customer disputes a payment made in a `capture` or `asynchronousCaptureFundsReservation`. This is used to return funds to the customer.

| JSON representation |
|---|
| ``` { "captureRequestId": string, "paymentIntegratorChargebackNotificationRequestId": string, "eventCharge": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) }, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventVat": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) } } ``` |

| Fields ||
|---|---|
| `captureRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `capture` request that this `settlementEvent` pertains to. |
| `paymentIntegratorChargebackNotificationRequestId` | `string` **REQUIRED** : This is the `requestId` generated by the payment integrator in the `chargebackNotification` request. |
| `eventCharge` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **OPTIONAL**: If the settlement currency is different than the purchase currency then this field should be used to specify details about the event in the original purchase currency and the conversion to the settlement amount. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. For example, if an agreement says that Google will pay 1% of the `eventCharge` to the payment integrator, and will reverse that 1% upon refund of that transaction, then the capture fee will be negative and upon refund the refund fee will be positive. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventVat` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. This is the value-added-tax (VAT) for the `eventFee`. This amount is in addition to the fee. e.g. If the `eventCharge` is $2.00, the `eventFee` is -$0.20 and the `eventVat` is -$0.05 the total settlement value for this event would be $1.75. |

## ReverseChargebackEvent

This represents a reverse chargeback. It is associated with a `reverseChargebackNotification` and is used when Google successfully disputes a `chargebackNotification`. The funds are being returned to Google.

| JSON representation |
|---|
| ``` { "captureRequestId": string, "paymentIntegratorReverseChargebackNotificationRequestId": string, "eventCharge": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) }, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventVat": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) } } ``` |

| Fields ||
|---|---|
| `captureRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `capture` request that this `settlementEvent` pertains to. |
| `paymentIntegratorReverseChargebackNotificationRequestId` | `string` **REQUIRED** : This is the `requestId` generated by the payment integrator in the `reversereChargebackNotification` request. |
| `eventCharge` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **OPTIONAL**: If the settlement currency is different than the purchase currency then this field should be used to specify details about the event in the original purchase currency and the conversion to the settlement amount. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. For example, if an agreement says that Google will pay 1% of the `eventCharge` to the payment integrator, and will reverse that 1% upon refund of that transaction, then the capture fee will be negative and upon refund the refund fee will be positive. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventVat` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. This is the value-added-tax (VAT) for the `eventFee`. This amount is in addition to the fee. e.g. If the `eventCharge` is $2.00, the `eventFee` is -$0.20 and the `eventVat` is -$0.05 the total settlement value for this event would be $1.75. |

## FundsReservationEvent

This represents fees associated with a funds reservation. It is associated with a `reserveFunds`.

| JSON representation |
|---|
| ``` { "fundsReservationRequestId": string, "eventFee": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "eventFeeBreakdown": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`) }, "eventPresentmentDetails": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`) } } ``` |

| Fields ||
|---|---|
| `fundsReservationRequestId` | `string` **REQUIRED** : `requestId` that was sent by Google for the `reserveFunds` request that this `settlementEvent` pertains to. |
| `eventFee` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED** : If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. If the fee is broken down into several parts, this value is the sum of them and the amount settled. A breakdown of the fee can be specified in the `eventFeeBreakdown`. |
| `eventFeeBreakdown` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventFeeBreakdown`)`` **OPTIONAL** : This is a breakdown of the `eventFee`. It is used for reporting purposes and is not factored into the `settlementAmount`. It is used to understand what parts of the `eventFee` are attributable to what sources. |
| `eventPresentmentDetails` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#EventPresentmentDetails`)`` **REQUIRED**: Specify details about the funds reservation currency, amount and the conversion rate to the settlement currency. |

## AggregateAdjustment

This represents settlement of amounts that don't apply to a specific transaction and instead occur in aggregate.

| JSON representation |
|---|
| ``` { "adjustmentAmount": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`) }, "adjustmentType": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AdjustmentType`) } } ``` |

| Fields ||
|---|---|
| `adjustmentAmount` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Amount`)`` **REQUIRED**: If this amount is negative then it represents monetary value moving from Google to the payment integrator. If this is positive it is money from the payment integrator due to Google. The amount of the adjustment that will be factored into the `settlementAmount` for this `settlementNotificationRequest`. |
| `adjustmentType` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AdjustmentType`)`` **REQUIRED**: This provides more information about the adjustment. |

## AdjustmentType

This provides more information about the adjustment type.

| JSON representation |
|---|
| ``` { // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "aggregatedAuthorizationFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedChargebackFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedIntegrityFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedAuthorizationFeesVariance": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedChargebackFeesVariance": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedIntegrityFeesVariance": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "chargebackThresholdFine": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "miscellaneousAdjustment": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#MiscellaneousAdjustment`) }, "eventFeesRounding": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "aggregatedSchemeFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "aggregatedGoodsServicesFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "aggregatedSchemeFeesVariance": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) }, "aggregatedMandateRegistrationFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) }, "aggregatedMandateManagementFees": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| **REQUIRED**: Additional information about the adjustment type. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `aggregatedAuthorizationFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Credit card authorization fees aggregated over a period of time. This should only be used if those fees aren't provided at the transaction level via the `eventFee` field. |
| `aggregatedChargebackFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Chargeback fees aggregated over a period of time. This should only be used if those fees can't be provided at the transaction level via the `eventFee` field. |
| `aggregatedIntegrityFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregated integrity fees over a period of time. Integrity fees are imposed by a card network for transactions that were not 3DS-authenticated. This should only be used if those fees aren't provided at the transaction level via the `eventFee` field. |
| `aggregatedAuthorizationFeesVariance` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregate change in authorization fees due to updated rates or some other factor that was unknown when the authorization fees were originally set in the `eventFee` field with the transactions. |
| `aggregatedChargebackFeesVariance` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregate change in chargeback fees due to updated rates or some other factor that was unknown when the chargeback fees were originally set in the `eventFee` field with the transactions. |
| `aggregatedIntegrityFeesVariance` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregate change in integrity fees due to updated rates or some other factor that was unknown when the integrity fees were originally set in the `eventFee` field with the transactions. |
| `chargebackThresholdFine` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Card networks (eg VISA, MC) have Dispute Monitoring Programs. A fine can be imposed by a card network for breaking a certain chargeback threshold in terms of a number of chargebacks per a period of time. |
| `miscellaneousAdjustment` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#MiscellaneousAdjustment`)`` Miscellaneous type is used only when other types are not suitable. It is recommended to use miscellaneous type only occasionally and only in exceptional situations. Google will monitor for usage of this AdjustmentType and consider it a bug if a payment integrator uses this option systematically. If the existing adjustment types are not suitable, Google is willing to discuss adding a more targeted type. |
| `eventFeesRounding` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Used to account for adjustment in the rounding of event fees. If the event fees do not sum to a round number of billable units, then this value should be used to account for the rounding to billable units. It can be represented as sub-billable units. e.g. if the event fees sum to $10.053 USD and $10.06 would be the settlement amount than this can capture the missing $0.007 USD so it is accounted for. This amount can be larger than a single billable unit if the rounding is occurring in multiple places. |
| `aggregatedSchemeFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Aggregate fees charged by the networks. |
| `aggregatedGoodsServicesFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Aggregate Goods and Service Tax. |
| `aggregatedSchemeFeesVariance` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` Aggregate fees variance charged by the networks due to updated rates or some other factor that was unknown when the scheme fees were originally set in the 'eventFee' field with the transactions. |
| `aggregatedMandateRegistrationFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregated fees associated with the registration of mandates, typically used for setting up recurring payments or direct debits. These fees are often incurred when a customer authorizes a recurring billing arrangement with a payment integrator. |
| `aggregatedMandateManagementFees` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#AggregatedFees`)`` Aggregated fees related to the ongoing management of mandates, such as handling updates, cancellations, or other lifecycle events of recurring payment authorizations. |
| End of mutually exclusive fields. ||

## AggregatedFees

This represents an aggregated transaction-level fees.

| JSON representation |
|---|
| ``` { "numberOfEvents": string } ``` |

| Fields ||
|---|---|
| `numberOfEvents` | `string (https://developers.google.com/discovery/v1/type-format format)` Number of events (eg payments) that fees are aggregated across. |

## MiscellaneousAdjustment

This represents an unforeseen adjustment type that a payment integrator submits only in an exceptional circumstances.

| JSON representation |
|---|
| ``` { "adjustmentDescription": string } ``` |

| Fields ||
|---|---|
| `adjustmentDescription` | `string` **REQUIRED**: Adjustment description should clearly explain a nature and exceptional circumstances of the adjustment. |

## SettlementNotificationResponse

Response object for the `settlementNotification` method.

| JSON representation |
|---|
| ``` { "responseHeader": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ResponseHeader`) }, "result": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Result`) } } ``` |

| Fields ||
|---|---|
| `responseHeader` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#ResponseHeader`)`` **REQUIRED**: Common header for all responses. |
| `result` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Result`)`` **REQUIRED**: Contains the result of the request. |

## ResponseHeader

Header object that is defined on all responses sent from the server.

| JSON representation |
|---|
| ``` { "responseTimestamp": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`) } } ``` |

| Fields ||
|---|---|
| `responseTimestamp` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Timestamp`)`` **REQUIRED**: Timestamp of this response. The receiver must verify that this timestamp is ± 60s of 'now', and reject the response if it is not. |

## Result

Details corresponding to the result.

| JSON representation |
|---|
| ``` { // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "accepted": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| **REQUIRED**: The result of the request. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `accepted` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`)`` The `settlementNotification` was valid and is now being processed by Google. |
| End of mutually exclusive fields. ||