Skip to main content

Payment initiation.

POST 

/api/v1/transactions/:payment-service/:payment-product

This method is used to initiate a payment at the ASPSP.

Variants of payment initiation requests

This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path.

  • There are the following payment products:
    • sepa-credit-transfers

Furthermore the request body depends on the payment-service:

  • payments: A single payment initiation request.

This is the first step in the API to initiate the related recurring/periodic payment.

Request

Path Parameters

    payment-service stringrequired

    Possible values: [payments]

    Payment service:

    Possible values are:

    • payments
    Example: payments
    payment-product stringrequired

    Possible values: [sepa-credit-transfers]

    The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported.

    Possible values are:

    • sepa-credit-transfers
    Example: sepa-credit-transfers

Header Parameters

    X-Request-ID uuidrequired

    ID of the request, unique to the call, as determined by the initiating party.

    Example: c66d0ad3-4089-4996-bd48-523ae3e484f7
    Consent-ID string

    This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

    Example: 354c3126-be8c-4bcb-8cc6-0c317b8efb30
    Digest string

    Is contained if and only if the OpenBankingGateway.Models.Payment.InitiatePayment.InitiatePaymentRequestHeaders.Signature element is contained in the header of the request.

    Example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
    Signature string

    A signature of the request by the TPP on application level. This might be mandated by ASPSP.

    TPP-Signature-Certificate int32

    The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.

    PSU-ID string

    Client ID of the PSU in the ASPSP client interface.

    Might be mandated in the ASPSP's documentation.

    It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. In this case the ASPSP might check whether PSU-ID and token match, according to ASPSP documentation.

    PSU-ID-Type string

    Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. In this case, the mean and use are then defined in the ASPSP’s documentation.

    PSU-Corporate-ID string

    Might be mandated in the ASPSP's documentation. Only used in a corporate context.

    PSU-Corporate-ID-Type string

    Might be mandated in the ASPSP's documentation. Only used in a corporate context.

    PSU-IP-Address stringrequired

    Possible values: Value must match regular expression \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

    The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. If not available, the TPP shall use the IP Address used by the TPP when submitting this request.

    TPP-Redirect-Preferred boolean

    If it equals true, the TPP prefers a redirect over an embedded SCA approach. If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the parameter TPP-Decoupled-Preferred and the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU.

    TPP-Redirect-URI uri

    URI of the TPP, where the transaction flow shall be redirected to after a Redirect.

    Mandated for the Redirect SCA Approach, specifically when TPP-Redirect-Preferred equals "true". It is recommended to always use this header field.

    TPP-Decoupled-Preferred boolean

    If it equals "true", the TPP prefers a decoupled SCA approach. If it equals "false", the TPP prefers not to use the decoupled approach for SCA. The ASPSP will then choose between the embedded or the redirect SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the parameter TPP-Redirect-Preferred and the SCA method chosen by the TPP/PSU The parameter might be ignored by the ASPSP. If both parameters TPP-Redirect-Preferred and TPP-Decoupled-Preferred are present and true, the request is still not rejected, but it is up to the ASPSP, which approach will actually be used.

    Remark for Future: TPP-Redirect-Preferred and TPP-Decoupled-Preferred will be revised in future versions, maybe merged. Currently kept separate for downward compatibility.

    TPP-Nok-Redirect-URI uri

    If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP.

    TPP-Explicit-Authorisation-Preferred boolean

    If it equals "true", the TPP prefers to start the authorization process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.

    If it equals "false" or if the parameter is not used, there is no preference of the TPP. his especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket.

    TPP-Rejection-NoFunds-Preferred boolean

    If it equals "true" then the TPP prefers a rejection of the payment initiation in case the ASPSP is providing an integrated confirmation of funds request an the result of this is that not sufficient funds are available.

    If it equals "false" then the TPP prefers that the ASPSP is dealing with the payment initiation like in the ASPSPs online channel, potentially waiting for a certain time period for funds to arrive to initiate the payment.

    This parameter might be ignored by the ASPSP.

    TPP-Brand-Logging-Information string

    This header might be used by TPPs to inform the ASPSP about the brand used by the TPP towards the PSU. This information is meant for logging entries to enhance communication between ASPSP and PSU or ASPSP and TPP. This header might be ignored by the ASPSP.

    TPP-Notification-URI uri

    URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent. This header field may by ignored by the ASPSP. For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP.

    The following applies: URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction-id/notifications or notifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction-id/notifications would be compliant.

    Wildcard definitions shall be taken into account for compliance checks by the ASPSP. ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.

    TPP-Notification-Content-Preferred string

    The string has the form status=X1, ..., Xn where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.

    The usage of the constants supports the of following semantics: SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP. PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP. LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

    This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.

    PSU-IP-Port string

    Possible values: Value must match regular expression [\d]

    The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.

    Example: 123
    PSU-Accept string

    The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

    PSU-Accept-Charset string

    The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

    PSU-Accept-Encoding string

    The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

    PSU-Accept-Language string

    The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

    PSU-User-Agent string

    The forwarded Agent header field of the HTTP request between PSU and TPP, if available.

    PSU-Http-Method PSUHttpMethod

    Possible values: [GET, POST, PUT, PATCH, DELETE]

    HTTP method used at the PSU ? TPP interface, if available. Valid values are:

    • GET
    • POST
    • PUT
    • PATCH
    • DELETE
    PSU-Device-ID string

    UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.

    Example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
    PSU-Geo-Location string

    The forwarded Geo Location of the corresponding http request between PSU and TPP if available.

    Example: GEO:52.506931;13.144558

