> For the complete documentation index, see [llms.txt](https://cranford-tech.gitbook.io/stripe-connect-marketplace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cranford-tech.gitbook.io/stripe-connect-marketplace/implementing-key-features/processing-refunds.md).

# Processing refunds

Refunds will be processed differently, depending on whether you're using [destination charges](#destination-charges) or [separate charges and transfers](#separate-charges-and-transfers).

### Destination Charges

### Video Tutorial

The below video tutorial demonstrates how to process refunds in your marketplace app:

{% embed url="<https://www.youtube.com/watch?v=QGaSZU1HomU>" %}

### Instructions

You can allow merchants to process refunds using the 'Stripe Connect - Create a Refund' workflow action. The steps involved are as follows:

1. Create a field on your "Transaction" data type (or whatever you're using to record transactions) called "Refund Status".
2. Trigger the "Stripe Connect - Create a Refund" workflow action.
3. Change the "Refund Status" of your transaction using the result of Step 2.

You can also process the refund yourself (as the administrator of the platform) using the same workflow action.

You will need to complete the following fields in order to use the 'Create a Refund' action:

| Field               |                                                                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Payment Intent ID   | The paymentIntent ID of the transaction you are refunding                                                                                                              |
| Amount (Cents)      | How much of the transaction value you want to refund - you do not need to refund the entire amount.                                                                    |
| Refund platform fee | A yes/no field that specifies whether or not you want to refund the portion of the transaction that went to your platform.                                             |
| Charge Type         | You need to specify whether the original Checkout Session associated with the transaction used a **destination** charge or the **separate charge and** transfer method |

\*Please note that Stripe fees incurred as part of a transaction will **NOT** be refunded.

### Demo app

You can view an example of the database setup and workflow actions in the demo app at the below link (relevant section is the 'Refunds' section):

{% embed url="<https://stripeconnectmarketplace.bubbleapps.io/version-test>" %}

The editor is public and can be accessed by clicking the 'View Editor' button at the top of the page.

### Separate Charges and Transfers

If you are using separate charges and transfers and have this selected as the charge type, the **full value of the refund will come from your platform account.** If you have made a transfer to a connected account (using the 'Stripe Connect - Create a Transfer' action), this will not be reversed.

However, you can use the 'Stripe Connect - Reverse Transfer' action to reverse a transfer that has previously been made to a connected account.

**Further reading**

[Stripe documentation on issuing refunds for separate chargec and transfers](https://docs.stripe.com/connect/separate-charges-and-transfers?platform=web\&ui=stripe-hosted#issue-refunds)
