improved

Version 3.0.0

Changes related to version 3.0.0

Payment product

When initiating a payment, you must tell which kind of payment you want to do in the new field paymentProduct of payment initiation request.
The available payment products for a connector are found in the payment options /ob/pis/payments/options/{connectorId}.
The values for this new field are:

  • 0: Domestic;
  • 1: SEPA;
  • 2: CrossBorder.

This field is located at the root of the payment initiation request (partial):

{
  "recipient": {...},
  "debtor": {...},
  "psuUserAgent": "string",
  "paymentProduct": 0|1|2
}

Revamping Docker endpoints

We have revamped the Docker endpoints to improve the readability and to gather related things together.
Here are the matching list of old/new method and endpoints.
Changed methods are bold & italic

Open Banking

methodendpoint>methodendpointcomment
Get/Ais/banksGet/ob/banks
Post/Ais/gw/user/registerPost/ob/gw/users
Put/Ais/gw/user/{id}Put/ob/gw/users/{id}
Get/Ais/gw/user/{id}Get/ob/gw/users/{id}
Get/Ais/gw/tc/latestGet/ob/gw/tc/latest
Get/Ais/gw/tc/latest/{id}Get/ob/gw/users/{id}/tc/latest
Post/Ais/user/registerPost/ob/users
Get/Ais/access/option/{connectorId}Get/ob/ais/access/options/{connectorId}
Post/Ais/accessPost/ob/ais/access
Get/Ais/access/findFlowIdGet/ob/findFlowId
Post/Ais/access/finalizePut/ob/ais/access
Post/Ais/access/deleteAccountPut/ob/ais/accounts/delete
Post/Ais/access/deleteConsentPut/ob/ais/consents/delete
Post/Ais/accountsPost/ob/ais/accounts
Post/Ais/accounts/{accountId}/balancesPost/ob/ais/accounts/{accountId}/balances
Post/Ais/accounts/{accountId}/transactionsPost/ob/ais/accounts/{accountId}/transactions
Post/Ais/accounts/{accountId}/transactions/nextPost/ob/ais/accounts/{accountId}/transactions/next
Post/Ais/accounts/{accountId}/transactions/previousN/A
Get/Pis/payment/options/{connectorId}Get/ob/pis/payments/options/{connectorId}
Post/Pis/paymentPost/ob/pis/payments
Post/Pis/payment/finalizePut/ob/pis/payments
Post/Pis/payment/statusPost/ob/pis/payments/status

Premium: Bank of America

methodendpoint>methodendpointcomment
Post/BankOfAmerica/user/registerPost/pb/BankOfAmerica/users
Post/BankOfAmerica/ais/accounts/{accountNumber}/balancesPost/pb/BankOfAmerica/ais/accounts/{accountId}/balances
Post/BankOfAmerica/ais/accounts/{accountNumber}/transactionsPost/pb/BankOfAmerica/ais/accounts/{accountId}/transactions

Premium: Citi Institutional

methodendpoint>methodendpointcomment
Post/CitiInstitutional/user/registerPost/pb/CitiInstitutional/users
Post/CitiInstitutional/ais/accounts/{accountId}/balancesPost/pb/CitiInstitutional/ais/accounts/{accountId}/balances

Premium: DeutscheBank

methodendpoint>methodendpointcomment
Post/DeutscheBank/user/registerPost/pb/DeutscheBank/users
Get/DeutscheBank/ais/access/optionGet/pb/DeutscheBank/ais/access/options
Post/DeutscheBank/ais/accessPost/pb/DeutscheBank/ais/access
Post/DeutscheBank/ais/access/finalizePut/pb/DeutscheBank/ais/access
Post/DeutscheBank/ais/access/deleteAccountPut/pb/DeutscheBank/ais/accounts/delete
Post/DeutscheBank/ais/access/deleteConsentPut/pb/DeutscheBank/ais/consents/delete
Post/DeutscheBank/ais/accountsPost/pb/DeutscheBank/ais/accounts
Post/DeutscheBank/ais/accounts/{accountId}/balancesPost/pb/DeutscheBank/ais/accounts/{accountId}/balances
Post/DeutscheBank/ais/accounts/{accountId}/transactionsPost/pb/DeutscheBank/ais/accounts/{accountId}/transactions
Post/DeutscheBank/ais/accounts/{accountId}/transactions/nextPost/pb/DeutscheBank/ais/accounts/{accountId}/transactions/next
Post/DeutscheBank/ais/accounts/{accountId}/transactions/previousN/A
Get/DeutscheBank/pis/payment/optionsGet/pb/DeutscheBank/pis/payments/options
Post/DeutscheBank/pis/paymentPost/pb/DeutscheBank/pis/payments
Post/DeutscheBank/pis/payment/finalizePut/pb/DeutscheBank/pis/payments
Post/DeutscheBank/pis/payment/statusPost/pb/DeutscheBank/pis/payments/status

Premium: JP Morgan

methodendpoint>methodendpointcomment
Post/JpMorgan/user/registerPost/pb/JpMorgan/users
Post/JpMorgan/ais/accounts/{accountId}/balancesPost/pb/JpMorgan/ais/accounts/{accountId}/balances
Post/JpMorgan/ais/accounts/{accountId}/transactionsPost/pb/JpMorgan/ais/accounts/{accountId}/transactions

Moved AdditionalPropertiesRequested List in payment options

This list of properties that must/may be given to the payment request is now in the context of the payment products (sepaCreditTransfers, instantSepaCreditTransfers, domesticCreditTransfers...).
The structure remains the same.
In the previous version, it was located at the root of the options. For upwards compatibility, the field is still there but it is obsolete.

Partial old structure:

{
  "sepaCreditTransfers":{...}
  "additionalPropertiesRequested": [
    {
      "name": "userId",
      "title": "User ID",
      "required": false,
      "description": "Swedish social security number in the format YYYYMMDDXXXX",
      "template": "^(19|20)\\d{2}[01]\\d[0-3]\\d\\d{4}$"
    }
  ]
}

The new location is sepaCreditTransfers.additionalPropertiesRequested.
Partial:

{
  "sepaCreditTransfers": {
    "paymentInitiationRequestOptions": {...}
    "additionalPropertiesRequested": [
      {
        "name": "userId",
        "title": "User ID",
        "required": false,
        "description": "Swedish social security number in the format YYYYMMDDXXXX",
        "template": "^(19|20)\\d{2}[01]\\d[0-3]\\d\\d{4}$"
      }
    ]
  }
}

Removed DebtorIban field in payment options.

The field DebtorIban located at options structure root is removed in favor of accountIdentification for each payment products (sepaCreditTransfers, instantSepaCreditTransfers, domesticCreditTransfers...).
Example path for SEPA options: sepaCreditTransfers.paymentInitiationRequestOptions.debtor.accountIdentification
Values are

  • 0: Required
  • 1: Optional
  • 2: Unused
    Here is a partial structure of options:
{
  "sepaCreditTransfers": {
     "paymentInitiationRequestOptions": {
       "debtor": {
         "accountIdentification": 0
       }
     }
  }
}