Documentation

Client hosted - Account Data

Having gone through the Get Started guide, you should now have the following information to allow you to create a mandate:

  • 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

Client hosted orchestration

Using Ordo's client hosted flow allows you to maintain your own UI and UX whilst still taking advantage of Ordo's Open Banking connectivity and orchestration.

  1. Get Institutions - provides you with a list of all the banks that Ordo has integrated with, that an end customer can select to authorise a consent with. If you know which bank your end customer has an account with, you can choose to only present that bank or make that the top choice on the list.
  2. Create AIS Consent - creates the consent with predetermined permissions within the Ordo platform and allows us to provide status updates on that consent and any data requests under the consent.
  3. Initiate consent - provides you the redirect to the selected bank so you can direct your end customer to their bank for authorisation
  4. End customer returns to you via your redirect URL provided in the creation of the consent.

Example - Institutions endpoint:

The GET Institutions endpoint requires that you provide the permissions for the data types that you need, so that Ordo can return a list of banks that support the relevant data type(s).

GET
https://test.api.ordopay.com/client/account/information/institutions?permissions=ACCOUNTS&permissions=TRANSACTIONS
HTTP/1.1

Headers:
{
  Authorization: Bearer {access_token},
  "participantId": 1234
  "Ocp-Apim-Subscription-Key": {subscription_key},
  "content-type": "application/json"
}
{
        "ordoInstitutionId": "no-hsbc-personal-uk",
        "name": "HSBC Personal",
        "media": {
            "iconUrl": "https://rfpprodstaukslrsh02.blob.core.windows.net/institutionmedia/no-hsbc-personal-uk-icon.png",
            "logoUrl": "https://rfpprodstaukslrsh02.blob.core.windows.net/institutionmedia/no-hsbc-personal-uk-logo.png"
        },
        "refundDataAvailable": true,
        "aisEnabled": true,
        "features": [
            "VRPSWEEPING",
            "REFUNDS",
            "AISBASIC"
        ]
    },
    {
        "ordoInstitutionId": "no-lloyds-personal",
        "name": "Lloyds (Personal)",
        "media": {
            "iconUrl": "https://rfpprodstaukslrsh02.blob.core.windows.net/institutionmedia/no-lloyds-personal-icon.png",
            "logoUrl": "https://rfpprodstaukslrsh02.blob.core.windows.net/institutionmedia/no-lloyds-personal-logo.png"
        },
        "refundDataAvailable": true,
        "aisEnabled": true,
        "features": [
            "VRPSWEEPING",
            "REFUNDS",
            "AISBASIC"
        ]
    },


Example - Create Account Data consent:

POST
https://test.api.ordopay.com/client/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
    }
}

Example - Initiate Consent:

POST
https://test.api.ordopay.com/client/account/information/initiate
HTTP/1.1

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

JSON Body:
{
  "aisConsentId": "AIS-84f973353bdc43d89840488689",
  "ordoInstitutionId": "no-monzo",
  "inviteCode": "string"
}
{
    "obapiConsentId": "obaispaccountinformationconsent_0000AoyPakpUWcywpRbZz7",
    "state": "H2SfUcA8RRFZLEHvHRddAmjM0kcohu3i",
    "accountInitiationUrl": "https://verify.monzo.com/open-banking/authorize?client_"
}

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 with 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/client/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-76f7153be9c672e2aa64b5cd3d",
  "merchantReference": "Example",
  "fromDate": "2024-09-01T00:00:01.000Z",
  "toDate": "2024-09-30T23:59:59.000Z",
  "page": 0
}
{
    "aisDataRequestId": "44676028-5564-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/client/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
        },