Payment Initiation API Specification - v3.0

Payment Initiation API Specification - v3.0

Version Control

Version

Date

Author

Comments

Version

Date

Author

Comments

3.0-draft1

Apr 18, 2018 

OB R/W API Team

First draft of v3

Changes to align with the structure of Accounts & Transactions API

  • Removed Overview / Design Principles - RESTful APIs, Standards,  ISO 20022, Extensibility, Idempotency  and Status Codes

  • Removed Overview / Design Principles / Non-repudiation

  • Removed Overview / Scope 

  • Removed Overview / Out of Scope 

  • Removed Basics / Actors, Character Encoding, Date Formats, Resource URI Path Structure, Headers, Return & Error Codes, Pre-conditions, Idempotency, Non-repudiation, Filtering, Pagination, Regulatory Considerations

  • Endpoints section updated to cross-reference child pages with end-point details

  • Documentation for individual end-points moved into child pages

  • Removed section Data Model except for Identifier Fields, Enumerations and Mapping to Schemes & Standards

  • Removed section Usage Examples

3.0-draft2

May 8, 2018 

OB R/W API Team

  • Modified Basics / Overview to add details about standing orders

  • Generalise references to Single Immediate Payments to Payment Orders or add Standing Order references where appropriate.

3.0-draft3

May 17, 2018 

OB R/W API Team

Draft 3 changes:

  • OBRisk1 class moved to this page (from the Payment resource page)

  • Updated references to payment setup to payment-order consent; and references to payment submission to payment-order resource

  • Design Principles / Status Codes:

    • Removed reference in Status Codes to "The Security Working Group have stated that granular error codes may expose threat vectors - so these are limited to the HTTP Status Codes for v1.0." as this is under review

  • Generalised Basics / Overview section to payment-order consent and payment-order resource. Clarified consent step and differences in GET requests.

  • Removed Consent Authorisation / Payment Status section - as this has been moved into the payment-order type sub pages.

  • Updated Mapping to Schemes & Standards / Transaction Status

  • Removed DebtorAgent and CreditorAgent from FP and Bacs mappings.

  • Aligned GET operations Mandatory? flag with the equivalent resource POST.

  • In Endpoint section - removed reference to "must respond with a 404 (Not Found) for requests to that URL." and moved to Read Write API page.

3.0-draft4

May 25, 2018 

OB R/W API Team

Errata:

  • Generalised the references of PaymentId and PaymentSubmissionId to ConsentId and Payment Order Id

Draft 4 Changes:

  • Updated Enumerations table - Remove deprecated statuses for OBTransactionIndividualStatus1Code

  • Updated Payment Limits section to Payment Restrictions - clarified behaviour if an ASPSP is unable to handle a payment-order request

3.0-draft5

Jun 7, 2018 

OB R/W API Team

Draft 5 Changes:

  • New subpages for new payment-order types:

    • International Standing Orders

    • File Payments

  • Usage Examples moved back into payment-order type pages

  • Included status values in overview sequence diagram

  • Added CutOffDateTime in Payment Restrictions section

  • Removed OBExternalAccountIdentification2Code enumeration reference

  • Removed Mapping to Schemes and Standards section - and moved to a sub-page for Domestic Payment Message Formats

  • Usage Examples and Alternate flows are moved back to the individual specification pages. New alternate flow for CutOffDateTime behaviour.

  • Errata:

    • Spelling errors

    • Reference to consent for payment-order updated to payment-order consent (for consistency)

3.0-draft6/rc1

Jun 27, 2018 

OB R/W API Team

Draft6 Changes:

  • Removed "request" in statements relating to rejection - so that the ASPSP may set the Status of a resource as "Rejected" in the case of a rejection. 

  • Updated references to PersonToPerson to PartyToParty - as it generalises to business to business payments.

  • Added Consent Authorisation / Multiple Authorisation section

  • Referenced Read/Write Data API Specification in overview.

  • Added Release Management in Basics section

  • Errata:

    • Spelling

    • Typo on MSD.

    • Moved table under Data Model / Enumerations to Daa Model / Enumerations / Static Enumerations

    • Added section for Data Model / Enumerations /Namespaced Enumerations

3.0-draft7

Jul 5, 2018 

OB R/W API Team

Draft7 Changes:

  • Changed the Grant Type for GET Requests to be Client Credentials Only.

  • Added definitions of reused classes - OBCharge1, OBAuthorisation1 and OBMultiAuthorisation1, and

    • Removed from all Payment Order pages.

  • Added Post PSU Authentication guideline in Payment Initiation>Consent Authorisation>Multiple Authorisation Section

  • Added Multi-Auth Payment Order Consent flow

  • Added Enumeration definitions for completeness

  • Added webhook notifications as an option to notify a TPP that a multi auth flow is complete

Errata

  • In the Release Management Section, GET payment-order consent updated:

    A PISP must not access a payment-order ConsentId created in a previous newer version, via a newer previous version endpoint

3.0-RC2

Jul 19, 2018 

OB R/W API Team

RC2 Changes:

  • Updated file types to UK.OBIE.pain.001.001.08 and UK.OBIE.PaymentInitiation.3.0.

  • Referred to Event Notification API Specification (renamed from Webhook Notification Specification).

  • Removed 'generalised for all payment types' comment on the Multi-Auth Payment Order Consent as specific to Domestic Payments.

  • Removed section on 'Handling Expired Access Tokens'

  • Added section on Consent Re-authorisation

  • Updated LocalInstrument Enumeration section to

    • Include wording of a "payment service"

    • Include international payment services 

  • CutOffDateTime Behaviour updated in accordance with draft Decision 162

  • Removed AuthorisationType "Multiple"

  • Changes to cater for CIBA

    • Modified Basics / Overview / Steps

    • Added  alternative Sequence Diagram for Decoupled Flow

    • Updated Grant Types

  • Clarification - the OBMultiAuthorisation1/NumberRequired field is the total number required at the start of the multi authorisation journey

  • Added Swagger specification.