Zuora allows you to issue and track refunds on payments. Similar to external payments, users can enter external refunds to track refunds that have been performed outside of Z-Payments (for example, by issuing a check). In addition, you can make electronic refunds using of our supported payment gateways, which will automatically refund money to the customer's credit card.
A referenced refund is a link to the original payment. For Electronic refunds, the referenced refund uses the following ways to process the refund:
- Original Payment Method
- Original Payment Gateway
For electronic refunds, this can occasionally cause problems when the payment gateway provider has changed and the customer subsequently asks for a refund. If the original gateway is no longer active, the refund has to be issued by another method such as by checking through an External refund type.
Electronic non-referenced refunds are only supported in Zuora from a few Payment Gateways. Use care when creating this type of refund. This type of transaction could be used to refund money that was never collected.
Non-referenced refunds, also known as Credit Balance Refunds, are not directly associated with a specific payment. Non-referenced refunds do not have to be issued to the original credit card or through a specific payment gateway. You can create this type of refund through the Zuora UI or the SOAP API (WSDL 31 and higher).
If you attempt an electronic refund and receive an error that the gateway will not support an electronic refund for that payment, you can perform a non-referenced refund directly in the gateway. In this case, you must enter the credit card information and perform a refund (a refund may also be referred to as a "credit" by some gateways).
The following gateways support non-referenced refunds:
- Chase Orbital
- IP Payments
- Merchant eSolutions
- Qvalent (QuickGateway)
- Vantiv (Now Worldpay)
A non-referenced refund or credit is a refund transaction that does not use the credit card information from an existing payment transaction. If you cannot obtain the customer's credit card information for a non-referenced refund, another option is to issue a manual check using your Accounts Payable process. When performing a refund outside of Zuora (such as creating a refund directly in the gateway's virtual terminal), remember to reflect that refund within Zuora as an external refund.
Non-referenced refunds are available only if you have enabled the Credit Balance feature. You must create a credit balance before you can create this type of refund.
If you have the Invoice Settlement feature enabled, credit balance is no longer supported. So the non-referenced refunds are refunds on credit memos. See Refund Credit Memos for more information on how to refund credit memos.
How Long Do I Have to Refund a Payment?
Zuora allows you to refund payments through the Zuora UI or the SOAP API. There is sometimes a need to refund a customer long after a payment has been processed. For example, if a customer with an annual subscription has paid through the end of this year, but wants to cancel after only ten months of service. A merchant might decide to issue this customer a refund for the remaining two months of service.
In Zuora, a payment can be refunded at any time and there is no limitation. However, for electronic payments, the timeframe to refund a payment is primarily controlled by the payment gateway ("gateway"). Typically, a payment can be refunded for up to 90 days, but every gateway is different and some gateways do not allow refunds after 30 days. Some payment gateways can also have a longer time limit, depending on how the refund is performed. For example, a refund through the API can have a shorter time limit than a refund through the virtual terminal.
When processing a refund for electronic payments, Zuora will attempt the refund at the gateway. If the refund is allowed by the gateway, the refund will be processed. However, if the time period in which a refund can be performed has passed, then the gateway might return an error. For example, PayPal might return the following error if a refund is attempted more than 60 days after the payment transaction was processed:
10009-You are over the time limit to perform a refund on this transaction.
Refund Operations through Zuora UI
This topic describes how to troubleshoot problems with refunds.
The following response codes can be returned by the Authorize.net gateway.
|Response Code||Response Reason Code||Response Reason Text||Notes||Next Steps|
|3||11||A duplicate transaction has been submitted.||A transaction with identical amount and credit card information was submitted two minutes prior.||Wait 2 minutes before creating another refund for the same account.|
|3||54||The referenced transaction does not meet the criteria for issuing a credit.||None||A refund can only be issued once a payment has settled. If the payment has not settled, you can void a payment instead of issuing a refund.|
Refunds in processing status after a trial balance run
After running a trial balance for an accounting period, a list of refunds is shown as processing on the Action Needed tab but they are in fact processed. This is because if multiple refunds are created at the same time for the same account, they are in processing status even if the gateway sends back an approved response.
To avoid this problem, update the integration to ensure that multiple refunds do not get created at the same time for the same account. When it does happen, open the record in the UI and the status will be updated from "processing" to "processed".