Enabled by Open Banking functionality, Refunds allow a merchant to set the refundAccountRequired flag to ‘true’ on the create smart request or mandate API because they want to facilitate a future refund.

The request for payment has to have been paid or first transaction taken under a mandate, AND the ASPSP involved supports the sharing of refund data for the data to be made available to Ordo. Once the ASPSP has shared the Payer account details, Ordo will notify the Merchant that the Payer account details have been captured via a webhook notification. Ordo then store the payer’s account details against the original smart request or mandate ID and Biller can retrieve data to make a push payment [either via an Ordo disbursement flow or by making a one-off or batch payment outside of Ordo]

Refunds Process:

  1. Merchant to set the refundAccountRequired flag to ‘true’ on create smart request or mandate API
  2. Payer is redirected to their bank and if the bank supports refundAccountRequired
  3. The Payer is informed that they are sharing their bank account details with Merchant/Ordo
  4. Payer must authorise the payment request or mandate, with a transaction taken under a mandate
  5. Bank shares the payer account details with Ordo
  6. Ordo store the payer’s account details against the original smart request or mandate ID
  7. Ordo notifies the Merchant via webhooks that the payer account details have been captured.
  8. Merchant can retrieve data via API to make a push payment [either via an Ordo disbursement approach or by making a one-off or batch payment outside of Ordo]

Banks that support Refunds:

Ordo supports refunds with 19 of the banks.

NAMERefund
Bank of Scotland (Business)Yes
Bank of Scotland (Personal)Yes
Barclays BusinessYes
Barclays CorporateYes
Barclays PersonalYes
Barclays WealthYes
Danske BankYes
Danske Bank Business UKYes
Halifax PersonalYes
HSBC KineticYes
HSBC PersonalYes
HSBC UK BusinessYes
Lloyds (Business)Yes
Lloyds (Personal)Yes
NationwideYes
NatwestYes
Royal Bank of ScotlandYes
SantanderYes
Ulster Bank (UK)Yes

Examples

See below for an example GET Payer Refund Request using scopes: registry smartrequests

GET
https://test.api.ordopay.com/refundAccount/
HTTP/1.1

Headers:
{
  Authorization: Bearer {access_token},
  "Ocp-Apim-Subscription-Key": {subscription_key},
  "participantId": 1234,
  "RefundId":"95a43002-5ba3-44a7-a4e1-cbd50bf5cb70",
  "RefundIdType":"SMARTREQUEST"
  "content-type": "application/json"

Successful response:

{ 
  "schemeName": "SortCodeAccountNumber",
    "accountName": "R Andom",
    "sortCode": "835311",
    "accountNumber": "73460399"
}

Webhook response:

{
  "eventId": "f8813a59-d1b0-41f2-bfcf-58b80af2d399",
  "callBackUrl": "https://webhook.site/b561ed36-eb90-4477-ab80-47de118e4b95",
  "smartRequestId": "95a43002-5ba3-44a7-a4e1-cbd50bf5cb70",
  "status": "REFUND DATA AVAILABLE",
  "updatedDate": "19-05-2023 08:02:13",
  "billerParticipantId": "1234"
}

What’s Next

More information on Refunds can be found in the API references or Refund web hook examples page