Refund of a payment session
This page describes how Banked refunds a previously completed payment session.
Requirements
We assume you already have a console account up and running, and you already have generated a payment session that has been completed. You can only refund a payment session that has been completed (authorized and paid successfully). We support full and partial refunds against a single payment.
The refund amount cannot be greater than the amount paid initially.
General flow
The refund is essentially the same process as a payment session. We first need to have the details of the customer account, which, depending on the bank, will be either shared with us in the initial payment session, or we will need to ask for it from the customer. Once we have the customer's bank details, we just need the consent from the merchant to send the money to the customer's account.
1. Initiate the refund
The following cURL command creates a Refund
for an existing payment session. Remember to use your base 64 encoded test key and test secret value in the Authorization
header, and replace PAYMENT_ID with a completed payment session.
2. Make sure Banked knows where to refund the money
Depending on the original payment provider, Banked may or may not know the bank details of where to refund the payment. If we do not know the details, you will see the state awaiting_details
in the response. In this case, we will email the user a form asking for their details - the form can also be found in the url
property. Once the user has provided their details, the status will change to awaiting_payment
.
3. Get the refund payment session ID
Now that the refund is in the awaiting_payment
state, Banked has created a refund session. You can retrieve it by calling the following GET request.
4. Authorise the refund
Finally, you need to authorise the refund session, instructing Banked to move the funds from your account into your customer's account. View the refund session details the same way as you would a normal payment session. Use the refund_payment_session_id
you got from the previous step. On the response, you will see a url
property. This is the authorisation URL you need to complete for Banked to be able to move the funds from you to the user. Banked will now action the refund. You can check that the refund status has moved from awaiting_provider
to sent
.
5. Generating a refund through the console
You can also create refunds inside your console. Locate the payment session you want to refund in the console. At the bottom of the page, you'll find a refund button with an amount. Once you click the refund button, if we have don't have the details of the end customer, we'll send an email to the end customer with a link to fill their account details. You can see in the status in the console and you also have the link that was sent to the end customer.
Comments
0 comments
Please sign in to leave a comment.