> For the complete documentation index, see [llms.txt](https://docs.nexusglobalpayments.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexusglobalpayments.org/apis/fees-and-amounts.md).

# Fees and Amounts

{% hint style="info" %}
For further information on the types of fees in Nexus, see [Fees](/payment-processing/fees.md).
{% endhint %}

## Get Fees and Interbank Settlement Amounts

> Retrieves the various fees and amounts based on specified parameters. Information can be used in the pacs.008 payment instruction.<br>

```json
{"openapi":"3.1.0","info":{"title":"Nexus APIs","version":"0.3.1"},"tags":[{"name":"Transaction Fees & Amounts","description":"APIs that calculate fees and amounts for a specified payment, or provide fee formulas"}],"servers":[{"url":"http://localhost:8080","description":"Local development"},{"url":"https://nexus-ai-simulator-683365449922.asia-southeast1.run.app","description":"Nexus simulator"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ErrorResultDto":{"type":"object","description":"Structured business rejection returned for all error responses. This response is only returned for rejection cases; the statusCode is always RJCT.","properties":{"statusCode":{"type":"string","enum":["RJCT"],"description":"Business level status code indicating the outcome. Always RJCT (Rejected)."},"reasonCode":{"type":"string","pattern":"^(TE|AE|BE)[A-Z0-9]*$","description":"Categorised reason code with a prefix indicating the error category: TE for Technical Error, AE for Authentication Error, BE for Business Error."},"name":{"type":"string","description":"Machine readable business error name from the error catalogue."},"description":{"type":"string","description":"Human readable error description."}},"required":["statusCode","reasonCode","name","description"]}}},"paths":{"/v1/fees-and-amounts/{sourceCountry}/{sourceCurrency}/{destinationCountry}/{destinationCurrency}/{amountCurrency}/{amount}/{exchangeRate}":{"get":{"summary":"Get Fees and Interbank Settlement Amounts","description":"Retrieves the various fees and amounts based on specified parameters. Information can be used in the pacs.008 payment instruction.\n","parameters":[{"name":"sourceCountry","in":"path","description":"The ISO 3166 alpha-2 country code","required":true,"schema":{"type":"string"}},{"name":"sourceCurrency","in":"path","description":"The source currency code.","required":true,"schema":{"type":"string"}},{"name":"destinationCountry","in":"path","description":"The ISO 3166 alpha-2 country code","required":true,"schema":{"type":"string"}},{"name":"destinationCurrency","in":"path","description":"The destination currency code.","required":true,"schema":{"type":"string"}},{"name":"amountCurrency","in":"path","description":"The currency of the specified amount.","required":true,"schema":{"type":"string"}},{"name":"amount","in":"path","description":"The amount in the specified amount currency. If the amount is defined in the Source Currency, this amount must be the amount AFTER the Source PSP has made any deduction. (This is the Interbank Settlement Amount that must be transferred to the FXP's account at the Source SAP). If the amount is defined in the Destination Currency, this must be the Creditor Agent Amount that will be credited to the recipient's account.","required":true,"schema":{"type":"number"}},{"name":"exchangeRate","in":"path","description":"The exchange rate from the source to destination currency.This information must be taken from (a) a quote provided by Nexus, or (b) the Source PSP's own exchange rate (when the Source PSP manages their own FX.).","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{}}},"400":{"description":"Invalid request. Applicable reason codes: TE001 INVALID_REQUEST, BE007 QUOTE_SAME_CURRENCY, BE010 FXP_NOT_REGISTERED, BE012 FXP_NO_SETTLEMENT_ACCOUNT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"401":{"description":"Authentication failed. Applicable reason codes: AE001 AUTH_TOKEN_MISSING, AE002 AUTH_TOKEN_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"403":{"description":"Authorization failed. The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor. Reason code AE004 ACCESS_DENIED.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"404":{"description":"Not found. Applicable reason codes: BE009 QUOTE_CURRENCY_PAIR_NOT_CONFIGURED, BE011 FEE_FORMULA_NOT_FOUND.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"429":{"description":"Rate limit exceeded. Returned by the API gateway and carries no structured Nexus body. The Retry-After response header indicates when to retry."},"500":{"description":"An unhandled exception or infrastructure failure occurred. Reason code TE099 INTERNAL_ERROR. The caller may retry with exponential backoff.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}}},"tags":["Transaction Fees & Amounts"],"operationId":"calculateFeesAndAmounts"}}}}
```

## Get Creditor Agent Fee Formula

> Returns the Creditor Agent  (Destination PSP) Fee FORMULA for a specified Destination Country, denominated in the \*\*Destination Currency\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Nexus APIs","version":"0.3.1"},"tags":[{"name":"Transaction Fees & Amounts","description":"APIs that calculate fees and amounts for a specified payment, or provide fee formulas"}],"servers":[{"url":"http://localhost:8080","description":"Local development"},{"url":"https://nexus-ai-simulator-683365449922.asia-southeast1.run.app","description":"Nexus simulator"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ErrorResultDto":{"type":"object","description":"Structured business rejection returned for all error responses. This response is only returned for rejection cases; the statusCode is always RJCT.","properties":{"statusCode":{"type":"string","enum":["RJCT"],"description":"Business level status code indicating the outcome. Always RJCT (Rejected)."},"reasonCode":{"type":"string","pattern":"^(TE|AE|BE)[A-Z0-9]*$","description":"Categorised reason code with a prefix indicating the error category: TE for Technical Error, AE for Authentication Error, BE for Business Error."},"name":{"type":"string","description":"Machine readable business error name from the error catalogue."},"description":{"type":"string","description":"Human readable error description."}},"required":["statusCode","reasonCode","name","description"]}}},"paths":{"/v1/fee-formulas/destination-agent-fee/{countryCode}/{currencyCode}":{"get":{"summary":"Get Creditor Agent Fee Formula","description":"Returns the Creditor Agent  (Destination PSP) Fee FORMULA for a specified Destination Country, denominated in the **Destination Currency**.","parameters":[{"name":"countryCode","in":"path","description":"The 2-letter country code of the **DESTINATION** Country.","required":true,"schema":{"type":"string"}},{"name":"currencyCode","in":"path","description":"The 3-letter currency code of the **DESTINATION** Country.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{}}},"400":{"description":"Invalid country code. Reason code BE001 COUNTRY_CODE_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"401":{"description":"Authentication failed. Applicable reason codes: AE001 AUTH_TOKEN_MISSING, AE002 AUTH_TOKEN_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"403":{"description":"Authorization failed. The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor. Reason code AE004 ACCESS_DENIED.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"404":{"description":"Fee formula not found. Reason code BE011 FEE_FORMULA_NOT_FOUND.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"429":{"description":"Rate limit exceeded. Returned by the API gateway and carries no structured Nexus body. The Retry-After response header indicates when to retry."},"500":{"description":"An unhandled exception or infrastructure failure occurred. Reason code TE099 INTERNAL_ERROR. The caller may retry with exponential backoff.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}}},"tags":["Transaction Fees & Amounts"],"operationId":"getDestinationAgentFeeFormula"}}}}
```
