> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ca.cryptoprocessing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment request fees

## Processing fee

When your customer fulfills a payment request and you receive the funds, a *processing fee* will be subtracted from your account. The fee is the same as a [deposit fee](https://docs.ca.cryptoprocessing.com/deposits/fees.md) for the same amount.

Just like for a deposit, the fee may depend on the currency and on whether the payment involved a conversion between different currencies. Each fee is calculated as a percentage of the deposit amount, but for small transactions, a certain minimum amount will be subtracted instead.

The fees are listed on the **Fees** tab in your portal, under the **Deposit operations** section. The applicable fees are:

* **Deposit crypto**
* **Deposit crypto exchange to crypto**
* **Deposit crypto exchange to fiat**

### Passing the processing fee to your customer

By default, the processing fee is covered by the merchant. If you prefer, you can pass this fee on to your customer. In this case, after selecting the [payment currency](https://docs.ca.cryptoprocessing.com/payment-requests.md#currency-selection), the customer will be shown the corresponding processing fee and expected to pay it on top of the requested amount. CryptoProcessing will account for the fee when detecting overpayments or [applying the underpayment tolerance](https://docs.ca.cryptoprocessing.com/payment-requests/underpayments.md#accept-underpayments).

To enable this, check the **Customer pays the processing fee** checkbox when creating a payment request via the portal or use the [user\_fee\_percent](https://docs.ca.cryptoprocessing.com/api-reference/endpoints/payments.md#body-user-fee-percent) parameter when creating it via the API.

With this setting, the [currency\_received.amount](https://docs.ca.cryptoprocessing.com/api-reference/callbacks/payment-request-callbacks.md#body-currency-received) field in the payment callback is the requested amount plus the processing fee. If you [allow underpayments](https://docs.ca.cryptoprocessing.com/payment-requests/underpayments.md) and perform actions based on the exact received amount (e.g., update your customer's balance), you need to subtract the processing fee yourself.

## Refund fee

If an [automatic or manual refund](https://docs.ca.cryptoprocessing.com/payment-requests/refunds.md) is initiated, a fixed *refund fee* will be subtracted from its amount. The customer will be shown both the fee amount and the result amount they receive when they fill in the refund form. The fee may depend on the currency in which the refund will be sent, which is the same currency the customer paid.

If the amount to refund is smaller than the refund fee plus the [minimum withdrawal amount](https://docs.ca.cryptoprocessing.com/confirmations-and-limits.md), it can't be refunded, and the customer gets an email saying so instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.