Refunds
Process full and partial refunds
Cost+ supports both full and partial refunds on completed orders. Refunds are processed through the original payment method used for the transaction.
Creating a Refund
Send a POST request to /v1/orders/\{id\}/refunds/ to initiate a refund on a completed order.
Request
{
"amount": 100,
"description": "Refund for item",
"merchant_order_id": "refund-001"
}[!NOTE] The
amountfield is in cents. To refund 1.00 EUR, setamountto100. To issue a full refund, set the amount to the full order amount.
Request Fields
| Field | Required | Description |
|---|---|---|
amount | Yes | Refund amount in cents |
description | No | Reason for the refund |
merchant_order_id | No | Your own reference ID for the refund |
extra | No | Additional metadata as a key-value object |
Response
The API returns the refund object with its current status:
{
"id": "ref_abc123...",
"created": "2024-01-02T10:00:00.000000+00:00",
"modified": "2024-01-02T10:00:00.000000+00:00",
"amount": 100,
"currency": "EUR",
"status": "pending",
"description": "Refund for item",
"merchant_order_id": "refund-001",
"extra": null
}Response Fields
| Field | Description |
|---|---|
id | Unique identifier for the refund |
created | Timestamp when the refund was created |
modified | Timestamp when the refund was last updated |
amount | Refund amount in cents |
currency | Currency of the refund (matches the order currency) |
status | Current refund status (pending, completed, failed) |
description | Reason for the refund |
merchant_order_id | Your reference ID |
extra | Additional metadata |
Full vs. Partial Refunds
- Full refund: Set the
amountto the total order amount. The entire payment is returned to the customer. - Partial refund: Set the
amountto less than the total order amount. Only the specified amount is returned.
You can issue multiple partial refunds on the same order, as long as the total refunded amount does not exceed the original order amount.
{
"amount": 500,
"description": "Partial refund - damaged item"
}[!WARNING] Refunds can only be issued on orders with a
completedstatus. Attempting to refund an order that is not yet completed will result in an error.
[!TIP] Use the
merchant_order_idfield to link refunds back to your internal systems. This is especially useful when issuing multiple partial refunds on the same order.
Refund Statuses
| Status | Description |
|---|---|
pending | The refund has been initiated and is being processed. |
completed | The refund has been successfully processed. Funds will be returned to the customer. |
failed | The refund could not be processed. Contact Cost+ support for assistance. |
[!NOTE] The time it takes for the refunded amount to appear in the customer's account depends on the payment method and the customer's bank. Credit card refunds typically take 5-10 business days.