- Overview
- POST /payments/{paymentProduct}
- POST /periodic-payments/{paymentProduct}
- POST /bulk-payments/{paymentProduct}
- GET /{paymentService}/{paymentProduct}/{paymentId}/authorisations
- POST /{paymentService}/{paymentProduct}/{paymentId}/authorisations
- GET /{paymentService}/{paymentProduct}/{paymentId}
- DELETE /{paymentService}/{paymentProduct}/{paymentId}
- GET /{paymentService}/{paymentProduct}/{paymentId}/status
- GET /{paymentService}/{paymentProduct}/{paymentId}/authorisations/{authorisationId}
- POST /payments/payment-slips/{slip-type}
- GET /payments/payment-slips/{slip-type}/{paymentId}/authorisations
- POST /payments/payment-slips/{slip-type}/{paymentId}/authorisations
- GET /payments/payment-slips/{slip-type}/{paymentId}/authorisations/{authorisationId}
- GET /payments/payment-slips/{slip-type}/{paymentId}
- DELETE /payments/payment-slips/{slip-type}/{paymentId}
- GET /payments/payment-slips/{slip-type}/{paymentId}/status
- POST /signing-baskets
- GET /signing-baskets/{basketId}
- DELETE /signing-baskets/{basketId}
- GET /signing-baskets/{basketId}/status
- POST /signing-baskets/{basketId}/authorisations
- GET /signing-baskets/{basketId}/authorisations/{authorisationId}
- Definitions
Overview
Payment Initiation Service (PIS) offers the following services:
- Initiation and update of a payment request
- Status information of a payment
The PIS API implements the Payment Initiation Service parts of the PSD2 specification, and provides the following services to authorized TPPs:
- Initiation and update of a payment request
- Status information of a payment
- Singing baskets - authorising several transactions with one SCA operation
Access to the Payment Initiation Service API is controlled through the general onboarding/enrollment flow. I.e. the API is only accessible to valid TPPs, who have completed the enrollment in order to upload and verify their qualified certificates. By accessing the API, you confirm that you already have status as an authorized TPP - or (for sandbox access only) that your application has been submitted to a local NCA and is pending approval. Only TPPs who can document their authorization status are elegible for support.
The PIS API is part of the general PSD2 XS2A implementation and works in the same security context. In addition to the information contained below, all communication, headers and additional steps adhere to the general security model and flows. Refer to this link for up to date information on required security headers.
The API is implemented against Berlin Group XS2A version 1.3. Note about this version This version of the PIS API now also supports testing of security and SCA flows in sandbox with full security context.
- The sandbox API works on (stateless) mocked data. The mock API simulates creation of a payment request, but no simulation of actual payment is done. And nor will creation of a payment request cause any mutation of state with respect to subsequent calls to inquery the payment request details or status.
- The sandbox Payment API entries will be deleted one month after being created.
- The security model for TPP enrollment and PSU authentication/authorization is implemented and enforced for both production and sandbox API
Access to API Endpoints
Production and sandbox access: Prior to calling the API the TPP must complete the (one-time) process for Onboarding on a per-bank basis. Separate API URL/host endpoints are required for each bank under the BEC Umbrella. Consult the Environments section for information on URL schemas in production and sandbox environments. See list of included ASPSPs and their corresponding urls by following this link. The X-IBM-Client-Id attribute is not required in this version.
Production and Sandbox endpoints
Production: https://psd2api{bank_id}.prod.bec.dk/eidas/2.0/v1 Sandbox: https://psd2testapi{bank_id}.prod.bec.dk/eidas/2.0/v1
Difference beetwen version 1 and version 2:
- We add object RemittanceInformationStructured
- In object PaymentInitiation we change field remittanceInformationStructured and we remove fields remittanceInformationUnstructured and remittanceInformationUnstructuredArray
- In object PeriodicPaymentInitiation we change field remittanceInformationStructured and we remove fields remittanceInformationUnstructured and remittanceInformationUnstructuredArray
- In object PaymentInitiationInfoResponse we change field remittanceInformationStructured and we remove fields remittanceInformationUnstructured and remittanceInformationUnstructuredArray
- In object PaymentInitiationStatusResponse we add field psuMessage. The psuMessage parameter often contains valuable error information in case an error happens in the phase of PSU authorization of a payment or if something went wrong in the payment initiation phase after the authorization.
- In object PaymentSlipInitiation we remove field remittanceInformationUnstructured