Body

JSON request body for a payment initiation request message.

    oneOf
    debtorAccount objectrequired

    Reference to an account by either

    • IBAN, of a payment accounts, or
    • BBAN, for payment accounts if there is no IBAN, or
    • Not used by SDC the Primary Account Number(PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
    • Not used by SDC the Primary Account Number(PAN) of a card in a masked form, or
    • Not used by SDC an alias to access a payment account via a registered mobile phone number(MSISDN).
    • A payment account AccountReferenceOther when using a national payment Form.
    iban stringnullablerequired

    Possible values: Value must match regular expression [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}

    IBAN of the account.

    bban stringnullablerequired

    Basic Bank Account Number (BBAN) Identifier.

    This data element can be used in the body of the consent request. Message for retrieving account access consent from this account. This data elements is used for payment accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN).

    Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer

    currency stringrequired

    Possible values: non-empty, Value must match regular expression [A-Z]{3}

    Account Currency Code.

    instructedAmount objectrequired

    Base Model for amount.

    currency stringrequired

    Possible values: non-empty, Value must match regular expression [A-Z]{3}

    Currency Code.

    amount stringrequired

    Possible values: non-empty, Value must match regular expression -?[0-9]{1,14}(\.[0-9]{1,3})?

    The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.

    Example Valid representations for EUR with up to two decimals are:

    • 1056
    • 5768.2
    • -1.50
    • 5877.78
    creditorAccount objectrequired

    Reference to an account by either

    • IBAN, of a payment accounts, or
    • BBAN, for payment accounts if there is no IBAN, or
    • Not used by SDC the Primary Account Number(PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
    • Not used by SDC the Primary Account Number(PAN) of a card in a masked form, or
    • Not used by SDC an alias to access a payment account via a registered mobile phone number(MSISDN).
    • A payment account AccountReferenceOther when using a national payment Form.
    iban stringnullablerequired

    Possible values: Value must match regular expression [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}

    IBAN of the account.

    bban stringnullablerequired

    Basic Bank Account Number (BBAN) Identifier.

    This data element can be used in the body of the consent request. Message for retrieving account access consent from this account. This data elements is used for payment accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN).

    Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer

    currency stringrequired

    Possible values: non-empty, Value must match regular expression [A-Z]{3}

    Account Currency Code.

    creditorAgentName stringnullablerequired

    Creditor Agent Name

    creditorName stringnullablerequired

    Creditor Name

    creditorAgentProprietary stringnullablerequired

    Creditor Name

    creditorAddress object
    streetName stringnullablerequired

    Street name.

    buildingNumber stringnullablerequired

    Building Number.

    townName stringnullablerequired

    Town Name.

    postalCode stringnullablerequired

    postal Code

    country stringnullablerequired

    Possible values: Value must match regular expression [A-Z]{2}

    Country code.

    ISO 3166 ALPHA2 country code. Is only required for Cross border payment

    chargeBearer ChargeBearerrequired

    Possible values: [DEBT, CRED, SHAR]

    Charge Bearer. ChargeBearerType1Code from ISO20022 only mandatory for Crossborder

    remittanceInformationUnstructured stringnullablerequired

    Unstructured remittance information.

    remittanceInformationUnstructuredArray string[]nullablerequired

    Unstructured remittance information.

    remittanceInformationStructuredArray object[]nullable

    Array of structured remittance information.

  • Array [
  • reference stringnullablerequired
    referenceType ReferenceTyperequired

    Possible values: [SCOR, PSPS, ETER, PYMR, IIND, IMSG, PDTX, DPDT]

    referenceIssuer ReferenceType[]nullablerequired

    Possible values: [SCOR, PSPS, ETER, PYMR, IIND, IMSG, PDTX, DPDT]

  • ]
  • regulatoryReportingAmountCurrency object

    Base Model for amount.

    currency stringrequired

    Possible values: non-empty, Value must match regular expression [A-Z]{3}

    Currency Code.

    amount stringrequired

    Possible values: non-empty, Value must match regular expression -?[0-9]{1,14}(\.[0-9]{1,3})?

    The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.

    Example Valid representations for EUR with up to two decimals are:

    • 1056
    • 5768.2
    • -1.50
    • 5877.78

Responses

JSON request body for a payment inition request message.

There are the following payment-services supported:

  • "payments"

All optional, conditional and predefined but not yet used fields are defined.

Loading...