Implementation Guide: Nationwide

Implementation Guide: Nationwide

This page has been created and maintained by the relevant ASPSP, and OBIE takes no liability for the completeness nor accuracy of this data.

Note to ASPSP: Please indicate which brands this applies to and/or duplicate this page per brand if relevant.



ASPSP

Nationwide Building Society

Brand

Nationwide Building Society

Date

Mar 13, 2019 

Developer portal (s)

https://developer.nationwide.co.uk/





On-boarding

Supports dynamic client registration (Y/N)

Y

Instructions for manual onboarding

N/A - Nationwide does not support manual on-boarding

OIDC .well-known endpoint

https://obonline.nationwide.co.uk/open-banking/.well-known/openid-configuration

Notes on testing

-

Other on-boarding notes



Documentation URL

https://developer.nationwide.co.uk/

Account Information API

Note to ASPSP: Please add a column per brand if relevant

Swagger version

v3.1

v4.0





Base URI

https://api.nationwide.co.uk/open-banking/v3.1/

https://api.nationwide.co.uk/open-banking/v4.0





General variances to specification 

None

Non-functional limitations

Transaction History - We will return transaction data for up to 15 months prior to the date of an account information data request. If a request is made beyond 15 months of transaction history, you will be provided with an empty ‘200’ response.

No Pagination - Nationwide are not currently supporting the splitting up of response messages into pages, pagination. We currently support the sharing of a file size up to a maximum of 10MB as a response message. If, in rare circumstances, you receive an exception message after requesting a large set of data, you can look to request the data for a series of narrower date ranges.

API Call Limits - If Nationwide receives more than four requests for data where the customer is not present from a third party within a 24hr period, we will process requests on the understanding that the third party (AISP) has obtained consent from the customer to request data more frequently.

Re-authentication - Periodically customers will need to re-confirm that we are permitted to share their data with third parties, e.g. once every 90 days. This can be completed by using the existing intent ID in a request to the /authorize endpoint (as per the OBIE specifications)

Transaction Codes - Nationwide uses proprietary transaction codes. Please see the NBS Transaction Codes xls below for the DRAFT definitions of these codes. Updates will be made to this at a future date.

Bulk Endpoints - Nationwide does not support the bulk endpoints for account resources

Endpoint limitations - Certain endpoints can only be requested for Current Accounts i.e:

  • Direct Debits

  • Scheduled Payments

  • Standing Orders

  • Beneficiaries

 

 



Payment Initiation API

Swagger version

v3.1

v4.0



Base URI

https://api.nationwide.co.uk/open-banking/v3.1/

https://api.nationwide.co.uk/open-banking/v4.0/



General variances to specification

Support - Nationwide will accept single immediate payments made via Open Banking which will be executed via the Faster Payments Scheme. 

Non-functional limitations

Single Immediate Payment Limits - Single Immediate Payments may be limited to £25,000 if the customer is:

  • making a payment to someone they haven’t paid before

  • making a payment to someone they don't often pay

Otherwise, the limit is £100,000 per transaction up to a £100,000 overall daily limit per account.

Payment Status - The full list of statuses returned by Nationwide is below.

V3.1.11:

V3.1.11 Final Statuses

  • Rejected

  • AcceptedWithoutPosting

  • AcceptedCreditSettlementCompleted

V3.1.11 Intermediary Statuses

  • Pending

  • AcceptedSettlementInProcess

  • AcceptedSettlementCompleted 

V4.0 Final Statuses

  • RJCT

  • ACWP

  • ACCC

V4.0 Intermediary Statuses

  • RCVD

  • PDNG

  • ACSP

  • ACSC

Field Length Limits - Some data field lengths within the Open Banking payment API specifications exceed the equivalent data field lengths within the Faster Payment scheme.  If the data provided within any of these fields via the API(s) exceeds the maximum length permitted within the relevant Faster Payment field(s), we will reject the payment rather than attempt to truncate the data on v1.1 of the Payment APIs. On v3.0 and later, these payments will be accepted, however the values will be truncated to comply with the FPS scheme limit. 

Currency & Decimal Places - Nationwide will only allow payment values in GBP with one or two decimal places as per ISO20022.

Authentication & Execution Timing- As Nationwide Open Banking payments are all single immediate payments third parties must execute the payment within 1 hour after a customer's authentication.

