ob-p-a2a-pis-api
Single payment is a standard payment that should be executed by the payer's bank as soon as possible after payment authorisation.
Single payments are typically used in context of e-commerce or in-store payments but could also be used in context of incoming / outgoing invoice payments.
POST Single Payment API
The base URL is: /xs2a/routingservice/services/ob/pis/v3
Endpoint: POST /payments
You need to provide a few mandatory headers together with a few basic payment details. The full API reference can be found here.
- Body parameters that are marked as optional, could still be mandatory for certain ASPSP’s. Details on these optional parameters can be retrieved from the Reach API. For specific APIs parameters might be marked as Forbidden (in this case they must not be set for that ASPSP) or as Mandatory for the specific ASPSP.
- We support Instant and standard Sepa Credit transfers in addition to local payment schemes (e.g. in Poland). Please ensure that payer's bank support your preferred PaymentProduct as it was explained in Step 1 - payment preparation.
- You can specify you preferred payment authorisation flow in PreferredScaMethod parameter but it is not guaranteed that the bank will follow your preference.
- It is important to provide a unique (for you) value in the EndToEndId parameter. Often banks will provide this value in payer's or payee's bank statement provided in machine readable format, hence allowing automated reconciliation. In addition, we recommend providing some kind of unique identifier (not UUID) in the RemittanceInformation field as well. NOTE that the RemittanceInformation field is normally visible to the payer / payee and should explain the payment context in a user friendly manner.
- We support payments with flexible amount, meaning that the end user can update the payment amount within predefined range. You can use Amount Type parameter to control the settings.
- You may check the request examples and the datamodel of the request and response below.
To test your payment implementation please use our Sandbox Scenarios.
Examples
Example of a post payments request with a minimal set of fields which will work for most ASPSP's:
{
"PaymentProduct": [
"PSD2-SCT"
],
"PsuData": {
"AspspId": "20100"
},
"CommonPaymentData": {
"EndToEndId": "ID-7853389",
"InitiatingPartyReferenceId": "Ref-88276166",
"Amount": {
"Amount": "1.00",
"Currency": "EUR"
},
"DebtorInformation": {
"Name": "Juno Smith"
},
"RemittanceInformation": "Remittance Information"
}
}
Example of a payment request which includes additional information about the debtor:
{
"PaymentProduct": [
"PSD2-SCT"
],
"PsuData": {
"AspspId": "20100"
},
"CommonPaymentData": {
"EndToEndId": "ID-0123456789",
"InitiatingPartyReferenceId": "Ref-992098126",
"PreferredScaMethod": [
"Redirect"
],
"Amount": {
"Amount": "123.45",
"Currency": "EUR"
},
"DebtorInformation": {
"Name": "Bob Smith",
"Agent": "8QB2EN7P",
"Account": {
"SchemeName": "IBAN",
"Identification": "DE89370400440532013000",
"Currency": "EUR"
}
},
"RemittanceInformation": "Remittance Information"
}
}
Data model
Below is a representation of the API request and response structure.
Request (click to enlarge) | Response (click to enlarge) |
![]() | ![]() |