Primer enables you to fully or partially refund a settled payment across all your processors in a unified way.In order to refund a payment, its status must be . Once refunded, the payment will continue to have:
status =
amount = original settled amount
but the payment object will be updated to show the refund details. Specifically:
the processor refund transaction will be part of the transactions list
processor.amountRefunded will be set to the total refunded amount
Below is an example payment object that has been refunded:
All refund calls are sent to the processor used in the authorization and capture request.To check the refund status and details of a payment, you can use:
This is useful to enable your customer support to provide refunds directly from within the dashboard.
Manually refund a specific payment from the Payments Timeline in the Primer Dashboard.Select the payment from the list view and navigate to the specific payment details page. If the payment has , the Refund button in the top right corner will be enabled.
Once the Refund button is selected, specify the amount you want to refund in the modal.
After the refund is processed and complete, the refunded amount will appear next to the payment amount at the top of the payment details page.
Once the total settled amount is refunded, you will no longer be able to refund the payment and the Refund button will become disabled.
Use Workflows to set up business logic on when and how to refund a payment - without writing a single line of code. Simply add the “Refund payment” action from the Primer Payments app to a workflow.Learn more here about the Payments app and the “Refund payment” action.
Asynchronous refund considerations still apply to the “Refund payment” action
in Workflows. It’s recommended to use Primer’s payment webhooks to confirm
when the payment is refunded.
Include the Primer payment ID in the request, which you will have received as part of the payment creation and authorization.The payload sent in the refund request is completely optional and can be used to partially refund the payment. See the section below to learn more about partial refunds. You can also provide a reason input that can be used for your own records.
Refunds are usually processed asynchronously. Once the refund request has been made, the refund, and movement of funds back to the customer, will occur and could take days.As a result, it’s recommended to set up the refund webhook notification event. Primer notifies you with a PAYMENT.REFUND webhook event when a refund request has been fully processed by a payment processor and the refund has reached a final state.To determine whether the refund was successful, check the most recent refund transaction in the transactions list. Below is an example of a processor refund transaction:
Not all processors and payment methods support partial refunds. Please see the details of the specific processor or payment method to learn more about the capabilities supported.
You can partially refund a payment by setting the optional amount input to less than the full settled amount.For subsequent refund requests, the default amount is then calculated by <amount settled> - <amount already refunded>.You will not be able to have partial refunds that sum to a greater amount than the settled amount.