- [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#SCHEMA_REPRESENTATION)
- [FeeDetail](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeDetail)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeDetail.SCHEMA_REPRESENTATION)
- [FeeAssessmentSource](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeAssessmentSource)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeAssessmentSource.SCHEMA_REPRESENTATION)
- [InterchangeFee](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#InterchangeFee)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#InterchangeFee.SCHEMA_REPRESENTATION)
- [FeeType](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeType)
  - [JSON representation](https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeType.SCHEMA_REPRESENTATION)

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/EventFeeBreakdown#FeeDetail`) } ] } ``` |

| Fields ||
|---|---|
| `feeDetails[]` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#FeeDetail`)`` The collection of fees which sums to the `eventFee` for an event and provides a granular breakdown of the fees that were assessed. |

## FeeDetail

This represents details of a fee or an adjustment.

| 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/EventFeeBreakdown#FeeAssessmentSource`) }, "feeType": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#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/EventFeeBreakdown#FeeAssessmentSource`)`` **REQUIRED**: The source that is assessing the fee. |
| `feeType` | ``object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/EventFeeBreakdown#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/EventFeeBreakdown#InterchangeFee`) }, "contract": { object (`https://developers.google.com/pay/card-fop-v1/google-card-fop-api/settlementNotification#Empty`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| The source reason that this fee was assessed. 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/EventFeeBreakdown#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. ||

## 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 ||
|---|---|
| Specifices which event resulted in a particular fee being assessed. 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. ||