Process refunds for web orders
On this page
This guide explains how to process refunds for orders placed through your web store or shopping cart. This applies to online orders only. For point-of-sale (POS) refunds, see Item returns - refund and exchange at POS.
StoreConnect does not yet include a built-in refund feature for web orders, the recommended best practice is to create a refund order in Salesforce using negative quantities and process the actual refund through your payment provider’s dashboard.
:::note This workflow can apply to all payment providers. The steps below apply regardless of which payment provider you use (e.g. Stripe, Square, Adyen, Windcave, etc.). The refund itself is always processed directly in your provider’s portal. :::
Prerequisite: Enable negative quantities for order products
- In Salesforce Setup, search for Order Settings.
- Select Order Settings.
- Tick the checkbox for Enable Negative Quantities for Order Products.
- Click Save.
Step 1: Identify the original order
- Open the original order in Salesforce that the customer is requesting a refund for.
- Note the order details, including the product(s), quantities, and the payment transaction reference number.
Step 2: Create a new refund order in Salesforce
Creating a Payment record with a negative amount directly on the original order is not recommended as it alters the original order and can cause issues with audits, integrations, etc. You should always create a separate refund order as described below.
- Create a new Order in Salesforce linked to the same Account, Contact, Store, and original order.
- Add the product(s) being refunded as Order Products, but enter the quantities as negative values (e.g.
-1instead of1). - Verify that the order total reflects the negative (refund) amount. This can be a partial amount of the original order.
- Activate the order.
Step 3: Process the refund in your payment provider’s dashboard
Each payment provider has its own process for issuing refunds. Refer to your provider’s documentation for specific instructions on how to process a refund within their system.
- Log in to your payment provider’s dashboard or portal (e.g. Stripe Dashboard, Square Dashboard, Adyen Customer Area).
- Locate the original transaction using the transaction reference number from the order in Salesforce.
- Process the refund for the full or partial amount through the provider’s refund function.
- Note the refund transaction reference number provided by your payment provider. You will need this in the next steps.
Step 4: Add a negative payment to the refund order
- On the newly created refund order, navigate to the Payments related list.
- Create a new Payment record with the following details:
- Amount: Enter the refund amount as a negative value (e.g.
-50.00). - Status: Set to Success.
- Transaction Number: Enter the refund transaction reference number from your payment provider (from Step 2).
- Amount: Enter the refund amount as a negative value (e.g.
- Save the payment record.
(Optional) Link to payment provider transactions
If your payment provider’s transaction URL can be formulated using data already stored in Salesforce (such as a transaction ID), you can create a formula field on the Order object that generates a clickable link directly to the transaction in your provider’s portal.
For example, if your provider’s transaction URL follows the pattern https://dashboard.provider.com/transactions/{transaction_id}, you could create a formula field on the Order or Payment object that constructs this URL using the stored transaction reference number.
Adding a formula field link saves time for your team by allowing them to click directly through to the transaction in the payment provider’s portal without needing to search for it manually. Consult your Salesforce administrator to set this up.
Frequently asked questions
Can I add the negative payment directly to the original order instead of creating a new order?
No. Creating a Payment record with a negative amount directly on the original order does not show the true history of the transaction. You should create a separate refund order with negative quantities and attach the negative payment to that order.
Why do I need to process the refund in the payment provider’s dashboard separately?
StoreConnect does not currently have a built-in mechanism to trigger refunds through the payment provider’s API for web orders. The refund must be initiated directly in your payment provider’s portal. The refund order and negative payment in Salesforce serve as the internal record of the refund.
Can I issue store credit instead of a monetary refund?
Yes. If your refund policy allows it, you can issue account credit to the customer’s account instead of processing a monetary refund through the payment provider. This can be used for future purchases.
Does this process apply to POS refunds?
No. This article covers web and shopping cart order refunds only. For POS refunds, see Item returns - refund and exchange at POS.