Refund basics

Learn the basics of issuing refunds

A smooth, easy-to-use refund process can provide your customers with a positive experience. Delivering timely refunds can also help minimize your risk of chargebacks.

The Refunds API allows you to issue customers full or partial refunds on product costs, shipping expenses, taxes, duties, and fees. The API also allows you to refund the same charge multiple times. However, you cannot issue a refund greater than the combined amount of an order's charges.

You can also create refunds manually through Digital River Dashboard.

Where refunds are sent

Refunds can only be applied to the payment method that was used to make the purchase.

For details on how we refund purchases made with multiple payment methods, refer to How we handle captures, cancels, and refunds when Combining primary and secondary sources on the Managing sources page.

If customers use a credit card to make the purchase and that card is cancelled or expires before your refund request, card issuers can usually still handle the refund. Typically, the issuer credits the customer's replacement card, but in situations where no replacement exists, a check is usually mailed.

Tracking a refund

After you submit a refund request, Digital River relays your request to the customer's bank or credit card issuer. If the request is approved, your integration typically receives the refund.complete event within 24 hours. However, it may take five to ten business days before customers see the credit on their statements.

Dealing with refund failures

In the unlikely event that a refund request fails, the refund's state transitions to failed . You can be notified of this state change by subscribing to the refund.failed event. When Digital River is able to pinpoint the cause of the failure, failureReason is populated in the event's payload.

Notifying customers of successful refunds

When a refund request is approved, the refund's state transitions to succeeded . You can be notified of this state change by subscribing to the refund.complete event. We recommend you wait to receive this event before informing customers that their refund was successfully processed.

Last updated