Here you’ll find all of the information you need to know about how we've implemented the API standards defined by Open Banking for Payment Initiation Service Providers (PISP).
To view the latest version of the Open Banking standards and specifications, visit the Open Banking Developer Zone.
Version Supported
Date |
Production |
Sandbox |
---|---|---|
March 2019 |
N/A |
v3.1 |
July 2019 |
v3.1.1 |
v.3.1.1 |
Our PISP APIs
Here you’ll find all of the available endpoints that we currently support.
Domestic payments
This can be used to initiate a single domestic payment for a Tesco Bank account.
What to know when using this API
- For current and savings accounts, single domestic payments, a bank transfer using 'Faster Payments', typically will happen immediately but may take up to 2 hours to fully process (i.e. settlement completed), depending on the Bank.
- For credit cards, we only support single domestic payments with a LocalInstrument of UK.OBIE.MoneyTransfer or UK.OBIE.BalanceTransfer. These will typically be in the payee's account by the end of the next working day. The payment will have a status of “Pending” during processing and, once fully processed, will change to a status of either “AcceptedSettlementComplete” or “Rejected”.
- When a request is made with the same idempotency key as a previous request, it’ll receive a cached response if submitted within 24 hours of a successfully executed previous request. Alternatively, it’ll be treated as new if the previous request was not successfully processed.
Payment validation rules
Set Up Payment Order Consent (Faster Payment)
LocalInstrument
When LocalInstrument is blank - the request will be processed as a Faster Payment.
When LocalInstrument is UK.OBIE.FPS - the request will be processed as a Faster Payment. For all payments, Instructed Amount must be specified to no more than two decimal places.
Amount
Lower Limit: For all payments, Instructed Amount/Amount must be greater than or equal £0.01.
Upper Limit: For all payments, Instructed Amount/Amount must be less than or equal £10,000.00.
Note: During consent authorisation and payment submission further payment limit validation will be applied relating to customer daily limits.
Currency
Instructed Amount/Currency must be set to GBP.
Creditor Account
CreditorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
If Scheme Name is set to SortCodeAccountNumber then the Identification must be set as a valid UK sort code and account number.
If Scheme Name is set as IBAN then the Identification must be set as a valid UK IBAN.
Debtor Account
Debtor Account is optional.
If supplied, DebtorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
Mandatory attributes
All mandatory attributes as specified in Open Banking Standards must be supplied.
Format validation
If supplied, the following attributes must conform to the maximum field length validation as below:
Attribute |
Maximum Field Length |
---|---|
InstructedAmount/Amount |
15 |
CreditorAccount/Name |
35 |
CreditorAccount/SecondaryIdentification |
13 |
RemittanceInformation/Reference |
18 |
CreditorPostalAddress/StreetName |
35 |
The above attributes must conform to the data format validation specified in the Domestic Payments spec.
All other supplied attributes must conform to the maximum field length and data format validation specified in the Domestic Payments specification.
The single domestic payment consent request must not contain attributes that cannot be mapped to the object OBWriteDomesticConsent2
Set Up Payment Order Consent (Balance Transfer)
LocalInstrument
When LocalInstrument is UK.OBIE.BalanceTransfer the request will be processed as a Balance Transfer.
Amount
InstructedAmount/Amount must be greater than or equal to £1 for all payments, Instructed Amount must be specified to no more than two decimal places.
Currency
Instructed Amount/Currency must be set to GBP.
Creditor Account
CreditorAccount/SchemeName must be set to UK.OBIE.PAN. When a PAN is supplied for a Creditor Account it must be <=18 numeric characters.
Debtor Account
Debtor Account is optional. If supplied, DebtorAccount/SchemeName must be set to UK.OBIE.UK.OBIE.PAN.
Mandatory attributes
All mandatory attributes as specified in Open Banking Standards must be supplied.
Format validation
If supplied, the following attributes must conform to the maximum field length validation as below:
Attribute |
Maximum Field Length |
---|---|
InstructedAmount/Amount |
15 |
CreditorAccount/Name |
35 |
CreditorAccount/SecondaryIdentification |
13 |
RemittanceInformation/Reference |
18 |
CreditorPostalAddress/StreetName |
35 |
Set Up Payment Order Consent (Money Transfer)
LocalInstrument
When LocalInstrument is UK.OBIE.MoneyTransfer the request will be processed as a Money Transfer.
Amount
InstructedAmount/Amount must be greater than or equal to £1 for all payments, Instructed Amount must be specified to no more than two decimal places.
Currency
Instructed Amount/Currency must be set to GBP.
Creditor Account
CreditorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN. If Scheme Name is set to SortCodeAccountNumber then the Identification must be set as a valid UK sort code and account number. If Scheme Name is set as IBAN then the Identification must be set as a valid UK IBAN.
Debtor Account
Debtor Account is optional. If supplied, DebtorAccount/SchemeName must be set to UK.OBIE.UK.OBIE.PAN.
Reference
Reference must be blank.
Secondary Identification Reference must be blank.
Mandatory attributes
All mandatory attributes as specified in Open Banking Standards must be supplied.
Format validation
If supplied, the following attributes must conform to the maximum field length validation as below:
Attribute |
Maximum Field Length |
---|---|
InstructedAmount/Amount |
15 |
CreditorAccount/Name |
35 |
CreditorPostalAddress/StreetName |
35 |
Domestic Standing Orders
This API can be used to set up a domestic Standing Order on a Tesco Bank account.
What to know when using this API
Products supported:
- Current Accounts
When a request is made with the same idempotency key as a previous request, it’ll receive a cached response if submitted within 24 hours of a successfully executed previous request. Alternatively, it’ll be treated as new if the previous request was not successfully processed.
For both POST/domestic-standing-orders & GET/domestic-standing-orders, the status returned will always either be “InitiationCompleted” or “InitiationFailed” upon set up.
Rules
Set Up Payment Order Consent Domestic Standing Order
Amount
Lower Limit: For all payments, Instructed Amount/Amount must be greater than or equal £1.00.
Upper Limit: For all payments, Instructed Amount/Amount must be less than or equal £10,000.00.
For all payments, Instructed Amount must be specified to no more than two decimal places.
Currency
Instructed Amount/Currency must be set to GBP.
Creditor Account
CreditorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
If Scheme Name is set to SortCodeAccountNumber then the Identification must be set as a valid UK sort code and account number.
If Scheme Name is set as IBAN then the Identification must be set as a valid UK IBAN.
Debtor Account
Debtor Account is optional. If supplied, DebtorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
Frequency
Frequency must be one of:
- EvryDay - i.e. daily
- IntrvlWkDay:X:Y , allowable values for X are (01,02,04), allowable values for Y are (01-07), any others will be rejected.This will schedule payments to be made Weekly, Bi-Weekly or Four Weekly on the day of your choosing.
- IntrvlMnthDay:X:Y - allowable values for X are (01,02,03,06,12), allowable values for Y are (01-31). This will schedule payments to be made Monthly, Bi-Monthly, Quarterly, Semi-Annually or Annually on the day of your choosing. Any other values will be rejected.
- IntrvlDay:15 - only permitted value is 15, reject any others.
First Payment Date
Time is ignored, only date portion is respected
First payment date must be after today, and <= (today + one year)
The first payment date for the schedule must agree with the frequency:
- If Frequency is IntrvlWkDay:X:Y, then the day of the week on which the first payment date will fall (Monday-Sunday)must agree with the day of week specified in the frequency (01-07)
- If Frequency is IntervalMnthDay:X:Y, then the day of the month of the first payment date (01-31) must match the day of the month specified in the frequency (01-31)
Recurring Payment date
Recurring payment date should not be supplied, it will be derived from first payment. Request will be rejected if this value is populated.
Final Payment date
Time is ignored, only date portion is respected.
Optional, if supplied then must be after first and recurring payment dates, as applicable, and <= (today + 30 years).
Number of Payments
Optional: If final payment date is supplied, number of payments must be blank or request will be rejected.
Number of payments must be in range 2-999.
Final payment date (calculated using the frequency, number of payments and either first or recurring payment date, as appropriate) must be <= (today + 30 years)
Mandatory Attributes
All mandatory attributes must be supplied.
Format validation
If supplied, the following attributes must conform to the maximum field length validation as below:
Attribute |
Maximum Field Length |
---|---|
Initiation/Reference |
18 |
FirstPaymentAmount/Amount |
15 |
RecurringPaymentAmount/Amount |
15 |
FinalPaymentAmount/Amount |
15 |
CreditorAccount/Name |
35 |
CreditorAccount/SecondaryIdentification |
13 |
Domestic Scheduled Payments
This API can be used to schedule a one-off payment from a Tesco Bank account.
What to know when using this API
Products supported:
- Current Accounts
- Savings Accounts
- Clubcard Pay+
- Round Up
When a request is made with the same idempotency key as a previous request, it’ll receive a cached response if submitted within 24 hours of a successfully executed previous request. Alternatively, it’ll be treated as new if the previous request was not successfully processed.
For both POST/domestic-standing-orders & GET/domestic-standing-orders, the status returned will always either be “InitiationCompleted” or “InitiationFailed” upon set up.
Rules
LocalInstrument
When LocalInstrument is blank or set as UK.OBIE.FPS the request will be processed as a Faster Payment.
All other values will be rejected.
Amount
Lower Limit: For all payments, Instructed Amount/Amount must be greater than or equal £0.01.
Upper Limit: For all payments, Instructed Amount/Amount must be less than or equal £10,000.00.
Currency
Instructed Amount/Currency must be set to GBP.
Creditor Account
CreditorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
If Scheme Name is set to SortCodeAccountNumber then the Identification must be set as a valid UK sort code and account number.
If Scheme Name is set as IBAN then the Identification must be set as a valid UK IBAN.
Debtor Account
Debtor Account is optional.
If supplied, DebtorAccount/SchemeName must be set to UK.OBIE.SortCodeAccountNumber or UK.OBIE.IBAN.
If supplied, the sort code must be a Tesco Bank sort code (range 40-64-00 to 40-64-22).
Request Execution Date Time
Time is ignored, only date portion is respected
Requested execution date must be after today, and <= (today + 1 year)
Mandatory attributes
All mandatory attributes must be supplied
Format validation
If supplied, the following attributes must conform to the maximum field length validation as below
Attribute |
Maximum Field Length |
---|---|
InstructedAmount/Amount |
15 |
CreditorAccount/Name |
35 |
CreditorAccount/SecondaryIdentification |
13 |
RemittanceInformation/Reference |
18 |
CreditorPostalAddress/StreetName |
35 |
International Payments
This can be used to initiate a single international payment for a Tesco Bank account.
What to know when using this API
LocalInstrument
LocalInstrument field must be set to UK.OBIE.SWIFT any payment type specified other than SWIFT will be rejected.
Creditor Account
All international payments must have a BIC and this must be specified in the field CreditorAgent/SchemeName.
The payment will also have either an IBAN or an Account Number in the field CreditorAccount/SchemeName.
Transaction Details
Creditor Agent Scheme Name and Identification must be provided if they are not provided the request will be rejected.
Tesco Bank will only make international payments in the currency of the destination country (as defined above from the BIC), therefore Currency of Transfer must be the same as the currency of the destination country.
Amount
Lower Limit: For all payments, Instructed Amount/Amount must be greater than or equal £1.00.
Upper Limit: For all payments, Instructed Amount/Amount must be less than or equal £10,000.00.
Note: During consent authorisation and payment submission further payment limit validation will be applied relating to customer daily limits.
Payee Address
The following fields must be populated or the request will be rejected:
OBInternational2/Creditor/PostalAddress/StreetNameStreet
OBInternational2/Creditor/PostalAddress/TownName
Exchange Rate Information
The value in the RateType field must be either Actual or Indicative. All other values will be rejected.
Tesco Bank will apply the following rules to Exchange Rates:
Rate type is Indicative between:
12:45 and 13:30 Mon to Thurs
12:45 Fri to 13:30 Sun
12:45 day before a bank holiday to 13:30 on the bank holiday. Bank holidays are English bank holidays
Rate type is Actual at all other times
If a specific RateType is requested, the DebtorAccount UnitCurrency field must be GBP.
Confirmation of funds
This API can be used to confirm that a specific amount is available from a Tesco Bank account.
What to know when using this API
Validate Scheme Name and Identification
If Scheme Name is set to SortCodeAccountNumber then the Identification must be set as a valid UK sort code and account number. If Scheme Name is set as IBAN then the Identification must be set as a valid UK IBAN.
Post / Funds-Confirmations
Currency field must contain value GBP or the confirmation of funds request will be rejected.