Timeouts - In the event of a TPP receiving a timeout following the presentation of a payment for execution post customer authentication, please be aware that Nationwide will have received and may have already processed the payment. The payment submission status API is available to confirm the latest status of a recent payment.

Status Enquiry Time Limits - A payment submission status API can be accessed up to 24 hours after a customer's confirmation of a payment.

Standing Orders -

  • V3.1.11 'Frequency' values that are supported are IntvrlWkDay and IntvrlMnthDay

  • V4.0 'Frequency' values that are supported are MNTH, QURT, MIAN, YEAR, WEEK, FRTN, FOWK

  • 'FirstPaymentDateTime' must be present and cannot be more than one year in the future

  • 'RecurringPaymentDateTime' must be after the first payment date

  • 'FinalPaymentDateTime' cannot be more than 50 years in the future

  • ‘CountPerPeriod’ is not supported and requests will be rejected if populated

  • 'FirstPaymentDateTime' must have a value for the request to be accepted. If this is not present the request will be rejected.

Scheme Support - FPS is the only supported scheme. Payments will be rejected if the LocalInstrument field is populated with anything other than UK.OBIE.FPS. Payments will be accepted if this field is not populated as it is optional.

Please note the following for the 'SchemeName' field

  • For DIP, DSP, DSO, VRP and CHAPs we accept 'UK.OBIE.SortCodeAccountNumber' or 'SortCodeAccountNumber’

In all cases the 'Identification' must be a SCAN number (6 digit sort code and 8 digit account number with no spaces)

For UltimateCreditor and UltimateDebtor objects, both ‘SchemeName’ and ‘Identification’ must be populated or both be blank. If one is populated and not the other we will reject the request.

Remittance Information - For both RemittanceInformation Unstructured field and Structured blocks we will only accept the first instance and ignore all others. Therefore, if any information is populated, it must be present in the first instances.

Secondary Identifiers - For payments to holding accounts, where a secondary identifier is required (e.g. paying a credit card), it can be provided in either the SecondaryIdentification or Reference claim. If it is provided in both, the payment will be rejected.

Payee Name - We take the Merchant Name from the client name in the software statement to populate the Payee Name on the statements, and not the creditor account name or anything else passed in the request

CHAPs Payments - CHAPs payments can be initiated through our Domestic Immediate Payment endpoints, noting the following

  • The LocalInstrument field within the consent and submission calls must be set to UK.OBIE.CHAPS

  • The CreditorPostalAddress object within the consent and submission calls must be completed. If this is not supplied the call will be rejected with a 400 error



VRP Backwards / Forwards compatibility - The below scenarios will be rejected:

  • A consent created using 3.1 with mandatory fields and submission in 4.0

  • A consent created using 4.0 with mandatory fields and submission in 3.1

  • Unless:

    1. A VRP consent created with minimal fields in version 3.1 will be allowed for submission in version 4.0, as the mandatory field content has not changed. 

    2. Additionally, a version 3.1 Get Submission will be allowed in version 4.0 Submission and return a 4.0 response object to ensure backward compatibility.

 

 

 

 

 

 



Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

1

Payment Requests

Debtor Account Secondary Identification

Y

If greater than 18 characters NBS will reject

2

Payment Requests

End to end Identification field

Y

If greater than 31 characters NBS will reject. Note from v3.0 onwards, this will be truncated if over 31 characters and under the schema limit. 

3

 Payment Requests

 Creditor Account Name

Y

If greater than 40 characters NBS will reject. Note from v3.0 onwards, this will be truncated if over 40 characters and under the schema limit. 

4

 Payment Requests

 Amount

Y

If negative, NBS will reject

5

 Payment Requests

 Amount

Y

For external payments if the amount is greater than the NBS external Faster Payment limit, NBS will reject (currently £10,000).

6

 Payment Requests

Creditor Account Secondary Identification

Y

 If greater than 18 characters, NBS will reject. Note from v3.0 onwards, this will be truncated if over 18characters and under the schema limit. 

Open Data API

Swagger version

v2.2

Base URI

https://developer.nationwide.co.uk/open-banking/open-data-apis#/

General variances to specification 

None

Non-functional limitations

-

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

1

Product Information

Feature Benefit Type

Y

NBS have grouped Text Alerts under the ‘account management’ feature benefit type.

2

Product Information

Feature Benefit

Y

NBS have labelled our FlexStudent 1% Credit Interest benefit as ‘other’ as it does not fall under any of the selections available on the code list.