Documentation

Ordo hosted - Account Data

Having gone through the Get Started guide, you should now have the following information to allow you to create an Account Data consent:

  • subscription_key - The key used to access the Ordo API Management gateway.
  • client_id - Unique string identifying your application.
  • client_secret - Secret key used to authenticate your application with our platform.
  • billerParticipantId - which is your unique ID within Ordo.

If you do not have the above information, please go to See here for how to get started

Create a new Account Data consent

You can create an Account Data consent to support recurring Data Requests using Ordo. The response message will contain a link, which you can present to your customer. They can then use the link to authorise their bank to set up the consent.

See below for an example request including headers and body to create an Account Data consent.

Example - Create Account Data consent:

POST
https://test.api.ordopay.com/hosted/account/information/create
HTTP/1.1

Headers:
{
  Authorization: Bearer {access_token},
  "Ocp-Apim-Subscription-Key": {subscription_key},
  "participantid": 1234,
  "content-type": "application/json"
}

Body:
{
  "consentName": "Example",
  "merchantReference": "Example",
  "payerAliasType": "email",
  "payerAliasValue": "[email protected]",
  "ordoInstitutionId": "no-monzo",
  "permissions": [
    "Accounts", "Transactions"
  ],
  "redirectURL": "https://www.example.com/cancelURL?foo=123",
  "cancelURL": "https://www.example.com/cancelURL?foo=123g",
  "errorURL": "https://www.example.com/cancelURL?foo=123",
  "expiryDate": "2025-11-04T15:31:32.978Z"
}
{
    "aisAuthUrl": "https://payments.myordo.com/2sBkXUzzQOfL",
    "aisConsent": {
        "aisConsentId": "AIS-0d5e9cc06c6107eda71ef93073",
        "status": "INITIATED",
        "consentName": "Example",
        "merchantReference": "Example",
        "participantId": 1234,
        "payerAliasType": "EMAIL",
        "payerAliasValue": "[email protected]",
        "ordoInstitutionId": "no-monzo",
        "permissions": [
            "ACCOUNTS",
            "TRANSACTIONS"
        ],
        "redirectURL": "https://www.example.com/cancelURL?foo=123&aisConsentId=AIS-0d5e9cc06c6147eda71ef93073",
        "cancelURL": "https://www.example.com/cancelURL?foo=123g&aisConsentId=AIS-0d5e9cc06c6147eda71ef93073",
        "errorURL": "https://www.example.com/cancelURL?foo=123&aisConsentId=AIS-0d5e9cc06c6147eda71ef93073",
        "expiryDate": "2025-11-04T15:31:32.978Z",
        "createdDate": "2024-12-12T11:20:47.644258+00:00",
        "cancelledBy": null
    }
}

If the POST is successful, the response will contain an aisAuthUrl property. This URL is unique to this consent and can be provided to your customer by whatever method you choose. For testing purposes, on our staging environment, navigating to the URL for aisAuthUrl will begin our authorisation flow and will allow you to complete the set up of a test mandate on our staging environment.

As part of this feature the Ordo platform will append the Account Data ID ("aisConsentId") as a query string to the redirect URLs you supply when creating a VRP mandate.

These are outlined below:

redirectURL – redirect back to merchant, payment successful
cancelURL – Redirect back to merchant, payment cancelled
errorURL – redirect back to merchant, payment error at bank

These fields are designed to give you the flexibility for handling all known VRP mandate authorisation journeys, both happy and unhappy path. More information can be found within the API section

Creates a new Data Request

Once your customer has authorised an Account Data consent with their bank, you can start requesting data. This API triggers a data request at the customer's bank, which will be returned to the Ordo platform immediately, provided the consent is active. Ordo will return an "aisDataRequestId" which can be used to collect the account data within 7 days.

POST
https://test.api.ordopay.com/hosted/account/information/data
HTTP/1.1

Headers:
{
  Authorization: Bearer {access_token},
  "Ocp-Apim-Subscription-Key": {subscription_key},
  "participantId":1234,
  "content-type": "application/json"
}

{
  "aisConsentId": "AIS-76f7153be9c242e2aa64b5cd3d",
  "merchantReference": "Example",
  "fromDate": "2024-09-01T00:00:01.000Z",
  "toDate": "2024-09-30T23:59:59.000Z",
  "page": 0
}
{
    "aisDataRequestId": "44676028-5d94-439d-aad5-9eb6f9028ac9"
}

Data collection

The "aisDataRequestId" can then be used to return the Account Data from the Ordo platform. Pagination is used so you can divide and consume the information. Example below.

Ordo will provide you with a standardised dataset from the bank, so that the information is easier to consume. An overview of the account data format can be found here Account Data - collection.

GET
https://test.api.ordopay.com/hosted/account/information/data?pageSize=50&pageNumber=3&aisDataRequestId=b9633e91-77f8-4ddf-8bc4-cac91e022c6e
HTTP/1.1

Headers:
{
  Authorization: Bearer {access_token},
  "Ocp-Apim-Subscription-Key": {subscription_key},
  "participantId":1234,
  "content-type": "application/json"
}
{
            "AccountId": "9d2ffc5b-5970-3998-8ada-01531f4acb3f",
            "TransactionId": "T2a89bd93f8ei797429603694bee16d9c",
            "TransactionReference": "PV8198121953579349",
            "StatementReference": null,
            "CreditDebitIndicator": "Debit",
            "Status": "Booked",
            "TransactionMutability": null,
            "BookingDateTime": "2024-03-18T00:00:00+00:00",
            "ValueDateTime": "2024-03-18T00:00:00+00:00",
            "TransactionInformation": "MY ECOMMERCE EXPER",
            "AddressLine": null,
            "Amount": {
                "Amount": "0.01",
                "Currency": "GBP"
            },
            "ChargeAmount": null,
            "CurrencyExchange": null,
            "BankTransactionCode": {
                "Code": "IssuedCreditTransfers",
                "SubCode": "SameDayValueCreditTransfer"
            },
            "ProprietaryBankTransactionCode": {
                "Code": "FPO",
                "Issuer": "LBG"
            },
            "Balance": {
                "CreditDebitIndicator": "Credit",
                "Type": "InterimBooked",
                "Amount": {
                    "Amount": "4.66",
                    "Currency": "GBP"
                }
            },
            "MerchantDetails": null,
            "CreditorAgent": null,
            "CreditorAccount": null,
            "DebtorAgent": null,
            "DebtorAccount": null,
            "CardInstrument": null,
            "SupplementaryData": null
        },