Skip to content

Commit bef1359

Browse files
authored
Merge pull request #7037 from umbraco/commerce/partial-refund
Commerce 15.3.0: Refund and partial refund
2 parents f3941b1 + 394d504 commit bef1359

File tree

11 files changed

+82
-2
lines changed

11 files changed

+82
-2
lines changed

15/umbraco-commerce/SUMMARY.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@
110110
* [Fixed Rate Shipping](reference/shipping/fixed-rate-shipping.md)
111111
* [Dynamic Rate Shipping](reference/shipping/dynamic-rate-shipping.md)
112112
* [Realtime Rate Shipping](reference/shipping/realtime-rate-shipping.md)
113+
* [Payments](reference/payments/README.md)
114+
* [Configure Refunds](reference/payments/refund-configs.md)
115+
* [Issue Refunds](reference/payments/issue-a-refund.md)
113116
* [Taxes](reference/taxes/README.md)
114117
* [Fixed Tax Rates](reference/taxes/fixed-tax-rates.md)
115118
* [Calculated Tax Rates](reference/taxes/calculated-tax-rates.md)

15/umbraco-commerce/key-concepts/payment-providers.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,15 @@ The implementable management methods are:
7373
* **FetchPaymentStatusAsync** - The `FetchPaymentStatusAsync` method communicates with the 3rd party payment gateway in order to fetch the current status of the given transaction.
7474
* **CapturePaymentAsync** - The `CapturePaymentAsync` method communicates with the 3rd party payment gateway to capture a previously authorized payment associated with the given transaction.
7575
* **CancelPaymentAsync** - The `CancelPaymentAsync` method communicates with the 3rd party payment gateway to cancel a previously authorized payment associated with the given transaction.
76-
* **RefundPaymentAsync** - The `RefundPaymentAsync` method communicates with the 3rd party payment gateway to refund a previously captured payment associated with the given transaction.
76+
* **RefundPaymentAsync** - The `RefundPaymentAsync` method communicates with the 3rd party payment gateway to refund a previously captured payment associated with the given transaction. The implementation of this method sends a refund request to the 3rd party payment gateway. This will allow Umbraco Commerce to update the payment details, or throw an exception to indicate that the refund action should be ignored. The method supports both full and partial refunds.
7777

7878
For each implemented method above, developers should also implement a corresponding boolean property returning a `true` value. This is to let Umbraco Commerce know that the given feature is supported by the Payment Provider.
7979

8080
* **CanFetchPaymentStatus**
8181
* **CanCapturePayments**
8282
* **CanCancelPayments**
8383
* **CanRefundPayments**
84+
* **CanPartiallyRefundPayments** (*available from version 15.3.0*)
8485

8586
## Payment Provider Meta Data
8687

@@ -124,4 +125,4 @@ Umbraco Commerce will automatically look for the following entries:
124125
| `ucPaymentProviders_{providerAlias}MetaData{metaDataAlias}Label` | A label for a provider transaction metadata item |
125126
| `ucPaymentProviders_{providerAlias}MetaData{metaDataAlias}Description` | A description of a provider transaction metadata item |
126127

127-
Here `{providerAlias}` is the alias of the provider, `{settingAlias}` is the alias of a setting, and `{metaDataAlias}` is the alias of a transaction meta data item.
128+
Here `{providerAlias}` is the alias of the provider, `{settingAlias}` is the alias of a setting, and `{metaDataAlias}` is the alias of a transaction meta data item.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
description: Payment management in Umbraco Commerce.
3+
---
4+
5+
# Payments
6+
7+
Umbraco Commerce offers a user-friendly interface within the backoffice to efficiently manage order payments.
8+
9+
## Refunds
10+
11+
Umbraco Commerce supports issuing full and partial refunds directly from the backoffice for payment methods. This includes invoicing, Stripe, PayPal, and more.
12+
- [Configure refunds](refund-configs.md)
13+
- [Issue refunds](issue-a-refund.md)
14+
15+
Loading
Loading
Loading
Loading
Loading
Loading
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
description: This page guides you through the steps to issue a refund for a captured order using Umbraco Commerce.
3+
---
4+
5+
# Issue Refunds
6+
7+
{% hint style="info" %}
8+
You can issue a refund only if the payment method used supports refunds. Learn how to enable payment refunds [in the Configure Refunds](refund-configs.md) article.
9+
{% endhint %}
10+
11+
To refund an order, follow the steps outlined below:
12+
13+
1. Go to **Settings** in the Umbraco backoffice.
14+
2. Open the **Commerce** section.
15+
3. Select your store from the **Stores** section.
16+
4. Go to **Orders**.
17+
18+
![Order list](images/order_list.png)
19+
20+
5. Select the order that you want to refund.
21+
6. Click **Refund Payment** on the Order Details page.
22+
23+
![Refund Payment button](images/refund_payment_button.png)
24+
25+
7. Fill in the fields in the Order Refund modal:
26+
- **Order Lines section** (*only available if partial refunds are enabled*): Enter the quantity you want to refund from each order line.
27+
- **Restock Products toggle**: This is a flag that tells Umbraco Commerce to restock the refunded products.
28+
- **Refund Amount textbox**: Displays the amount that will be refunded. Its value is auto-populated, but you can enter any positive number smaller than the refundable amount.
29+
- **Refund button**: Clicking on this button will issue a refund with the **Refund Amount** above.
30+
- **Refund All button**: Clicking on this button will issue a refund for the remaining refundable amount of the order.
31+
32+
![Order refund modal](images/order_refund_modal.png)
33+
34+
8. Click on the **Refund** button to refund the desired amount or the **Refund All** button to refund the full refundable amount (*only available if partial refunds are enabled*).
35+
36+
Find the refund history by clicking on the information icon at the top-right corner of the Payment Details section.
37+
38+
![Payment Details button](images/payment_details_button.png)

0 commit comments

Comments
 (0)