general

Overview

Payment Initiation API endpoints are available only for service authentication.

Payment Initiation API aims to make payment providers as simple as a cURL.

Payment Initiation API is available for authorized Payment Initiation Service Providers under PSD2 in the EU and Open Banking in the UK.

Integrations

The Salt Edge platform is incredibly easy to integrate with. We’ve built the Salt Edge Connect interface so your application could start executing payments.

Formats

We use JSON for all the requests and responses, including the errors.

Glossary

Most of the API revolves around several important concepts:

  • Customer - an end-user of the client who is consuming Payment Initiation API;
  • Provider - a bank or an online payment system;
  • Payment - a payment that was made using Payment Initiation API.

Quick Start

Before we proceed, make sure you have a Client account or you should create one on the Sign Up page.

Any request to Account information API is authenticated, so before we are able to fetch any data, we need to create API keys. To do that, visit https://www.saltedge.com/clients/applications first and choose API Keys for the needed application.

Now a new Service API key can be created. You can leave the “Public key” field blank.

Providers that support payments require a provider key in order to be used. To create one, visit Provider Keys.

Note: Only providers that have available payment templates support payments execution.

Each request to API is authenticated with an App-id, and a Secret. Let’s store them as environment variables so that all the later requests are authenticated.

$ export APP_ID=YOUR_APP_ID

$ export SECRET=YOUR_APP_SECRET

Create customer

Before we can create any payments, we need to create a Customer. A Customer in Payment Initiation API is the end-user of your application.

We need to save the Customer id (in this case “222222222222222222”), because we will use it later to create payments.

See customers reference for Customer related API endpoints.

URL

https://www.saltedge.com/api/payments/v1/customers

https://www.saltedge.com/api/payments/v1/customers

Method

POST

Sample Request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"identifier\": \"test1\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/customers
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"identifier\": \"test1\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/customers

Sample Response

{
  "data": {
    "id":         "222222222222222222",
    "identifier": "test1",
    "secret":     "SECRET"
  }
}
$ export CUSTOMER_ID=222222222222222222

Choose provider

Firstly, we need to choose a provider that supports payments and has client provider keys. We need to execute a request.

The response will be a list of providers that support payments.

Each payment provider can support multiple ways of initiating a payment. Each of this method is called a payment template.

For instance, we can see from the response that provider fake_client_xf supports payment templates SEPA, FPS, and SWIFT.

URL

https://www.saltedge.com/api/payments/v1/providers

https://www.saltedge.com/api/payments/v1/providers

Method

GET

Sample Request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers

Sample Response

{
  "data": [
    {
      "id": "3100",
      "code": "fake_client_xf",
      "name": "Fake Bank with Client Keys",
      "mode": "api",
      "status": "active",
      "interactive": true,
      "instruction": "Valid credentials for this provider are:\nlogin - any string which starts with \"username\",\npassword - \"secret\"\n",
      "home_url": "https://example.com",
      "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
      "logo_url": "https://test.cloudfront.net/logos/providers/xf/fake_client_xf.svg",
      "country_code": "XF",
      "created_at": "2018-07-02T11:53:11Z",
      "updated_at": "2018-07-02T11:53:11Z",
      "identification_mode": "client"
      "payment_templates": [
         "SEPA",
         "FPS",
         "SWIFT"
      ]
    },
    ...
  ],
  "meta": {
    "next_id": null,
    "next_page": null
  }
}

Choose payment template

Since in previous steps we only added client keys for provider fake_client_xf, we can only execute payments using payment templates supported by this provider - SEPA, FPS, and SWIFT.

For the purposes of this guide, let’s stick with SEPA. We need to save the payment template identifier (in this case SEPA), because we will use it later.

$ export PAYMENT_TEMPLATE=SEPA

To get the payment templates fields, we need to execute the following request.

The response will be a payment template object with payment fields.

From the response, we can see that payment template SEPA requires the following fields (none of them have optional flag set to true, thus all are mandatory):

  • end_to_end_id
  • customer_last_logged_at
  • customer_ip_address
  • creditor_name
  • creditor_country_code
  • currency_code
  • amount
  • description
  • creditor_iban

The data type for each of these fields is represented by the nature field.

Please note, that within the same payment template the set of required and optional payment fields for one provider can vary from the set for other providers.

For example, the below providers have the following required_payment_fields for SEPA template:

1) Erste Bank and Sparkassen (erste_bank_sparkassen_oauth_client_at)

  • debtor_iban
  • creditor_iban
  • amount
  • currency_code
  • description

2) N26 (token.io) (n26_oauth_client_de)

  • debtor_iban
  • creditor_iban
  • creditor_name
  • amount
  • currency_code
  • description

3) Intesa Sanpaolo (intesa_sanpaolo_oauth_client_it)

  • debtor_iban
  • creditor_iban
  • creditor_name
  • amount
  • currency_code
  • description
  • creditor_country_code

Note: According to the SEPA template, the following fields are supposed to be optional debtor_iban, creditor_name and creditor_country_code. However, they became required for those specific implementations from the above.


Thus, we recommend inspecting the provider to see its specific set of required_payment_fields and make sure to pass them during the payment creation.

URL

https://www.saltedge.com/api/payments/v1/templates/{payment_template}

https://www.saltedge.com/api/payments/v1/templates/{payment_template}

Method

GET

Sample Request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates/$PAYMENT_TEMPLATE
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates/$PAYMENT_TEMPLATE

Sample Response

{
  "data": {
    "id": "29",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2018-11-27T17:07:23Z",
    "updated_at": "2019-10-30T12:03:00Z",
    "payment_fields": [
      {
        "id": "234",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "235",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "236",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "238",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "219",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "222",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "207",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "213",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "221",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "224",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "216",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "212",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "218",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "223",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "225",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "226",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "227",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "228",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "229",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "230",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "231",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "232",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "208",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "209",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "211",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "233",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-21T16:27:16Z"
      },
      {
        "id": "205",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-21T16:59:14Z"
      },
      {
        "id": "239",
        "payment_template_id": "29",
        "name": "reference",
        "english_name": "Payment Reference",
        "localized_name": "Payment Reference",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-21T16:59:14Z"
      },
      {
        "id": "214",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "215",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "217",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "220",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "237",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "210",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      },
      {
        "id": "206",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2018-11-27T17:07:23Z",
        "updated_at": "2019-01-15T14:49:17Z"
      }
    ]
  }
}

Initiate payment

To initiate a payment in Salt Edge Connect, we need to execute a request to create a payment.

The response will contain the connect_url. This is the URL we will visit to authorize the user and initiate the payment.

URL

https://www.saltedge.com/api/payments/v1/payments/connect

https://www.saltedge.com/api/payments/v1/payments/connect

Method

POST

Sample Request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"show_consent_confirmation\": true, \
                \"template_identifier\": \"SEPA\", \
                \"return_to\": \"http://example.com/\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"customer_last_logged_at\": \"2020-06-06T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"creditor_town\": \"London\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"EUR\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/connect
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"show_consent_confirmation\": true, \
                \"template_identifier\": \"SEPA\", \
                \"return_to\": \"http://example.com/\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"customer_last_logged_at\": \"2020-06-06T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"creditor_town\": \"London\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"EUR\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/connect

Sample Response

{
  "data": {
    "token": "GENERATED_TOKEN",
    "expires_at": "2020-07-03T07:23:58Z",
    "connect_url": "https://www.saltedge.com/payments/connect?token=GENERATED_TOKEN"
  }
}

Visit Payment Widget URL

Visit the connect_url from the previous API response. You will be presented with a form for user credentials input. Put “fake” in search and choose a Fake Bank:

Input username and secret as per the on-screen instructions and press Proceed.

After that, you will see the consent window.

After confirming, it will start to initiate the payment.

In case the provider has interactive fields, a form will be presented for filling these fields.

After that, we will have to wait for the payment process to finish.

Try in Postman

Step 1

Install Postman. You can get it on https://www.getpostman.com/apps.

Step 2

Import the postman collection, click the below button to do that.

Run in Postman

Step 3

Payment Initiation API requires APP_ID and SECRET headers in order to authenticate its clients. If you don’t have an API key created yet, you can you use our quick start guide to help you create one. Once you have the API key created, you can add its secrets to postman.

Click on the eye on the top right corner and press on “Add” next to “Environments”.

Define variables APP_ID and SECRET with values from the key that you generated on Keys and Secrets page, then add the environment.

Once added, you can select it in the top right corner, and all the requests to Payment Initiation API will be authenticated using your API key.

Try in Swagger

Step 1

Import Swagger JSON, click the button below to do that.

Download Swagger JSON

eIDAS Certificates

Open Banking Gateway supports only soft issued eIDAS certificates and Open Banking UK certificates.

For the purpose of identification, ASPSPs (Account Servicing Payment Service Providers) and TPPs (Third Party Providers) shall rely on using eIDAS (electronic Identification, Authentication and trust Services) Certificates for electronic seal and/or for website authentication. Identifying themselves is mandatory for all TPPs that wish to get access to ASPSP’s sandbox, live API, and/or to non-dedicated channel.

eIDAS Certificates are provided by Qualified Trust Service Providers (QTSPs) who are responsible for assuring the electronic identification of signatories and services by using strong mechanisms for authentication, digital certificates, and electronic signatures.

There are two types of eIDAS Certificates:

  • Qualified Website Authentication Certificates (QWAC) - identification at the transport layer. QWAC is similar to SSL/TLS with Extended Validation used in Internet for the same purpose. It is used for website authentication, so that ASPSPs and Third Party Providers (TPPs) can be certain of each other’s identity, securing the transport layer. TPP should present its QWAC client certificate towards an ASPSP. The ASPSP can choose between using the ASPSP QWAC server certificate or just an existing SSL/TLS certificate to receive the TPP’s identification request.

  • Qualified Certificate for Electronic Seals (QSEAL) - identification at the application layer. It is used for identity verification, so that transaction information is protected from potential attacks during or after a communication. This means that the person receiving digitally signed data can be sure who signed the data and that it hasn’t been changed.

To create an eIDAS certificate in the Salt Edge system, you should accomplish the following steps:

a. Go to the Client Dashboard.

b. Go to Settings > eIDAS Certificates

c. Choose the certificate type you want to create (QWAC or QSEAL) and press Generate CSR.

d. Send the CSR to the QTSP (you can get test certificate, or buy production certificate)

e. Get a signed certificate from the QTSP

f. Go to Settings > eIDAS Certificates and press edit on previously created record.

g. Insert the received certificate in PEM format into the form and press update.

h. Choose a certificate that you want to use for identification, press edit and mark it as active.

Client Provider Keys

Open Banking Gateway now supports Account Information and Payment Initiation Services channels, which can be used with PSD2 and Open Banking compliant APIs. The connection to such a provider is possible only if you create a Provider Key (set of credentials) for it. In this case, the API keys for Providers are provided and controlled by you. The number of keys is restricted to 1 per provider. After you create the key, the provider will be accessible as an usual provider.

Salt Edge now supports eIDAS Certificates. Learn more.

Integration

To integrate your App’s individual keys with a Financial Provider (ASPSP in PSD2 terms), follow these steps:

  • Visit Provider Keys page of your Client Dashboard, select a provider you want add your client keys for, read the instructions and complete the form. You can see all the available providers by going to the New tab on the same page;

  • Proceed by visiting the Connect page and search the provider you just created the key for. It will have a small subscript below the provider name stating that this provider is accessed via YOUR_CLIENT_NAME;

  • The rest of the process is exactly the same as with usual providers.

Direct API - Salt Edge Connect

In case of using Direct API instead of Salt Edge Connect, it should be ensured that the code handles the new payments’s field nature - dynamic_select, with its options dynamically generated and sent in an Interactive callback.

Testing

For the purpose of testing individual keys Salt Edge has developed the following list of Fake providers:

  • fake_client_xf - requires a username and password (embedded);

Sample key:

client_id: "fake_client_id",
client_secret: "fake_client_secret"
  • fake_oauth_client_xf - asks for authorization (OAuth redirect);

Sample key:

client_id: "fake_client_id",
client_secret: "fake_client_secret"
  • fake_interactive_client_xf - asks to enter a fake captcha code in addition to a username and a password (embedded).

Sample key:

client_id: "fake_client_id",
client_secret: "fake_client_secret"
  • fake_interactive_decoupled_client_xf - decoupled interactive flow (e.g. push notification), asks to wait 10 seconds in Connect widget and then click Proceed to continue in addition to a username and a password (embedded).

Sample key:

client_id: "fake_client_id",
client_secret: "fake_client_secret"

Dynamic Registration

Many banks provide the possibility to dynamically onboard in their API. In this context, Salt Edge has a self-service instrument called Dynamic Registration that helps its clients to register quicker with the desired banks’ PSD2 and Open Banking channels.

This type of registration can eliminate manual processes including the need to manually create an account in the bank’s developer portal, fill in of data forms, and lengthy emails exchange with the bank.

To find out if a bank has a dynamic registration on Salt Edge’s side, please follow these steps:

a. Sign in to Client Dashboard.

b. Go to Settings >Dynamic registration.

c. Сlick on New registration and input the desired bank/group name, then complete the form.

e. As a result, you will get a message with the status of Dynamic Registration.

f. On your Provider Keys page all the providers related to that Dynamic Registration will now appear. You will also notice that they’re categorized as Dynamic registration type.

Types of Dynamic registration

Salt Edge supports the following types of dynamic registration:

Dynamic registration that executes an API request

This is the base dynamic registration aimed at consuming the registration API implemented by the bank. Currently, this dynamic registration is separated into three subtypes:

  • A registration endpoint that will create a new client and/or application on the bank’s side;
  • An API endpoint that will update the eIDAS certificates associated with an already registered TPP;
  • A validation endpoint that only verifies the validity of the eIDAS certificate.

Dynamic registration that doesn’t execute an API request

This type of dynamic registration does not contain any request to the bank, and its purpose is solely to help Salt Edge’s clients to add multiple client provider keys at once without the need to do it manually.

For example, the dynamic registration CBI Globe will add the client provider keys to 300+ providers, which means Salt Edge’s clients won’t need to do it manually for every provider separately.

Instruction

Every dynamic registration template contains an instruction which provides more details about its purpose and what additional steps must be done.

Dynamic registration result

Any dynamic registration attempt will result in one of the following:

Successful registration

A pop-up window with a confirmation message will be displayed. The client should save the displayed result for future reference and use.

The Client Provider Keys will be automatically added to all the associated providers.

Note: Sometimes the clients are required to perform additional steps after a successful registration. All additional information will be displayed in the pop-up window or in the initial instruction.

Failed registration

A pop-up window with the error’s details will be displayed.

If the error was raised by the bank and Salt Edge didn’t handle this error yet, the pop-up window will contain also the Date of the request and the response Salt Edge received from the bank.

Depending on the nature of the error, Salt Edge’s clients will have to:

  • Adjust some of the information they input in the required dynamic registration fields;
  • Address the issue with their Salt Edge representative;
  • Contact the bank directly to report the problem.

Most common dynamic registration errors

Validation of the certificates failed

Possible error messages:

  • Validation of QWAC failed
  • Validation of QSealC failed
  • Check on EBA register failed

The bank didn’t accept the TPP’s eIDAS certificates or EBA register check has failed. Hence, the TPP should contact and ask the bank to add their certificate in the bank’s trust store. If this is not the case, the bank will investigate additionally why the certificates were not accepted.

TPP already registered

Possible error messages:

  • TPP Application was already registered
  • Organization already exists

The TPP is already registered in the bank’s system, either using manual process or via Salt Edge. Hence, the TPP should contact the bank and clarify how to solve the encountered problem. The solution can differ depending on the bank.

Before going LIVE

In order to upgrade your Client account status to LIVE mode, the following steps should be followed:

  • Be sure to provide the signature in accordance with the instructions.
  • Your application should handle correctly a few fake banks (fake_oauth_client_xf, fake_client_xf are mandatory).
  • The Two-factor authentication must be enabled for your account and all your teammates;
  • Be sure to indicate Incident reporting Email in the dashboard settings on the Company page.
  • Perform at least one successful payment initiation test with each provider from your key market.

After your Account Manager at Salt Edge has reviewed the app’s integration with Payment Initiation API and made sure that payment initiation tests were successfully performed, the account’s status will be upgraded to live.

Salt Edge Connect

The most simple and easy way to execute payments in Payment Initiation API is to use Salt Edge Connect.

Salt Edge Connect is a web page that handles all the user interaction during a payment initiation process:

  • user credentials input
  • interactive confirmation
  • progress reporting
  • error reporting

After your application has received an URL for executing a payment using Salt Edge Connect, you can redirect your end-user to it. There, they will see a screen that lets them pick a provider to execute a payment.

Your user will also be asked to input credentials and, if needed, any of the interactive credentials. After the process is done, the user will be redirected back to your application URL, or to the URL specified as return_to argument to create payment endpoint.

You can easily test Connect from your Dashboard page by pressing New Payment button or by using the create payment route.

Embed connect in your app

At the moment, the only way to embed Salt Edge Connect in your application is to open it in a pop-up. When opening it in a pop-up using window.open, it will post notifications during the payment process. To enable these notifications when you request an URL for executing payments, you can pass an optional argument javascript_callback_type with the value post_message.

This tells Salt Edge Connect to use postMessage for sending messages to a parent window. You can then subscribe to those messages by calling window.addEventListener("message", callback) in the parent window.

Sample Request

  window.addEventListener("message", function(event) {
      console.log(JSON.parse(event.data))
    }
  )

Sample Response

  {
    data: {
      payment_id:    "131313131313131313",
      custom_fields: {},
      stage:         "start",
      status:        "processing"
    }
  }

Callbacks

The most important parts of Payment Initiation API (e.g. Payment initiation) are asynchronous.

Every Web application has to provide a set of valid URLs which will be used to notify about the payment progress. Other applications can poll Payment Initiation API in order to retrieve the current payment status.

There are several common points about the request we send to the callback URLs provided by the client:

  • The Content-Type header is application/json;
  • There is a Signature header that identifies the request was signed by Payment Initiation API;
  • The request method is always POST;
  • The JSON object sent will always have a data field;
  • The meta field will display the version of the callbacks API.

You can set the callback URLs for your application by accessing your Payment Initiation tab on the callbacks page.

Due to security reasons, the callbacks can be sent to ports 80/HTTP (in test and pending modes) and 443/HTTPS (in test, pending and live modes) only!
Also, the callbacks do not follow redirects.

Signature

In order for the client to identify that the request is coming from Payment Initiation API, there is a Signature header in the request.

Signature - base64 encoded SHA256 signature of the string represented in the form callback_url|post_body - 2 parameters concatenated with a vertical bar |, signed with a Payment Initiation API’s private key. You can find the version of the signature key used to sign the callback in the Signature-key-version header. The current version is 4.0 which corresponds to the following public key:

  -----BEGIN PUBLIC KEY-----
  MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzi1XL1b0XwUYVHj7/AR6
  Hr0YN34wH/bDOIub0nwt0s/s3tD+DPxNB85xpMEZrLikPW5PAKkQ/oC3OyPYxKOb
  8TNhzGmQhEfyCkbdRwxNZqRMRwuOc+N4sdBtQKPN8+XF3RIcRZAk25JGROtb1M2o
  d/Nb9QqdQwMjdk6W+Vdq5Sj25Tj2efJc8zmBJkNXR4WtW45p4XSdjSEjuVCSZjOy
  +N8/Od8MGixC99jYbiKm3RrVDJCgDi4YYnNRI0QgxZRpJKbQX/WeZiYOrbctG3m8
  l1/Hpkv3w1QHz/YFIshCOKwUL+xg1hLMaW4IH7XFHenE+JlUKdCqhcWyi7oIDkyr
  7wIDAQAB
  -----END PUBLIC KEY-----

An example of the string that is to be used to generate the signature looks as follows:

https://www.client.com/api/payments/callbacks/success|{"data":{"payment_id":"131313131313131313","customer_id":"222222222222222222","custom_fields":{},"status": "processing"},"meta":{"version":"1","time":"2021-01-03T13:00:28Z"}}

The pseudocode that we use to generate the signature looks like this:

base64(sha256_signature(private_key, "callback_url|post_body"))

Success

We send a callback to your application’s success URL whenever an operation has caused a change in the data we store for a particular payment.

For instance, after you’ve redirected your users to the Connect page and they have selected a provider, gave consent and pressed Proceed, we’ll send you a success callback. This callback will contain the customer identifier, the id of the newly created payment and its status. Afterwards, your application will be able to use the show payment route and query the information about this payment.

Whenever there is more information about the payment, we will send another success callback.

A success callback marks a change in the data and you can generally expect from one to three success callbacks with the same payload within several minutes. We recommend that your application fetch the full payment data at each callback, as some information might change during the fetching process.

For instance, when your user has initiated a payment using Salt Edge Connect, we will send the following success callback:

{
  "data": {
    "payment_id": "131313131313131313",
    "customer_id": "222222222222222222",
    "custom_fields": { "key": "value" },
    "status": "processing"
  },
  "meta": {
    "version": "1",
    "time": "2024-03-28T13:29:09.628Z"
  }
}

You can now use the show payment route and obtain the provider and some other attributes of the new payment.

Failure

Sometimes, a payment might fail to go through. This might happen because for some reason it could not be performed.
In this case, you will receive a fail callback, containing a JSON similar to the following:

{
  "data": {
    "payment_id": "131313131313131313",
    "customer_id": "222222222222222222",
    "custom_fields": { "key": "value" },
    "status": "rejected",
    "error_class": "PaymentFailed",
    "error_message": "Payment cancelled"
  },
  "meta": {
    "version": "1",
    "time": "2024-03-28T13:29:09.636Z"
  }
}

After you get this callback, you need to request the payment to check for its updates. Please note that even if there’s an error, the payment_id will still be stored.

Notify

After a new payment was created in the payment initialization process, Salt Edge can inform you about the payment’s progress via a notify callback.

Your app can expect the notify callback several times, but you can use this information to inform your end-user about the payment’s progress.

The possible stages sent in a notify callback are described here.

Here’s an example callback sent to the /notify route of your app:

{
  "data": {
    "payment_id": "131313131313131313",
    "customer_id": "222222222222222222",
    "custom_fields": { "key": "value" },
    "stage": "submission",
    "stage_id": "242424242424242424",
    "status": "processing"
  },
  "meta": {
    "version": "1",
    "time": "2024-03-27T13:29:09Z"
  }
}

For some of the payments you might not receive all the stages.

Interactive

Some of the providers require an additional step in the payment initialization process, asking users to input an SMS, Token, solve a CAPTCHA, etc.

Whenever we encounter that the payment initialization process requires an interactive step, we will send the interactive callback to the interactive route set in your app’s profile. Your app should prompt the users for the interactive credentials and send them to the confirm route.

We also send a snippet of HTML so that it would be easier for your app to display the CAPTCHA or image to the user. If the provider requires filling a CAPTCHA, the img tag in the HTML will contain the image URL.

During this process, the payment’s stage will be set to interactive.

The interactive callback should contain the values of the interactive_credentials field from the corresponding provider.

Here’s an example callback sent to your app’s /confirm route:

{
  "data": {
    "payment_id": "131313131313131313",
    "customer_id": "222222222222222222",
    "status": "processing",
    "html": "<div id='interactive'><img src='https://docs.saltedge.com/images/saltedge_captcha.png' width='10' height='10' alt='some description' title='some description'></div>",
    "stage": "interactive",
    "stage_id": "242424242424242424",
    "session_expires_at": "2024-03-27T14:29:09Z",
    "interactive_fields_names": ["image"],
    "custom_fields": { "key": "value" }
  },
  "meta": {
    "version": "4",
    "time": "2024-03-27T13:29:09Z"
  }
}

Interactive Redirect

Some OAuth providers require 2 redirects for payment authorization. In these cases, for the 2nd redirect Salt Edge will send an interactive callback with redirect_url field:

{
  "data": {
    "payment_id": "131313131313131313",
    "customer_id": "222222222222222222",
    "status": "processing",
    "html": "",
    "redirect_url": "https://bank.com/authorize"
    "stage": "interactive",
    "stage_id": "242424242424242424",
    "session_expires_at": "2024-03-27T14:29:09Z",
    "interactive_fields_names": [],
    "custom_fields": { "key": "value" }
  },
  "meta": {
    "version": "4",
    "time": "2024-03-27T13:29:09Z"
  }
}

In these cases, your application should redirect the user to redirect_url field value of the interactive callback payload. Once the end-users are authorized on the provider’s side, they will be redirected to the return_to URL indicated in the initiate payment request, with a bunch of parameters appended to it by the provider that are needed for authorizing the payment. Those parameters need to be sent to the payments confirm route as query_string field.

Errors

The Payment Initiation API can return multiple errors for any operation, each having its meaning and usage.

Attributes

error_class

string

The class of the error.

error_message

string

A message describing the error.

request

object

The body of the request that caused the error.

error_class

string

The class of the error.

error_message

string

A message describing the error.

request

object

The body of the request that caused the error.

Payment status

  • failed - the payment failed due to an error on the bank’s side.
  • unknown - the payment didn’t reach the end status on the bank’s side. The status can be unknown until we get an updated status from the bank (either rejected or accepted).
  • rejected - the payment was rejected either by the user or by the bank. It can be rejected explicitly or due to different errors on the bank’s side.
  • no payment object created - an error happened before the payment was created.

Error codes

[400] Bad Request
[404] Not Found
[406] Not Acceptable
[409] Duplicated

Sample response

{
  "error_class": "PaymentNotFound",
  "error_message": "Payment with id: '131313131313131313' was not found.",
  "request": {
    "id": "131313131313131313"
  }
}

Bank integration layer

  • Errors could take place either between Salt Edge and the bank, or on the bank’s end.
  • Some of the errors are displayed to the end-users, while others are hidden.
  • There are multiple reasons which cause the errors, for example, bank issues, incorrect user actions, invalid PSD2 access, etc.
  • ProviderError and ExecutionTimeout errors should be reported to Salt Edge.
  • The rest of the errors from the below table are caused by incorrect actions of end-users.
Error classHTTP codeDescriptionPayment status
ExecutionTimeout406

It took too long to execute the payment

unknown
InteractiveAdapterTimeout406

The customer hasn’t completed the interactive step of the payment in time

rejected
InvalidCredentials406

The customer tried to initiate a payment with invalid credentials

rejected
InvalidInteractiveCredentials406

The interactive credentials that were sent are wrong

rejected
PaymentFailed406

Failed to create the payment for some reason

rejected
PaymentStatusUnknown200

Payment status has not yet changed on the bank side. The status can be unknown until we get an updated status from the bank (either rejected or accepted)

unknown
PaymentValidationError406

Failed to validate the payment for some reason

failed
ProviderError406

There’s an error on the provider’s side which obstructs us from initiating the payment

failed

Payments API Reference

  • Errors can occur if the client configures API requests incorrectly.
  • These errors are not displayed to end-users.
Error classHTTP codeDescriptionPayment status
ActionNotSupported406

At least one of the current eIDAS or Open Banking certificates does not have the PSP_PI role

no payment object created
CertificateNotFound400

The current client does not have QWAC and QSEAL, or Open Banking certificates

no payment object created
CustomFieldsFormatInvalid406

The custom_fields field is not an object

no payment object created
CustomFieldsSizeTooBig406

The custom_fields object has more than 1 KB

no payment object created
CustomerLocked406

The customer is locked. It can be unlocked

no payment object created
CustomerNotFound404

A customer with such a customer_id does not exist

no payment object created
DateFormatInvalid400

We have received an invalid Date format

no payment object created
DateOutOfRange400

Sending a date value that does not fit in admissible range

no payment object created
DuplicatedCustomer409

The customer you are trying to create already exists

no payment object created
IdentifierInvalid406

An invalid identifier sent for creating a new customer

no payment object created
InvalidPaymentAttributes406

Some of the passed payment attributes are invalid

no payment object created
PaymentAlreadyAuthorized406

Request for authorizing the current payment has been already processed

does not change status
PaymentAlreadyFinished406

The payment is already executed

does not change status
PaymentAlreadyStarted406

The payment is in progress

does not change status
PaymentInitiationTimeout406

The payment execution expired

unknown, will be overridden by ExecutionTimeout error
PaymentNotFinished406

The payment has not finished yet

processing
PaymentNotFound404

A payment with such attributes cannot be found

no payment object to check status
PaymentTemplateNotFound404

The payment template does not exist

no payment object created
PaymentTemplateNotSupported406

The chosen provider does not support the desired payment template

no payment object created
ProviderDisabled406

The accessed provider is disabled

no payment object created
ProviderInactive406

The accessed provider is temporarily inactive due to maintenance, or other temporary issue on the provider’s side

no payment object created
ProviderNotFound404

Sending a provider_code that is not present in our system

no payment object created
ProviderUnavailable406

Unable to contact the provider in order to generate an authorize_url

no payment object created
ReturnURLInvalid406

Either return_to was not specified or an invalid one was passed

no payment object created
ReturnURLTooLong406

The return_to URL exceeds 2040 characters

no payment object created
ValueOutOfRange400

Sending a value (e.g. id) which exceeds integer limit

no payment object created
WrongProviderMode406

The requested provider’s mode is neither oauth nor api

no payment object created
WrongRequestFormat400

The JSON request is incorrectly formed

no payment object created

Client Configuration

  • Errors can happen if the client’s account isn’t configured properly.
  • They will not affect payments as none of these errors will allow initiating a payment.
  • These errors should be reported to Salt Edge.
Error classHTTP codeDescriptionPayment status
ApiKeyNotFound400

The API key with the provided App-id and Secret does not exist or is inactive

no payment object created
AppIdNotProvided400

The App-id was not provided in the request’s headers

no payment object created
ClientDisabled406

The client’s account has been disabled

no payment object created
ClientNotFound404

The API key used in the request does not belong to an existing client

no payment object created
ClientPending406

The client’s account is in pending state

no payment object created
ClientRestricted406

The client’s account is in restricted state

no payment object created
ConnectionFailed406

Some network errors appear while fetching data

network issue, depends on the stage/status
ConnectionLostN/A

Internet connection was lost in the process

no payment object created
ExpiresAtInvalid400

The Expires-at header is invalid, or is set to more than 1 hour from now in UTC

no payment object created
InternalServerError500

An internal error has occured

no payment object created
InvalidEncoding400

Invalid JSON encoded values

no payment object created
JsonParseError400

It was passed some other request format instead of JSON, or the body could not be parsed

no payment object created
MissingExpiresAt400

The expires-at field is missing in the headers

no payment object created
MissingSignature400

The Signature field is missing in the headers

no payment object created
PaymentLimitReached406

The client exceeded the number of payments allowed in Test or Pending status

no payment object created
ProviderKeyNotFound404

The chosen provider does not have provider keys

no payment object created
PublicKeyNotProvided400

The public key was not specified on Keys & secrets page

no payment object created
RateLimitExceeded406

Too many payments are being processed at the same time from one application (the same client account)

no payment object created
RequestExpired400

The request has expired, took longer than mentioned in the expires-at header

no payment object created
SecretNotProvided400

The Secret was not provided in request headers

no payment object created
SignatureNotMatch400

The Signature header does not match with the correct one

no payment object created
TooManyRequests400

Excessive number of requests have occured for initiating payments from one IP address in a small period of time

rate limit, depends on the stage/status

FAQ

Can you set up scheduled payments for varied or fixed amounts?

Scheduled Payments support only fixed amounts under existing Payment Initiation API.

Do I need a PIS licence to initiate payments?

Yes, Salt Edge Clients should be authorized PISP in the UK and/or EU with a valid set of eIDAS (Open Banking UK) certificates.

Can I issue cross border payments?

Yes, depending on the ASPSP (Provider) API payment product availability.

Can a merchant be added as a trusted beneficiary?

Beneficiary APIs are currently available as premium APIs, with only a small number of banks supporting such functionality. Salt Edge plans to add support for Beneficiary APIs in the future.

Which banks can I use to make payments from a Business Account?

Providers with an supported_account_types array that includes business accounts.

How long will payments take to settle?

This strongly depends on the Payment Product, payment scheme and the ASPSP’s (Provider) internal process.

How can I reconcile a payment?

Using end_to_end_id and/or reference that you can receive via AISP APIs on the creditor account.

Do I need to onboard with each bank?

It depends on the ASPSP’s (provider’s) API. If it allows Dynamic Registration and onboarding using eIDAS or Open Banking UK certificates, Salt Edge provides a Dynamic Registration option in the Client Dashboard.

Otherwise, you will need to register and onboard with each ASPSP (Provider) manually and upload the required information to the Provider keys section of the Client Dashboard. For more information, please refer to the Client Provider Keys section.

How do I register several applications?

By Signing Up multiple Client Accounts. We are looking to provide Application Management from the Client Dashboard during 2021.

How and when do I get a payment_id?

When creating a Payment Order, you need to populate Payment attributes which include a mandatory field as the end_to_end_id, which will be sent to the ASPSP Payment Initiation endpoints. Once the Payment Order is accepted by the Debtor ASPSP for execution, the same end_to_end_id will be sent to the Creditor ASPSP as a part of remittance information. Each Payment Order is also associated with a Salt Edge payment_id to allow listing payments with all associated payment attributes.

Do I have to send the provider_code for each payment request?

Payment Initiation API is not linked to existing connected banks of the Customer. You need to provide the provider_code if you are trying to execute a payment from a Bank or connection known by the Customer.

What is the difference between optional and required payment fields?

Required fields are mandatory for a payment to be initiated, while optional fields are supported by the provider for additional information. If optional fields are passed, however, they not even present in the optional_payment_fields, they will be logged on our side, but not used for payment initiation.

Why the very same payment template can have different sets of required and optional payment fields for different providers?

Depending on the standard the bank implemented PISP and functionality it decided to expose, the set of required and optional fields for a payment template can vary for different providers. Some optional fields from a template may become required for a specific provider.

What are the recommendations for the description field?

Most ASPSPs have certain limitations in place when it comes to the formatting of the unstructured payment remittance information (description). Using alphanumeric characters along with ., ,, -, /, ?, (, ), +, ' and spaces as well as keeping the length of the description under 1000 characters should be a safe approach for most ASPSPs (RegExp: /[A-Za-z0-9.-,()+'? ]{2,1000}/). ASPSPs may extend these constraints depending on their core banking system, payment schema and other relevant factors.

How cross-border payments work in Fiducia hub?

At this moment there is no possibility to do a full check prior to the payment initiation whether the payment goes under SEPA or cross-border payment schemes with Fiducia hub providers.

This is how SEPA and cross-border payments are handled on Fiducia’s end:

In principle, a distinction must be made between a normal SEPA credit transfer and a foreign credit transfer. This distinction is to be made on the part of the third party provider and not on the part of the third party provider interface.

The following specifications apply to a SEPA credit transfer:

  • Payment in Euro
  • IBAN of the beneficiary is available
  • The beneficiary’s bank is located in the SEPA area and can be reached via SEPA.
  • Fee regulation: Shared (SHA), i.e. the fees are shared

If one of the criteria is not met, a SEPA credit transfer is no longer possible, only a cross-border transfer.

Example: A payment is to be made to a beneficiary in France, but in US dollars or with a special fee regulation/instruction, or only one account number is known for the beneficiary, etc.

On Salt Edge’s end SEPA and cross-border payments are handled under SEPA and SWIFT payment templates correspondingly.

Considering there are payment conditions and criteria which can’t be controlled or influenced by TPPs, if the criteria are not met according to the response received from the bank during payment initiation, Salt Edge will return the following errors:

1) PaymentFailed with the message Cross Border Payment is not supported. Please retry using SEPA payment scheme.
2) PaymentFailed with the message Please retry using the cross-border (SWIFT) payment scheme.

api

Pay with Connect

The easiest way to initiate payments using Payment Initiation API is to use Salt Edge Connect, which handles all the authentication interaction with the user. After the request is executed, you will receive a connect_url field, which the user should be redirected to in order to process with the payment flow.

Please see the sequence diagram for details on how to handle payments via Connect.

Parameters

customer_id

string

The id of the customer received from customer create

provider_code

string, optional

The code of the desired provider. To access the list of providers that support payments, see providers list. If passed, make sure the chosen provider supports the desired payment template.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

The payment template identifier received in show templates

return_to

string, optional

The URL the user will be redirected to. Defaults to the client's home URL

show_consent_confirmation

boolean, optional

If sent as false, upon submitting the form, the end-user will not be asked to give consent to Salt Edge. Defaults to true.

disable_provider_search

boolean, optional

If sent as true, together with provider_code, does not allow the end-user to change the preselected provider. Defaults to false.

javascript_callback_type

string, optional

Allows you to specify what kind of callback type you are expecting. Possible values: post_message. Defaults to null.

return_payment_id

boolean, optional

Whether to append payment_id to return_to URL. Defaults to false.

return_error_class

boolean, optional

Whether to append error_class to return_to URL. Defaults to false.

locale

string, optional

The language of the Payments Connect widget and of the returned error message(s) in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

country_code

string, optional

Returns the list of providers only from given country. Possible values: any country code from ISO 3166-1 alpha-2, e.g.: 'DE'. Defaults to null.

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

customer_id

string

The id of the customer received from customer create

provider_code

string, optional

The code of the desired provider. To access the list of providers that support payments, see providers list. If passed, make sure the chosen provider supports the desired payment template.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

The payment template identifier received in show templates

return_to

string, optional

The URL the user will be redirected to. Defaults to the client's home URL

show_consent_confirmation

boolean, optional

If sent as false, upon submitting the form, the end-user will not be asked to give consent to Salt Edge. Defaults to true.

disable_provider_search

boolean, optional

If sent as true, together with provider_code, does not allow the end-user to change the preselected provider. Defaults to false.

javascript_callback_type

string, optional

Allows you to specify what kind of callback type you are expecting. Possible values: post_message. Defaults to null.

return_payment_id

boolean, optional

Whether to append payment_id to return_to URL. Defaults to false.

return_error_class

boolean, optional

Whether to append error_class to return_to URL. Defaults to false.

locale

string, optional

The language of the Payments Connect widget and of the returned error message(s) in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

country_code

string, optional

Returns the list of providers only from given country. Possible values: any country code from ISO 3166-1 alpha-2, e.g.: 'DE'. Defaults to null.

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

Possible Errors

Error classHTTP codeDescription
ActionNotSupported406 Not Acceptable

At least one of current eIDAS certificates does not have the PSP_PI role

CertificateNotFound400 Bad Request

Current client does not have QWAC and QSEAL certificates

CustomerLocked406 Not Acceptable

If current customer is locked. It may be unlocked

InvalidPaymentAttributes406 Not Acceptable

Some of the payment_attributes are missing; amount is empty, or not a string, or not in a valid format; description is not a string or empty; currency_code is invalid

PaymentTemplateNotSupported406 Not Acceptable

The template_identifier is not supported by the selected provider/provider_code

WrongRequestFormat400 Bad Request

The payment_attributes, template_identifier and/or customer_id are missing from the request body

URL

https://www.saltedge.com/api/payments/v1/payments/connect

https://www.saltedge.com/api/payments/v1/payments/connect

Method

POST

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"show_consent_confirmation\": true, \
                \"template_identifier\": \"SEPA\", \
                \"return_to\": \"http://example.com/\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:131313131313131313\", \
                  \"customer_last_logged_at\": \"2020-07-12T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"creditor_town\": \"London\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"EUR\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/connect
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"show_consent_confirmation\": true, \
                \"template_identifier\": \"SEPA\", \
                \"return_to\": \"http://example.com/\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:131313131313131313\", \
                  \"customer_last_logged_at\": \"2020-07-12T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"creditor_town\": \"London\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"EUR\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/connect

Sample response

{
  "data": {
    "expires_at": "2024-03-28T14:29:09Z",
    "connect_url": "https://www.saltedge.com/payments/connect?token=GENERATED_TOKEN"
  }
}
{
  "data": {
    "expires_at": "2024-03-28T14:29:09Z",
    "connect_url": "https://www.saltedge.com/payments/connect?token=GENERATED_TOKEN"
  }
}

Pay with Direct API

If you wish to handle the credentials, consent and authorization for payments yourself, you can create payments directly via the API.

Create

Your app will have to pass the user’s values of provider’s fields within the payload in the credentials object. Please note that you still have to use redirects (see OAuth in all cases when the provider mode is oauth).

The credentials object should be modeled after the provider’s fields. For instance, if the provider’s required fields contain a field with the value of name equal to username, the credential object should contain a username attribute with the value being the actual username.

For example, here’s a provider:

{
  "data": {
    "code": "bigbank_us",
    "required_fields": [
      {
        "english_name": "Pass Code",
        "localized_name": "Pass Code",
        "name": "code",
        "nature": "text",
        "position": 1
      }
    ]
  }
}

The user should be prompted to input Pass Code. If they input Pass Code (in this case, “hunter2”), your app should send the following data in the credentials object:

{
  "code": "hunter2"
}

Here’s another example that includes a select:

{
  "data": {
    "code": "anotherbank_us",
    "required_fields": [
      {
        "english_name": "Password",
        "localized_name": "Password",
        "name": "password",
        "nature": "password",
        "position": 1
      },
      {
        "nature":         "select",
        "name":           "image",
        "english_name":   "Image",
        "localized_name": "Imagine",
        "position":       2,
        "optional":       false,
        "field_options": [
          {
            "name":           "1",
            "english_name":   "Home",
            "localized_name": "Casa",
            "option_value":   "home",
            "selected":       false
          },
          {
            "name":           "2",
            "english_name":   "Car",
            "localized_name": "Automobil",
            "option_value":   "car",
            "selected":       false
          }
        ]
      }
    ]
  }
}

In this case, your app should prompt the user to input Password and offer selecting the options of “Casa” and “Automobil” (the localized_name or english_name values, depending on your service). The credentials should contain the name of the select field (in this case image) as the key and the user’s selected option_value as its value. Let’s say the user has input hunter2 as the password and has chosen “Automobil” from the select.

The credentials object should look like this:

{
  "password": "hunter2",
  "image": "car"
}

Please see the sequence diagram for details on how to handle embedded payments correctly.

Payments workflow does not currently support encrypted credentials.

Parameters

customer_id

string

The id of the customer received from customer create

provider_code

string

The code of the desired provider. To access the list of providers that support payments, see providers list.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

credentials

object

The credentials required to initiate a payment

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

Payment template identifier received in show templates

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

locale

string, optional

The language of the error message in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

customer_id

string

The id of the customer received from customer create

provider_code

string

The code of the desired provider. To access the list of providers that support payments, see providers list.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

credentials

object

The credentials required to initiate a payment

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

Payment template identifier received in show templates

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

locale

string, optional

The language of the error message in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

Possible Errors

Error classHTTP codeDescription
CustomerLocked406 Not Acceptable

If the current customer is locked. It can be unlocked

InvalidCredentials406 Not Acceptable

Some critical information is missing from the request (e.g. a specific field in certificate)

InvalidPaymentAttributes406 Not Acceptable

Some of the payment_attributes are not provided according to the specification. See payment templates.

PaymentTemplateNotSupported406 Not Acceptable

The template_identifier is not supported by the requested provider

ProviderDisabled406 Not Acceptable

The selected provider is disabled

ProviderInactive406 Not Acceptable

The selected provider is not active

ProviderUnavailable406 Not Acceptable

Unable to contact provider in order to generate authorize_url

WrongProviderMode406 Not Acceptable

If current provider’s mode is neither oauth nor api

WrongRequestFormat400 Bad Request

Either payment_attributes, template_identifier, provider_code, credentials and/or customer_id are missing from the request body

URL

https://www.saltedge.com/api/payments/v1/payments

https://www.saltedge.com/api/payments/v1/payments

Method

POST

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"credentials\": { \
                  \"login\": \"username\", \
                  \"password\": \"secret\" \
                }, \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:474747474747474747\", \
                  \"customer_last_logged_at\": \"2020-07-23T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"GBP\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                }, \
                \"template_identifier\": \"SEPA\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_client_xf\", \
                \"credentials\": { \
                  \"login\": \"username\", \
                  \"password\": \"secret\" \
                }, \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:474747474747474747\", \
                  \"customer_last_logged_at\": \"2020-07-23T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"GBP\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"mode\": \"normal\" \
                }, \
                \"template_identifier\": \"SEPA\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments

Sample response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-24T08:02:57Z",
    "updated_at": "2020-07-24T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-23T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "stages": [
      {
        "name": "initiated",
        "created_at": "2020-07-24T08:02:57Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-24T08:02:57Z",
    "updated_at": "2020-07-24T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-23T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "stages": [
      {
        "name": "initiated",
        "created_at": "2020-07-24T08:02:57Z"
      }
    ]
  }
}

OAuth

Since initiating payments with OAuth providers implies a redirect, the flow for these providers is similar to Pay with Connect. The response will contain a redirect_url and your app has to redirect the user to that URL.

The redirect_url points to a page where the user can provide PISP access to make payments, making it available for your app. After the users have approved PISP in the OAuth provider’s interface, they will be redirected to the return_to page.

  • Note that return_to is optional for clients only if a shared (owned by Salt Edge) provider key is used (defaults to the client’s home_url);
  • If clients use their own provider keys, return_to is mandatory and should be a valid URL that was registered within the chosen provider.

Please see the sequence diagram for details on how to handle OAuth payments directly.

Parameters

customer_id

string

The id of the customer received from customer create

provider_code

string

The code of the desired provider. To access the list of providers that support payments, see providers list.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

Payment template identifier received in show templates

return_to

string

The URL the user will be redirected to after authenticating on the provider’s side. If you used your own provider keys for the chosen provider, the URL to which the end-user will be redirected will contain a bunch of parameters appended by the provider that you need to send to the authorize route in order to authorize the payment.

locale

string, optional

The language of the error message in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

customer_id

string

The id of the customer received from customer create

provider_code

string

The code of the desired provider. To access the list of providers that support payments, see providers list.

Even though the provider_code is an optional field, its absence during payment initiation may lead to the following outcomes:

  • The end-user may choose a provider that does not support the payment template the client has passed to Salt Edge. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields. Absence of required payment attributes during payment initiation will result in an error.

payment_attributes

object

All the attributes (required and optional) that are needed for a successful payment initiation received in show templates

template_identifier

string

Payment template identifier received in show templates

return_to

string

The URL the user will be redirected to after authenticating on the provider’s side. If you used your own provider keys for the chosen provider, the URL to which the end-user will be redirected will contain a bunch of parameters appended by the provider that you need to send to the authorize route in order to authorize the payment.

locale

string, optional

The language of the error message in the ISO 639-1 format. Possible values are: bg, cz, de, en, es-MX, es, fi, fr, he, hr, hu, it, nl, pl, pt-BR, pt, ro, ru, si, sk, sv, tr, uk, zh-HK(Traditional), zh(Simplified). Defaults to en.

custom_fields

object, optional

A JSON object, which will be sent back on any of your callbacks

Possible Errors

Error classHTTP codeDescription
ActionNotSupported406 Not Acceptable

The current eIDAS certificate does not have the PSP_PI role

CertificateNotFound400 Bad Request

The current client does not have QWAC and QSEAL certificates

CustomerLocked406 Not Acceptable

If the current customer is locked. It can be unlocked

InvalidPaymentAttributes406 Not Acceptable

Some of the payment_attributes in request do not match the requirements (e.g. required fields are missing)

ProviderDisabled406 Not Acceptable

The current provider was disabled

ProviderInactive406 Not Acceptable

The selected provider is not active (thus, has the inactive status)

ProviderUnavailable406 Not Acceptable

Unable to contact the provider in order to generate authorize_url

ReturnURLInvalid406 Not Acceptable

If return_to is not specified or is passed an invalid one

WrongProviderMode406 Not Acceptable

If current provider’s mode is not oauth

WrongRequestFormat400 Bad Request

Either provider_code, customer_id, payment_attributes and/or template_identifier are missing from the request

URL

https://www.saltedge.com/api/payments/v1/payments/oauth

https://www.saltedge.com/api/payments/v1/payments/oauth

Method

POST

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_oauth_client_xf\", \
                \"template_identifier\": \"SEPA\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:474747474747474747\", \
                  \"customer_last_logged_at\": \"2020-07-23T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"GBP\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/oauth
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"customer_id\": \"222222222222222222\", \
                \"provider_code\": \"fake_oauth_client_xf\", \
                \"template_identifier\": \"SEPA\", \
                \"payment_attributes\": { \
                  \"end_to_end_id\": \"#123123123\", \
                  \"reference\": \"p:474747474747474747\", \
                  \"customer_last_logged_at\": \"2020-07-23T13:48:40Z\", \
                  \"customer_ip_address\": \"255.255.255.255\", \
                  \"customer_device_os\": \"iOS 11\", \
                  \"creditor_name\": \"Jay Dawson\", \
                  \"creditor_street_name\": \"One Canada Square\", \
                  \"creditor_building_number\": \"One\", \
                  \"creditor_country_code\": \"UK\", \
                  \"currency_code\": \"GBP\", \
                  \"amount\": \"199000.00\", \
                  \"description\": \"Stocks purchase\", \
                  \"creditor_iban\": \"GB33BUKB20201555555555\", \
                  \"creditor_post_code\": \"E14 5AB\", \
                  \"mode\": \"normal\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/oauth

Sample response

{
  "data": {
    "payment_id": "131313131313131313",
    "expires_at": "2024-03-28T14:29:09Z",
    "redirect_url": "https://www.saltedge.com/api/payments/v1/payments/redirect?token=GENERATED_TOKEN"
  }
}
{
  "data": {
    "payment_id": "131313131313131313",
    "expires_at": "2024-03-28T14:29:09Z",
    "redirect_url": "https://www.saltedge.com/api/payments/v1/payments/redirect?token=GENERATED_TOKEN"
  }
}

Authorize

Used to authorize a payment for an OAuth provider when using client owned provider keys. In this flow, once the end-users are authorized on the provider’s side, they are redirected to the return_to URL indicated in the previous request, with a bunch of parameters appended to it by the provider that are needed for authorizing the payment.

Examples:

<return_to url>?code=bc4521d3&state=Pd8b4d0eb
<return_to url>#code=bc4521d3&state=Pd8b4d0eb

For both cases, the query_string that is needed to authorize the payment is code=bc4521d3&state=Pd8b4d0eb.

Please note that in some PSD2 specifications the end-user will be redirected to return_to with no additional parameters due to the lack of need to make additional Authorization requests. For such cases, an empty query_string value is acceptable, for example:

{
  "data": {
    "payment_id": "131313131313131313",
    "query_string": ""
  }
}

If the provider returned an error on return_to redirect, thar error should be sent the same way as a successful redirect would be, namely, with parameters in the query_string field:

{
  "data": {
    "payment_id": "131313131313131313",
    "query_string": "error=InternalServerError&message=PSU+SCA+error&state=Pd8b4d0eb"
  }
}

Parameters

payment_id

string

The id of the payment that is being authorized

query_string

string

All the parameters appended to your return_to URL upon being redirected from the provider back to your application

payment_id

string

The id of the payment that is being authorized

query_string

string

All the parameters appended to your return_to URL upon being redirected from the provider back to your application

Possible Errors

Error classHTTP codeDescription
InvalidCredentials406 Not Acceptable

Some critical information is missing from the request (e.g. a specific field in certificate)

PaymentAlreadyAuthorized406 Not Acceptable

Request for authorizing the current payment has been already processed

PaymentFailed406 Not Acceptable

Failed to create the payment for some reason

PaymentNotFound404 Not Found

Thepayment_id has not been correctly provided

ProviderUnavailable406 Not Acceptable

Unable to contact the provider

WrongRequestFormat400 Bad Request

Either query_string and/or payment_id are missing from the request body

URL

https://www.saltedge.com/api/payments/v1/payments/authorize

https://www.saltedge.com/api/payments/v1/payments/authorize

Method

PUT

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"payment_id\": \"131313131313131313\", \
                \"query_string\": \"code=bc4521d3&state=Pd8b4d0eb\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/authorize
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"payment_id\": \"131313131313131313\", \
                \"query_string\": \"code=bc4521d3&state=Pd8b4d0eb\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/authorize

Sample response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_oauth_client_xf",
    "provider_name": "Fake OAuth Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-23T08:02:57Z",
    "updated_at": "2020-07-23T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-21T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "stages": [
      {
        "name": "initiated",
        "created_at": "2020-07-23T08:02:57Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_oauth_client_xf",
    "provider_name": "Fake OAuth Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-23T08:02:57Z",
    "updated_at": "2020-07-23T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-21T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "stages": [
      {
        "name": "initiated",
        "created_at": "2020-07-23T08:02:57Z"
      }
    ]
  }
}

Confirm

If the currently processing payment requires any interactive credentials, your app should ask the user for the interactive credentials and send them to the /confirm route. After that, the process will continue as usual.

In case of dynamic_select field nature, send the option_value of the user selected options in an array:

{
  "data": {
    "interactive_fields": {
      "accounts": ["account1", "account2"]
    }
  }
}

Please note that in some cases, on the interactive stage the provider may not require any interactive fields (see interactive_fields_names), thus you should send an empty object in the interactive_fields field:

{
  "data": {
    "interactive_fields": {}
  }
}

In case of an interactive redirect, once the end-user is redirected to your return_to URL, the query string appendend to your return_to should be sent to /confirm route:

Examples:

<return_to url>?code=bc4521d3&state=Pd8b4d0eb
<return_to url>#code=bc4521d3&state=Pd8b4d0eb

For both cases, the query_string that is needed to authorize the payment is code=bc4521d3&state=Pd8b4d0eb.

With confirmation codes present on interactive redirect:

{
  "data": {
    "credentials": {
      "query_string": "code=bc4521d3&state=Pd8b4d0eb"
    }
  }
}

With no confirmation code returned from the provider on interactive redirect:

{
  "data": {
    "credentials": {
      "query_string": ""
    }
  }
}

If the provider sent an error on the interactive redirect stage, that error should be sent the same way as a successful redirect would be, namely, with parameters in the interactive_fields field:

{
  "data": {
    "credentials": {
      "query_string": "error=InternalServerError&message=PSU+SCA+error&state=Pd8b4d0eb"
    }
  }
}

Parameters

payment_id

string

The id of the payment

data

object

Hide child attributes

payment_id

string

The id of the payment

data

object

Hide child attributes

Possible Errors

Error classHTTP codeDescription
PaymentAlreadyFinished406 Not Acceptable

The payment is finished i.e. last_stage=finish

PaymentNotFound404 Not Found

Thepayment_id has been provided incorrectly

WrongRequestFormat400 Bad Request

Interactive fields key is missing from the request body

URL

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/confirm

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/confirm

Method

PUT

Sample request (interactive confirmation)

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"interactive_fields\": { \
                  \"confirmation_code\": \"123456\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/10/confirm
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"interactive_fields\": { \
                  \"confirmation_code\": \"123456\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/10/confirm

Sample request (interactive redirect)

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"interactive_fields\": { \
                  \"query_string\": \"code=bc4521d3&state=Pd8b4d0eb\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/10/confirm
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        -d "{ \
              \"data\": { \
                \"interactive_fields\": { \
                  \"query_string\": \"code=bc4521d3&state=Pd8b4d0eb\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/payments/10/confirm

Sample response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-27T08:02:57Z",
    "updated_at": "2020-07-27T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-26T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "name": "initialize",
        "created_at": "2020-07-27T10:38:11Z"
      },
      {
        "name": "start",
        "created_at": "2020-07-27T10:38:14Z"
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T10:38:14Z"
      },
      {
        "name": "interactive",
        "created_at": "2020-07-27T12:11:17Z",
        "interactive_html": " <div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol>  <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T10:38:23Z",
        "interactive_fields": {
          "iban": "XF123456789012345678"
        }
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-27T08:02:57Z",
    "updated_at": "2020-07-27T08:02:57Z",
    "status": "processing",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-26T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "name": "initialize",
        "created_at": "2020-07-27T10:38:11Z"
      },
      {
        "name": "start",
        "created_at": "2020-07-27T10:38:14Z"
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T10:38:14Z"
      },
      {
        "name": "interactive",
        "created_at": "2020-07-27T12:11:17Z",
        "interactive_html": " <div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol>  <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T10:38:23Z",
        "interactive_fields": {
          "iban": "XF123456789012345678"
        }
      }
    ]
  }
}

Cancel

Allows you to cancel the payment initiation.

Note: A payment can be cancelled only being in the initialize stage.

payment_id

string

The id of the payment

payment_id

string

The id of the payment

Possible Errors

Error classHTTP codeDescription
PaymentNotFound404 Not Found

Thepayment_id is provided incorrectly

URL

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/cancel

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/cancel

Method

PUT

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/payments/10/cancel
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/payments/10/cancel

Sample response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-27T12:19:25Z",
    "updated_at": "2020-07-2712:19:33Z",
    "status": "rejected",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-25T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "name": "initialize",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "start",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "interactive",
        "created_at": "2020-07-27T12:11:17Z",
        "interactive_html": " <div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol>  <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "name": "finish",
        "created_at": "2020-07-27T12:19:33Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2020-07-27T12:19:25Z",
    "updated_at": "2020-07-2712:19:33Z",
    "status": "rejected",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2020-07-25T13:48:40Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "name": "initialize",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "start",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "submission",
        "created_at": "2020-07-27T12:19:25Z"
      },
      {
        "name": "interactive",
        "created_at": "2020-07-27T12:11:17Z",
        "interactive_html": " <div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol>  <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "name": "finish",
        "created_at": "2020-07-27T12:19:33Z"
      }
    ]
  }
}

Providers

A provider is a Financial Institution which can execute payments. We recommend you update all of the providers’ fields at least daily.

The map with the integrated PSD2/Open Banking providers will help you to get better understanding of which banks have been integrated and find out whether your bank is already supported by Salt Edge.

Attributes

id

integer

The id of the provider

code

string

The provider’s code

name

string

The provider’s name

mode

string

The provider’s mode. Possible values: oauth, api.

status

string

Possible values: active, inactive, disabled

  • The providers with the inactive status are returned on the providers list endpoint, but are not visible on the Connect widget for the end-users.
  • The providers with disabled status are neither returned on the providers list endpoint, nor visible on the Connect widget for end-users.

interactive

boolean

Whether the provider requires interactive input

instruction

string

Guidance on how to connect the provider

home_url

string

The URL of the main page of the provider

forum_url

string

The URL for the Salt Edge Support page, dedicated to the provider

logo_url

string

The URL for the provider logo. May have a placeholder for providers with missing logos.

country_code

string

Code of the provider’s country

created_at

string (date-time)

Time and date when the provider was integrated

updated_at

string (date-time)

The last time when any of the provider’s attributes were changed

payment_templates

array of strings

Identifiers of the payment templates that are supported by this provider

identification_codes

array of strings

List of codes identifying supported branches of a specific provider. It may include BLZ(Germany), ABI+CAB(Italy), Branch Codes(France) etc.

bic_codes

array of strings

List of BIC codes identifying supported branches of a specific provider.

supported_iframe_embedding

boolean

Provider can be embedded in iframe. Possible values: true, false.

supported_payment_fields

object, optional

If these fields are passed, they will be used by the provider. Otherwise, the payment will we processed even without them.

required_payment_fields

object, optional

Mandatory payment attributes. If any of these fields are not passed, the payment will not be initiated successfully.

no_funds_rejection_supported

boolean, optional

A flag which indicates whether the bank supports explicit handling of payment rejection due to insufficient funds.

For example, it can be a header in the request (TPP-Rejection-NoFunds-Preferred) which set to true will automatically reject the payment in case of insufficient funds. Note that many banks handle this behaviour by default, but some of them offer the possibility to choose the outcome of insufficient funds.

id

integer

The id of the provider

code

string

The provider’s code

name

string

The provider’s name

mode

string

The provider’s mode. Possible values: oauth, api.

status

string

Possible values: active, inactive, disabled

  • The providers with the inactive status are returned on the providers list endpoint, but are not visible on the Connect widget for the end-users.
  • The providers with disabled status are neither returned on the providers list endpoint, nor visible on the Connect widget for end-users.

interactive

boolean

Whether the provider requires interactive input

instruction

string

Guidance on how to connect the provider

home_url

string

The URL of the main page of the provider

forum_url

string

The URL for the Salt Edge Support page, dedicated to the provider

logo_url

string

The URL for the provider logo. May have a placeholder for providers with missing logos.

country_code

string

Code of the provider’s country

created_at

string (date-time)

Time and date when the provider was integrated

updated_at

string (date-time)

The last time when any of the provider’s attributes were changed

payment_templates

array of strings

Identifiers of the payment templates that are supported by this provider

identification_codes

array of strings

List of codes identifying supported branches of a specific provider. It may include BLZ(Germany), ABI+CAB(Italy), Branch Codes(France) etc.

bic_codes

array of strings

List of BIC codes identifying supported branches of a specific provider.

supported_iframe_embedding

boolean

Provider can be embedded in iframe. Possible values: true, false.

supported_payment_fields

object, optional

If these fields are passed, they will be used by the provider. Otherwise, the payment will we processed even without them.

required_payment_fields

object, optional

Mandatory payment attributes. If any of these fields are not passed, the payment will not be initiated successfully.

no_funds_rejection_supported

boolean, optional

A flag which indicates whether the bank supports explicit handling of payment rejection due to insufficient funds.

For example, it can be a header in the request (TPP-Rejection-NoFunds-Preferred) which set to true will automatically reject the payment in case of insufficient funds. Note that many banks handle this behaviour by default, but some of them offer the possibility to choose the outcome of insufficient funds.

Sample object

{
  "id": "131313131313131313",
  "code": "fake_client_xf",
  "name": "Fake Bank with Client Keys",
  "mode": "oauth",
  "status": "active",
  "interactive": true,
  "instruction": "You will be securely redirected to your financial institution to authenticate.",
  "home_url": "https://example.com",
  "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
  "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
  "country_code": "XF",
  "identification_codes": [
    "123123"
  ],
  "bic_codes": [
    "ABCDEFGH"
  ],
  "created_at": "2024-03-18T13:29:09Z",
  "updated_at": "2024-03-23T13:29:09Z",
  "payment_templates": [
    "SEPA"
  ],
  "supported_payment_fields": {
    "SEPA": [
      "amount",
      "creditor_iban",
      "creditor_name",
      "currency_code",
      "customer_ip_address",
      "description",
      "end_to_end_id"
    ]
  },
  "required_payment_fields": {
    "SEPA": [
      "amount",
      "creditor_iban",
      "creditor_name",
      "currency_code",
      "customer_ip_address",
      "description",
      "end_to_end_id"
    ]
  }
}
{
  "id": "131313131313131313",
  "code": "fake_client_xf",
  "name": "Fake Bank with Client Keys",
  "mode": "oauth",
  "status": "active",
  "interactive": true,
  "instruction": "You will be securely redirected to your financial institution to authenticate.",
  "home_url": "https://example.com",
  "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
  "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
  "country_code": "XF",
  "identification_codes": [
    "123123"
  ],
  "bic_codes": [
    "ABCDEFGH"
  ],
  "created_at": "2024-03-18T13:29:09Z",
  "updated_at": "2024-03-23T13:29:09Z",
  "payment_templates": [
    "SEPA"
  ],
  "supported_payment_fields": {
    "SEPA": [
      "amount",
      "creditor_iban",
      "creditor_name",
      "currency_code",
      "customer_ip_address",
      "description",
      "end_to_end_id"
    ]
  },
  "required_payment_fields": {
    "SEPA": [
      "amount",
      "creditor_iban",
      "creditor_name",
      "currency_code",
      "customer_ip_address",
      "description",
      "end_to_end_id"
    ]
  }
}

Show

Allows you to inspect a single provider in order to give your users a proper interface to input their credentials. The response will have an array of required_fields and interactive_fields.

Providers that require a client provider key will be included only if you have created provider keys for them and added to your client account.

Parameters

provider_code

string

The code of the provider

provider_code

string

The code of the provider

Possible Errors

Error classHTTP codeDescription
ProviderNotFound404 Not Found

The provider_code does not match any known provider

URL

https://www.saltedge.com/api/payments/v1/providers/{provider.code}

https://www.saltedge.com/api/payments/v1/providers/{provider.code}

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers/fake_client_xf
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers/fake_client_xf

Sample response

{
  "data": {
    "id": "131313131313131313",
    "code": "fake_client_xf",
    "name": "Fake Bank with Client Keys",
    "mode": "oauth",
    "status": "active",
    "interactive": true,
    "instruction": "You will be securely redirected to your financial institution to authenticate.",
    "home_url": "https://example.com",
    "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
    "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
    "country_code": "XF",
    "identification_codes": [
      "123123"
    ],
    "bic_codes": [
      "ABCDEFGH"
    ],
    "supported_iframe_embedding": true,
    "created_at": "2024-03-18T13:29:09Z",
    "updated_at": "2024-03-23T13:29:09Z",
    "payment_templates": [
      "SEPA"
    ],
    "supported_payment_fields": {
      "SEPA": [
        "amount",
        "creditor_iban",
        "creditor_name",
        "currency_code",
        "customer_ip_address",
        "description",
        "end_to_end_id"
      ]
    },
    "required_payment_fields": {
      "SEPA": [
        "amount",
        "creditor_iban",
        "creditor_name",
        "currency_code",
        "customer_ip_address",
        "description",
        "end_to_end_id"
      ]
    }
  }
}
{
  "data": {
    "id": "131313131313131313",
    "code": "fake_client_xf",
    "name": "Fake Bank with Client Keys",
    "mode": "oauth",
    "status": "active",
    "interactive": true,
    "instruction": "You will be securely redirected to your financial institution to authenticate.",
    "home_url": "https://example.com",
    "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
    "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
    "country_code": "XF",
    "identification_codes": [
      "123123"
    ],
    "bic_codes": [
      "ABCDEFGH"
    ],
    "supported_iframe_embedding": true,
    "created_at": "2024-03-18T13:29:09Z",
    "updated_at": "2024-03-23T13:29:09Z",
    "payment_templates": [
      "SEPA"
    ],
    "supported_payment_fields": {
      "SEPA": [
        "amount",
        "creditor_iban",
        "creditor_name",
        "currency_code",
        "customer_ip_address",
        "description",
        "end_to_end_id"
      ]
    },
    "required_payment_fields": {
      "SEPA": [
        "amount",
        "creditor_iban",
        "creditor_name",
        "currency_code",
        "customer_ip_address",
        "description",
        "end_to_end_id"
      ]
    }
  }
}

List

Returns all the providers we operate with. If a provider becomes disabled, it is not included in the list. You can read more about the next_id field in the pagination section of the reference.

Providers that require a client provider key will be included only if you have created provider keys for them.

Parameters

from_id

string, optional

The id of the record starting the next page. Defaults to null.

from_date

string (date), optional

Filtering providers by the updated_at attribute, starting from this date. Defaults to null.

country_code

string, optional

Filtering providers by country. Defaults to null.

mode

string, optional

Filtering providers by mode. Possible values: oauth, api. Defaults to null.

include_fake_providers

boolean, optional

Whether you wish to fetch the fake providers. Defaults to false.

template_identifier

string, optional

Return only providers that support the given payment template. Defaults to null.

include_provider_fields

boolean, optional

Whether you wish to include all provider fields in the provider objects. Defaults to false.

provider_key_owner

string, optional

Filtering providers by the key owner, possible values are: client, saltedge. When the value is set as client, only providers with client-set keys will be returned. Please see Client Provider Keys. Possible values: client, saltedge. Defaults to null.

from_id

string, optional

The id of the record starting the next page. Defaults to null.

from_date

string (date), optional

Filtering providers by the updated_at attribute, starting from this date. Defaults to null.

country_code

string, optional

Filtering providers by country. Defaults to null.

mode

string, optional

Filtering providers by mode. Possible values: oauth, api. Defaults to null.

include_fake_providers

boolean, optional

Whether you wish to fetch the fake providers. Defaults to false.

template_identifier

string, optional

Return only providers that support the given payment template. Defaults to null.

include_provider_fields

boolean, optional

Whether you wish to include all provider fields in the provider objects. Defaults to false.

provider_key_owner

string, optional

Filtering providers by the key owner, possible values are: client, saltedge. When the value is set as client, only providers with client-set keys will be returned. Please see Client Provider Keys. Possible values: client, saltedge. Defaults to null.

Possible Errors

Error classHTTP codeDescription
DateOutOfRange400 Bad Request

The from_date does not fit the admissible date range

ValueOutOfRange400 Bad Request

Either next_id and/or from_id exceed integer limit

URL

https://www.saltedge.com/api/payments/v1/providers

https://www.saltedge.com/api/payments/v1/providers

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/providers

Sample Response

{
  "data": [
    {
      "id": "131313131313131313",
      "code": "fake_client_xf",
      "name": "Fake Bank with Client Keys",
      "mode": "oauth",
      "status": "active",
      "interactive": true,
      "instruction": "You will be securely redirected to your financial institution to authenticate.",
      "home_url": "https://example.com",
      "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
      "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
      "country_code": "XF",
      "identification_codes": [
        "123123"
      ],
      "bic_codes": [
        "ABCDEFGH"
      ],
      "supported_iframe_embedding": true,
      "created_at": "2024-03-18T13:29:09Z",
      "updated_at": "2024-03-23T13:29:09Z",
      "payment_templates": [
        "SEPA"
      ],
      "supported_payment_fields": {
        "SEPA": [
          "amount",
          "creditor_iban",
          "creditor_name",
          "currency_code",
          "customer_ip_address",
          "description",
          "end_to_end_id"
        ]
      },
      "required_payment_fields": {
        "SEPA": [
          "amount",
          "creditor_iban",
          "creditor_name",
          "currency_code",
          "customer_ip_address",
          "description",
          "end_to_end_id"
        ]
      }
    }
  ],
  "meta": {
    "next_id": null,
    "next_page": null
  }
}
{
  "data": [
    {
      "id": "131313131313131313",
      "code": "fake_client_xf",
      "name": "Fake Bank with Client Keys",
      "mode": "oauth",
      "status": "active",
      "interactive": true,
      "instruction": "You will be securely redirected to your financial institution to authenticate.",
      "home_url": "https://example.com",
      "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fake_client_xf",
      "logo_url": "https://www.saltedge.com/logos/providers/xf/placeholder_global.svg",
      "country_code": "XF",
      "identification_codes": [
        "123123"
      ],
      "bic_codes": [
        "ABCDEFGH"
      ],
      "supported_iframe_embedding": true,
      "created_at": "2024-03-18T13:29:09Z",
      "updated_at": "2024-03-23T13:29:09Z",
      "payment_templates": [
        "SEPA"
      ],
      "supported_payment_fields": {
        "SEPA": [
          "amount",
          "creditor_iban",
          "creditor_name",
          "currency_code",
          "customer_ip_address",
          "description",
          "end_to_end_id"
        ]
      },
      "required_payment_fields": {
        "SEPA": [
          "amount",
          "creditor_iban",
          "creditor_name",
          "currency_code",
          "customer_ip_address",
          "description",
          "end_to_end_id"
        ]
      }
    }
  ],
  "meta": {
    "next_id": null,
    "next_page": null
  }
}

Fake

In order to help with testing, we provide a fake country (having the country code XF) and a set of fake providers. If your application is in the Test or Pending status, the Connect page will let you select the fake country and its providers.

Only regulated: true providers support payments via supported payment_templates configuration. It means that it is possible to make a payment only via such regulated providers that have any payment templates listed in payment_templates array.

The API supplies a number of fake providers:

  • Fake Bank with eIDAS Certificates (fake_oauth_eidas_client_xf);
  • Fake Interactive Bank with Client Keys (CAPTCHA) (fake_interactive_client_xf) - asks to enter a fake captcha code in addition to a username and a password (embedded);
  • Fake Interactive Bank with Client Keys (decoupled) (fake_interactive_decoupled_client_xf) - decoupled interactive flow (e.g. push notification), asks to wait 10 seconds in Connect widget and then click Proceed to continue in addition to a username and a password (embedded).
  • Fake OAuth Bank with Client Keys (fake_oauth_client_xf) - asks for authorization (OAuth redirect);
  • Fake Bank with Client Keys (fake_client_xf) - requires a username and a password (embedded);
  • Fake OAuth Interactive Redirect with Client Keys (fake_oauth_interactive_client_xf);
  • Fake Bank with Delayed Payment Authorization (fake_delayed_oauth_client_xf);
  • Fake Bank with Invalid Interactive Redirection (fake_invalid_interactive_redirect_xf);
  • Fake OAuth Bank with Invalid Authorize URL (fake_with_invalid_authorize_xf);
  • Fake Bank with Error (fake_with_error_client_xf).

Fake Bank with Error (fake_with_error_client_xf) allows selecting the error you would like to test. The choices are as follows:

  • Invalid SCA redirect URL - no error. The user will be redirected to an invalid URL. As a result, the connection will fail an error because the PSU (the user) couldn’t complete the authorization step.
  • Token Expired - Error class: InvalidCredentials. Error message: Invalid token.
  • Consent Invalid- Error class: InvalidCredentials. Error message: Consent is not valid.
  • Access declined - Error class: InvalidCredentials. Error message: Access declined. Please contact your bank’s customer service.
  • ExecutionTimeout- Error class: ExecutionTimeout. Error message: ExecutionTimeout error.
  • InteractiveAdapterTimeout - Error class: InteractiveAdapterTimeout. Error message: Interactive timeout.
  • InvalidInteractiveCredentials - Error class: InvalidInteractiveCredentials. Error message: Interactive action failed.
  • Payment rejected - Error class: PaymentFailed. Error message: Payment cancelled.
  • Payment cancelled - Error class: PaymentFailed. Error message: Payment cancelled.
  • Insufficient funds - Error class: PaymentFailed. Error message: Insufficient funds.
  • Invalid attribute - Error class: PaymentFailed. Error message: Invalid value for currency_code.
  • Payment failed - Error class: PaymentFailed. Error message: Payment failed.
  • Payment failed with delay - The payment will fail after 20 to 25 second from the moment of initialization. Error class: PaymentFailed. Error message: Payment failed.

Fake Bank with eIDAS Certificates (fake_oauth_eidas_client_xf), Fake OAuth Bank with Client Keys (fake_oauth_client_xf), Fake OAuth Interactive Redirect with Client Keys (fake_oauth_interactive_client_xf) and Fake Bank with Delayed Payment Authorization (fake_delayed_oauth_client_xf) allows selecting the successful scenario you would like to test. The choices are as follows:

  • Grant access - The payment will be accepted.
  • Accepted payment with delay - The payment will be accepted after 20 to 25 second from the moment of initialization.

Note: All the aforementioned providers require for Client Provider Keys to be set. Check the provider’s instructions in the Connect page for the appropriate credentials.

Sandbox

Sandbox is a live-testing environment of a regulated provider that allows Partners and Clients to test providers under Salt Edge’s supervision.

In order to help with testing regulated providers, Salt Edge offers the sandbox environment of each PSD2 bank. A sandbox is identified by the word Sandbox in the provider_name (eg. Lloyds Bank (Sandbox)) with a designated provider_code containing XF as country code (eg.lloyds_oauth_client_gb_xf).

Just as with the fake providers, sandbox providers can be tested if your application is in Test or Pending status. In the Connect page, we will let you select the fake country (having the country code XF), and its sandbox providers.

The authorization instructions are mentioned under the Instructions field on its Connect page.

Note: Some Sandboxes may not be available for an indefinite period of time due to the limited support sources of a provider.

Customers

A customer represents a person who will be using your application. You need to store the id returned from the response in your application, which is necessary when creating payments.

A Customer represents a person, an end-user, who will be using your application. You need to store the id returned from the create response in your application, which is necessary when creating payments. We give you the following customer API actions so that the customer will be successfully identified within Salt Edge.

Note: It is also possible to create a customer with Account Information API and then use the same customer in Payment Initiation API.

Create

Creates a customer, returning the customer object.

Parameters

identifier

string

A unique identifier of the new customer

identifier

string

A unique identifier of the new customer

Possible Errors

Error classHTTP codeDescription
DuplicatedCustomer409 Duplicated

A customer with such an identifier already exists

WrongRequestFormat400 Bad Request

Either an identifier is missing from the request body or is not an integer/string

URL

https://www.saltedge.com/api/payments/v1/customers

https://www.saltedge.com/api/payments/v1/customers

Method

POST

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"identifier\": \"12rv1212f1efxchsdhbgv\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/customers
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"identifier\": \"12rv1212f1efxchsdhbgv\" \
              } \
            }" \
        https://www.saltedge.com/api/payments/v1/customers

Sample Response

{
  "data": {
    "id": "222222222222222222",
    "identifier": "12rv1212f1efxchsdhbgv",
    "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
    "created_at": "2020-03-12T09:20:01Z",
    "updated_at": "2020-03-12T09:20:01Z"
  }
}
{
  "data": {
    "id": "222222222222222222",
    "identifier": "12rv1212f1efxchsdhbgv",
    "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
    "created_at": "2020-03-12T09:20:01Z",
    "updated_at": "2020-03-12T09:20:01Z"
  }
}

Show

Returns the customer object.

Parameters

customer_id

integer

The id of the customer

customer_id

integer

The id of the customer

Possible Errors

Error classHTTP codeDescription
CustomerNotFound404 Not Found

Customer with such a customer_id could not be located

URL

https://www.saltedge.com/api/payments/v1/customers/{customer.id}

https://www.saltedge.com/api/payments/v1/customers/{customer.id}

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222

Sample Response

{
  "data": {
    "id": "222222222222222222",
    "identifier": "12rv1212f1efxchsdhbgv",
    "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
    "created_at": "2020-03-12T09:20:01Z",
    "updated_at": "2020-03-12T09:20:01Z"
  }
}
{
  "data": {
    "id": "222222222222222222",
    "identifier": "12rv1212f1efxchsdhbgv",
    "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
    "created_at": "2020-03-12T09:20:01Z",
    "updated_at": "2020-03-12T09:20:01Z"
  }
}

List

List all of your app’s customers. This route is available only for web applications, not mobile ones.

Parameters

identifier

string, optional

A unique identifier of a customer

identifier

string, optional

A unique identifier of a customer

Possible Errors

No specific errors

URL

https://www.saltedge.com/api/payments/v1/customers

https://www.saltedge.com/api/payments/v1/customers

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/customers
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/customers

Sample Response

{
  "data": [
    {
      "id": "222222222222222222",
      "identifier": "unique_customer_identifier",
      "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
      "created_at": "2020-03-12T09:20:01Z",
      "updated_at": "2020-03-12T09:20:01Z"
    },
    {
      "id": "222222222222222223",
      "identifier": "unique_customer_identifier_2",
      "secret": "Ct124tk12j0129i10-1j2k124kgk1lgqvUJ8CIC80-8",
      "created_at": "2020-03-12T09:20:01Z",
      "updated_at": "2020-03-12T09:20:01Z"
    }
  ],
  "meta": {
    "next_id": "222222222222222224",
    "next_page": "/api/payments/v1/customers?from_id=222222222222222224"
  }
}
{
  "data": [
    {
      "id": "222222222222222222",
      "identifier": "unique_customer_identifier",
      "secret": "AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8",
      "created_at": "2020-03-12T09:20:01Z",
      "updated_at": "2020-03-12T09:20:01Z"
    },
    {
      "id": "222222222222222223",
      "identifier": "unique_customer_identifier_2",
      "secret": "Ct124tk12j0129i10-1j2k124kgk1lgqvUJ8CIC80-8",
      "created_at": "2020-03-12T09:20:01Z",
      "updated_at": "2020-03-12T09:20:01Z"
    }
  ],
  "meta": {
    "next_id": "222222222222222224",
    "next_page": "/api/payments/v1/customers?from_id=222222222222222224"
  }
}

Remove

Deletes a customer, returning the customer object. This route is available only for web applications.

Parameters

customer_id

integer

The id of the customer

customer_id

integer

The id of the customer

Possible Errors

Error classHTTP codeDescription
CustomerLocked406 Not Acceptable

Current customer is locked. It can be unlocked

CustomerNotFound404 Not Found

Customer with the passed customer_id could not be located

URL

https://www.saltedge.com/api/payments/v1/customers/{customer.id}

https://www.saltedge.com/api/payments/v1/customers/{customer.id}

Method

DELETE

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X DELETE \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X DELETE \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222

Sample Response

{
  "data": {
    "deleted": true,
    "id": "222222222222222222"
  }
}
{
  "data": {
    "deleted": true,
    "id": "222222222222222222"
  }
}

Lock

Locks a customer and its data, returning the customer object.

All customer related data, including payments, will not be available for reading, updating or deleting even by Salt Edge. This route is available only for web applications.

Parameters

customer_id

integer

The id of the customer

customer_id

integer

The id of the customer

Possible Errors

Error classHTTP codeDescription
CustomerNotFound404 Not Found

Customer with the passed customer_id could not be located

URL

https://www.saltedge.com/api/payments/v1/customers/{customer.id}/lock

https://www.saltedge.com/api/payments/v1/customers/{customer.id}/lock

Method

PUT

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222/lock
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222/lock

Sample Response

{
  "data": {
    "locked": true,
    "id": "222222222222222222"
  }
}
{
  "data": {
    "locked": true,
    "id": "222222222222222222"
  }
}

Unlock

Unlocks a customer and its data, returning the customer object. This route is available only for web applications.

Parameters

customer_id

integer

The id of the customer

customer_id

integer

The id of the customer

Possible Errors

Error classHTTP codeDescription
CustomerNotFound404 Not Found

Customer with the passed customer_id could not be located

URL

https://www.saltedge.com/api/payments/v1/customers/{customer.id}/unlock

https://www.saltedge.com/api/payments/v1/customers/{customer.id}/unlock

Method

PUT

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222/unlock
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/customers/222222222222222222/unlock

Sample Response

{
  "data": {
    "unlocked": true,
    "id": "222222222222222222"
  }
}
{
  "data": {
    "unlocked": true,
    "id": "222222222222222222"
  }
}

Payments

A payment resource represents a detailed description of a particular payment.

They are meant to provide you with more information about the executed payments for further usage in technical and statistical purposes.

Attributes

id

string

The id of the payment

payment_attributes

object

template_identifier

string

The identifier of the payment template used for this payment

status

string

Possible values are:

  • processing – the payment order execution is in progress, more detailed information about its status can be found in the current stage. Possible stages - all except for finish.
  • accepted – the payment order was accepted by the provider. Possible stages- finish.
  • rejected – the payment order was rejected by the provider, and a reason is provided. Possible stages - finish.
  • failed – either the payment order execution failed due to an unknown reason, or the service provider returned a generic error, or the provider was down, or the provider returned an unexpected response. Possible stages - finish.
  • unknown – the payment order could not be confirmed to be either successful or failed/rejected within the allocated time. Possible stages - finish.
  • deleted – the payment was deleted. Possible stages- finish.

stages

array of objects

Information about stages through which the payment has passed

created_at

string (date-time)

Time and date when the payment was made

updated_at

string (date-time)

The last time when any of the payment’s attributes were changed

custom_fields

object

A JSON object, which will be sent back on any of your callbacks

id

string

The id of the payment

payment_attributes

object

template_identifier

string

The identifier of the payment template used for this payment

status

string

Possible values are:

  • processing – the payment order execution is in progress, more detailed information about its status can be found in the current stage. Possible stages - all except for finish.
  • accepted – the payment order was accepted by the provider. Possible stages- finish.
  • rejected – the payment order was rejected by the provider, and a reason is provided. Possible stages - finish.
  • failed – either the payment order execution failed due to an unknown reason, or the service provider returned a generic error, or the provider was down, or the provider returned an unexpected response. Possible stages - finish.
  • unknown – the payment order could not be confirmed to be either successful or failed/rejected within the allocated time. Possible stages - finish.
  • deleted – the payment was deleted. Possible stages- finish.

stages

array of objects

Information about stages through which the payment has passed

created_at

string (date-time)

Time and date when the payment was made

updated_at

string (date-time)

The last time when any of the payment’s attributes were changed

custom_fields

object

A JSON object, which will be sent back on any of your callbacks

Sample object

{
  "data": {
    "id": "131313131313131313",
    "payment_attributes": {
      "amount": "120",
      "iban_to": "DE12345678123456781231",
      "description": "test",
      "currency_code": "EUR"
    },
    "status": "processing",
    "stages": [
      {
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "name": "interactive",
        "created_at": "2024-03-28T13:06:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='iban'>\n<span>Choose and input account iban:</span>\n<ol>\n<li value='XF123456789012345678'>XF123456789012345678 (800.0 EUR)</li><li value='XF876543210987654321'>XF876543210987654321 (800.0 USD)</li>\n</ol>\n</div>\n",
        "interactive_fields_names": [
          "iban"
        ]
      }
    ],
    "custom_fields": {
    },
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:06:09Z"
  }
}
{
  "data": {
    "id": "131313131313131313",
    "payment_attributes": {
      "amount": "120",
      "iban_to": "DE12345678123456781231",
      "description": "test",
      "currency_code": "EUR"
    },
    "status": "processing",
    "stages": [
      {
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "name": "interactive",
        "created_at": "2024-03-28T13:06:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='iban'>\n<span>Choose and input account iban:</span>\n<ol>\n<li value='XF123456789012345678'>XF123456789012345678 (800.0 EUR)</li><li value='XF876543210987654321'>XF876543210987654321 (800.0 USD)</li>\n</ol>\n</div>\n",
        "interactive_fields_names": [
          "iban"
        ]
      }
    ],
    "custom_fields": {
    },
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:06:09Z"
  }
}

Show

Returns a single payment object.

Parameters

payment_id

string

The id of the payment

payment_id

string

The id of the payment

Possible Errors

Error classHTTP codeDescription
PaymentNotFound404 Not Found

Thepayment_id could not be located

URL

https://www.saltedge.com/api/payments/v1/payments/{payment.id}

https://www.saltedge.com/api/payments/v1/payments/{payment.id}

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313

Sample response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:10:09Z",
    "status": "accepted",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-03-26T13:29:09Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "id": "242424242424242420",
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-03-28T13:06:09Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol> <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "id": "242424242424242424",
        "name": "submission",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-03-28T13:08:09Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-03-28T13:09:09Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-03-28T13:10:09Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:10:09Z",
    "status": "accepted",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-03-26T13:29:09Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "id": "242424242424242420",
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-03-28T13:06:09Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol> <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "id": "242424242424242424",
        "name": "submission",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-03-28T13:08:09Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-03-28T13:09:09Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-03-28T13:10:09Z"
      }
    ]
  }
}

List

Returns all the payments accessible to your application. The payments are sorted in ascending order of their ids, so the newest payments will come last. We recommend you fetch the whole list of payments to check whether any of the properties have changed. You can read more about next_id field in the pagination section of the reference.

Parameters

from_id

string, optional

The id of the record starting the next page. Defaults to null.

customer_id

string

The id of the customer containing the payments

from_id

string, optional

The id of the record starting the next page. Defaults to null.

customer_id

string

The id of the customer containing the payments

Possible Errors

Error classHTTP codeDescription
ValueOutOfRange400 Bad Request

Either next_id, from_id and/or customer_id exceed integer limit

URL

https://www.saltedge.com/api/payments/v1/payments?customer_id={customer.id}

https://www.saltedge.com/api/payments/v1/payments?customer_id={customer.id}

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/payments?customer_id=222222222222222222
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/payments?customer_id=222222222222222222

Sample response

{
  "data": [
    {
      "id": "131313131313131313",
      "provider_code": "fake_client_xf",
      "provider_name": "Fake Bank with Client Keys",
      "customer_id": "222222222222222222",
      "created_at": "2024-03-13T13:29:09Z",
      "updated_at": "2024-03-26T13:29:09Z",
      "status": "processing",
      "template_identifier": "SEPA",
      "payment_attributes": {
        "end_to_end_id": "#123123123",
        "reference": "p:474747474747474747",
        "customer_last_logged_at": "2024-03-26T13:29:09Z",
        "customer_ip_address": "255.255.255.255",
        "customer_device_os": "iOS 11",
        "creditor_name": "Jay Dawson",
        "creditor_street_name": "One Canada Square",
        "creditor_building_number": "One",
        "creditor_country_code": "UK",
        "currency_code": "GBP",
        "amount": "199000.00",
        "description": "Stocks purchase",
        "creditor_iban": "GB33BUKB20201555555555"
      },
      "custom_fields": {
      },
      "stages": [
        {
          "id": "242424242424242420",
          "name": "initialize",
          "created_at": "2024-03-26T13:29:09Z"
        },
        {
          "id": "242424242424242421",
          "name": "start",
          "created_at": "2024-03-26T13:29:09Z"
        },
        {
          "id": "242424242424242422",
          "name": "interactive",
          "created_at": "2024-03-26T13:29:09Z",
          "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='iban'><span>Choose and input account iban:</span><ol><li value='XF123456789012345678'>XF123456789012345678 (800.0 EUR)</li><li value='XF876543210987654321'>XF876543210987654321 (800.0 USD)</li></ol></div>",
          "interactive_fields_names": [
            "iban"
          ]
        }
      ]
    }
  ],
  "meta": {
    "next_id": "131313131313131314",
    "next_page": "/api/payments/v1/payments?customer_id=5122311&from_id=131313131313131314"
  }
}
{
  "data": [
    {
      "id": "131313131313131313",
      "provider_code": "fake_client_xf",
      "provider_name": "Fake Bank with Client Keys",
      "customer_id": "222222222222222222",
      "created_at": "2024-03-13T13:29:09Z",
      "updated_at": "2024-03-26T13:29:09Z",
      "status": "processing",
      "template_identifier": "SEPA",
      "payment_attributes": {
        "end_to_end_id": "#123123123",
        "reference": "p:474747474747474747",
        "customer_last_logged_at": "2024-03-26T13:29:09Z",
        "customer_ip_address": "255.255.255.255",
        "customer_device_os": "iOS 11",
        "creditor_name": "Jay Dawson",
        "creditor_street_name": "One Canada Square",
        "creditor_building_number": "One",
        "creditor_country_code": "UK",
        "currency_code": "GBP",
        "amount": "199000.00",
        "description": "Stocks purchase",
        "creditor_iban": "GB33BUKB20201555555555"
      },
      "custom_fields": {
      },
      "stages": [
        {
          "id": "242424242424242420",
          "name": "initialize",
          "created_at": "2024-03-26T13:29:09Z"
        },
        {
          "id": "242424242424242421",
          "name": "start",
          "created_at": "2024-03-26T13:29:09Z"
        },
        {
          "id": "242424242424242422",
          "name": "interactive",
          "created_at": "2024-03-26T13:29:09Z",
          "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='iban'><span>Choose and input account iban:</span><ol><li value='XF123456789012345678'>XF123456789012345678 (800.0 EUR)</li><li value='XF876543210987654321'>XF876543210987654321 (800.0 USD)</li></ol></div>",
          "interactive_fields_names": [
            "iban"
          ]
        }
      ]
    }
  ],
  "meta": {
    "next_id": "131313131313131314",
    "next_page": "/api/payments/v1/payments?customer_id=5122311&from_id=131313131313131314"
  }
}

Refresh

Allows you to trigger a refresh of the payment status.

payment_id

string

The id of the payment

payment_id

string

The id of the payment

Possible Errors

Error classHTTP codeDescription
PaymentAlreadyStarted406 Not Acceptable

The payment is already processing i.e. last_stage != finish

PaymentNotFound404 Not Found

The payment_id is provided incorrectly

PaymentStatusUnknown

Payment status has not yet changed on the bank side. The status can be unknown until we get an updated status from the bank (either rejected or accepted)

URL

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/refresh

https://www.saltedge.com/api/payments/v1/payments/{payment.id}/refresh

Method

PUT

Authentication

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313/refresh
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X PUT \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313/refresh

Sample Response

{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:10:09Z",
    "status": "unknown",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-03-26T13:29:09Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "id": "242424242424242420",
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-03-28T13:06:09Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol> <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "id": "242424242424242424",
        "name": "submission",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-03-28T13:08:09Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-03-28T13:09:09Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-03-28T13:10:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-03-28T13:04:09Z",
    "updated_at": "2024-03-28T13:10:09Z",
    "status": "unknown",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-03-26T13:29:09Z",
      "customer_ip_address": "255.255.255.255",
      "customer_device_os": "iOS 11",
      "creditor_name": "Jay Dawson",
      "creditor_street_name": "One Canada Square",
      "creditor_building_number": "One",
      "creditor_country_code": "UK",
      "currency_code": "GBP",
      "amount": "199000.00",
      "description": "Stocks purchase",
      "creditor_iban": "GB33BUKB20201555555555"
    },
    "custom_fields": {
    },
    "stages": [
      {
        "id": "242424242424242420",
        "name": "initialize",
        "created_at": "2024-03-28T13:04:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-03-28T13:06:09Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_html": "<div id='saltedge-interactive' data-saltedge-type='radio' data-saltedge-name='type_index'><span>Please authorize payment for total of 100.35 EUR.</span><ol> <li value=''>Payment fee.: 0.1 EUR</li><li value=''>Bank fee.: 0.25 EUR</li></ol></div>",
        "interactive_fields_names": [
          "confirmation_code"
        ],
        "interactive_fields_options": null
      },
      {
        "id": "242424242424242424",
        "name": "submission",
        "created_at": "2024-03-28T13:07:09Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-03-28T13:08:09Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-03-28T13:09:09Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-03-28T13:10:09Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-03-28T13:05:09Z"
      }
    ]
  }
}

Remove

Removes a payment from our system. It is possible to remove only payments where the last stage is finished.

Parameters

payment_id

string

The id of the payment

payment_id

string

The id of the payment

Possible Errors

Error classHTTP codeDescription
PaymentNotFinished406 Not Acceptable

There was an attempt to remove a payment before it is finished i.e. its last_stage is not finished

PaymentNotFound404 Not Found

The payment_id has not been correctly provided

URL

https://www.saltedge.com/api/payments/v1/payments/{payment.id}

https://www.saltedge.com/api/payments/v1/payments/{payment.id}

Method

DELETE

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X DELETE \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X DELETE \
        https://www.saltedge.com/api/payments/v1/payments/131313131313131313

Sample Response

{
  "data": {
    "id": "131313131313131313",
    "removed": true
  }
}
{
  "data": {
    "id": "131313131313131313",
    "removed": true
  }
}

Stages

The following represents the objects you get in the stages field of the payment object.

id

string

The id of the stage

name

string

The name of the stage. Possible values:

  • initialize - the payment object was created
  • start - the payment process has just begun
  • interactive - waiting for the interactive input
  • submission - preparing a payment initiation request for submission to the financial institution
  • settlement - payment initiation request accepted by the financial institution, waiting for settlement to complete
  • completed - payment initiation settlement has been completed, funds have been sent
  • finish - wrapping up the payment process.

interactive_html

string, optional

HTML code that shows the current interactive state of the payment. Appears only for the interactive providers.

interactive_fields_names

array of strings, optional

The interactive fields that are currently required by the provider of the payment. Appears only for the interactive providers.

error_class

string, optional

Error class name. Appears only when an error occurs.

message

string, optional

Brief error description. Appears only when an error occurs.

created_at

string (date-time)

Time and date when the stage was created

id

string

The id of the stage

name

string

The name of the stage. Possible values:

  • initialize - the payment object was created
  • start - the payment process has just begun
  • interactive - waiting for the interactive input
  • submission - preparing a payment initiation request for submission to the financial institution
  • settlement - payment initiation request accepted by the financial institution, waiting for settlement to complete
  • completed - payment initiation settlement has been completed, funds have been sent
  • finish - wrapping up the payment process.

interactive_html

string, optional

HTML code that shows the current interactive state of the payment. Appears only for the interactive providers.

interactive_fields_names

array of strings, optional

The interactive fields that are currently required by the provider of the payment. Appears only for the interactive providers.

error_class

string, optional

Error class name. Appears only when an error occurs.

message

string, optional

Brief error description. Appears only when an error occurs.

created_at

string (date-time)

Time and date when the stage was created

Possible Service Errors

During the finish stage the following errors might occur.

Error classHTTP codeDescription
ConnectionFailed406 Not Acceptable

Some network errors appeared while fetching data

ExecutionTimeout406 Not Acceptable

It took too long to execute the payment

InteractiveAdapterTimeout406 Not Acceptable

The customer hasn’t completed the interactive step of the payment in time

InvalidCredentials406 Not Acceptable

The customer tried to initiate a payment with the wrong credentials

InvalidInteractiveCredentials406 Not Acceptable

The customer entered wrong credentials during the interactive step of the payment

PaymentFailed406 Not Acceptable

Failed to create the payment

ProviderUnavailable406 Not Acceptable

At the moment, the provider is unavailable for some reason

Templates

A payment template resource contains a set of required and optional fields that need to be filled in order to successfully execute a payment. Different payment templates serve different purposes.

Attributes

id

string

The id of the payment template

identifier

string

Unique identifier of the payment template

description

string

Additional information related to the template

deprecated

boolean

Whether the payment template is deprecated or not. Deprecated payment templates will be removed in the next API version.

payment_fields

array of objects

created_at

string (date-time)

Time and date when the payment template was added

updated_at

string (date-time)

The last time when any of the template’s attributes were changed

id

string

The id of the payment template

identifier

string

Unique identifier of the payment template

description

string

Additional information related to the template

deprecated

boolean

Whether the payment template is deprecated or not. Deprecated payment templates will be removed in the next API version.

payment_fields

array of objects

created_at

string (date-time)

Time and date when the payment template was added

updated_at

string (date-time)

The last time when any of the template’s attributes were changed

Sample object

{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363639",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363657",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363661",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "36363636363636363662",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363663",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363639",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363657",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363661",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "36363636363636363662",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "36363636363636363663",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}

Show

Returns a single payment template object.

Parameters

template_identifier

string

The requested template identifier

template_identifier

string

The requested template identifier

Possible Errors

Error classHTTP codeDescription
PaymentTemplateNotFound404 Not Found

No payment template was found by the passed template identifier

URL

https://www.saltedge.com/api/payments/v1/templates/{template.identifier}

https://www.saltedge.com/api/payments/v1/templates/{template.identifier}

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates/SEPA
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates/SEPA

Sample response

{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363634",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "3636363636363636339",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "reference": "p:1928384756",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363657",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363661",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "363636363636363662",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363663",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363634",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "3636363636363636339",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "reference": "p:1928384756",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363657",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363661",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "363636363636363662",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363663",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}

List

Returns all the available payment templates.

Parameters

from_id

string, optional

The id of the record starting the next page. Defaults to null.

deprecated

boolean, optional

Filtering payment templates by deprecation. All the supported payment templates will be returned if no value was set.

from_id

string, optional

The id of the record starting the next page. Defaults to null.

deprecated

boolean, optional

Filtering payment templates by deprecation. All the supported payment templates will be returned if no value was set.

Possible Errors

No specific errors

URL

https://www.saltedge.com/api/payments/v1/templates

https://www.saltedge.com/api/payments/v1/templates

Method

GET

Sample request

curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X GET \
        https://www.saltedge.com/api/payments/v1/templates

Sample response

{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363634",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363639",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363657",
        "payment_template_id": "29",
        "name": "reference",
        "english_name": "Payment Reference",
        "localized_name": "Payment Reference",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363661",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363662",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "363636363636363663",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363664",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-03-25T13:29:10Z",
    "updated_at": "2024-03-25T13:29:10Z",
    "payment_fields": [
      {
        "id": "363636363636363630",
        "payment_template_id": "29",
        "name": "amount",
        "english_name": "Amount",
        "localized_name": "Amount",
        "nature": "number",
        "position": 29,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363631",
        "payment_template_id": "29",
        "name": "debtor_iban",
        "english_name": "Debtor IBAN",
        "localized_name": "Debtor IBAN",
        "nature": "text",
        "position": 30,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363632",
        "payment_template_id": "29",
        "name": "creditor_iban",
        "english_name": "Creditor IBAN",
        "localized_name": "Creditor IBAN",
        "nature": "text",
        "position": 31,
        "extra": {
          "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363633",
        "payment_template_id": "29",
        "name": "mode",
        "english_name": "Mode",
        "localized_name": "Mode",
        "nature": "select",
        "position": 33,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "NORMAL",
            "english_name": "NORMAL",
            "localized_name": "NORMAL",
            "option_value": "NORMAL",
            "selected": true
          },
          {
            "name": "INSTANT",
            "english_name": "INSTANT",
            "localized_name": "INSTANT",
            "option_value": "INSTANT",
            "selected": false
          }
        ]
      },
      {
        "id": "363636363636363634",
        "payment_template_id": "29",
        "name": "debtor_region",
        "english_name": "Debtor Region",
        "localized_name": "Debtor Region",
        "nature": "text",
        "position": 14,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363635",
        "payment_template_id": "29",
        "name": "creditor_agent",
        "english_name": "Creditor Agent ID",
        "localized_name": "Creditor Agent ID",
        "nature": "text",
        "position": 17,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363636",
        "payment_template_id": "29",
        "name": "customer_ip_address",
        "english_name": "Customer IP Address",
        "localized_name": "Customer IP Address",
        "nature": "text",
        "position": 2,
        "extra": {
          "validation_regexp": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363637",
        "payment_template_id": "29",
        "name": "debtor_name",
        "english_name": "Debtor Name",
        "localized_name": "Debtor Name",
        "nature": "text",
        "position": 8,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363638",
        "payment_template_id": "29",
        "name": "creditor_name",
        "english_name": "Creditor Name",
        "localized_name": "Creditor Name",
        "nature": "text",
        "position": 16,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363639",
        "payment_template_id": "29",
        "name": "creditor_address",
        "english_name": "Creditor Address",
        "localized_name": "Creditor Address",
        "nature": "text",
        "position": 19,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363640",
        "payment_template_id": "29",
        "name": "debtor_building_number",
        "english_name": "Debtor Building Number",
        "localized_name": "Debtor Building Number",
        "nature": "text",
        "position": 11,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363641",
        "payment_template_id": "29",
        "name": "customer_longitude",
        "english_name": "Customer Longitude",
        "localized_name": "Customer Longitude",
        "nature": "number",
        "position": 7,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363642",
        "payment_template_id": "29",
        "name": "debtor_town",
        "english_name": "Debtor Town",
        "localized_name": "Debtor Town",
        "nature": "text",
        "position": 13,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363643",
        "payment_template_id": "29",
        "name": "creditor_agent_name",
        "english_name": "Creditor Agent Name",
        "localized_name": "Creditor Agent Name",
        "nature": "text",
        "position": 18,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363644",
        "payment_template_id": "29",
        "name": "creditor_street_name",
        "english_name": "Creditor Street Name",
        "localized_name": "Creditor Street Name",
        "nature": "text",
        "position": 20,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363645",
        "payment_template_id": "29",
        "name": "creditor_building_number",
        "english_name": "Creditor Building Number",
        "localized_name": "Creditor Building Number",
        "nature": "text",
        "position": 21,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363646",
        "payment_template_id": "29",
        "name": "creditor_post_code",
        "english_name": "Creditor Post Code",
        "localized_name": "Creditor Post Code",
        "nature": "text",
        "position": 22,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363647",
        "payment_template_id": "29",
        "name": "creditor_town",
        "english_name": "Creditor Town",
        "localized_name": "Creditor Town",
        "nature": "text",
        "position": 23,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363648",
        "payment_template_id": "29",
        "name": "creditor_region",
        "english_name": "Creditor Region",
        "localized_name": "Creditor Region",
        "nature": "text",
        "position": 24,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363649",
        "payment_template_id": "29",
        "name": "creditor_country_code",
        "english_name": "Creditor Country Code",
        "localized_name": "Creditor Country Code",
        "nature": "text",
        "position": 25,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363650",
        "payment_template_id": "29",
        "name": "date",
        "english_name": "Payment Date",
        "localized_name": "Payment Date",
        "nature": "text",
        "position": 26,
        "extra": {
          "validation_regexp": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363651",
        "payment_template_id": "29",
        "name": "time",
        "english_name": "Payment Time",
        "localized_name": "Payment Time",
        "nature": "text",
        "position": 27,
        "extra": {
          "validation_regexp": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363652",
        "payment_template_id": "29",
        "name": "customer_ip_port",
        "english_name": "Customer IP Port",
        "localized_name": "Customer IP Port",
        "nature": "number",
        "position": 3,
        "extra": {
          "validation_regexp": "^\\d{1,5}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363653",
        "payment_template_id": "29",
        "name": "customer_device_os",
        "english_name": "Customer Device OS",
        "localized_name": "Customer Device OS",
        "nature": "text",
        "position": 4,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363654",
        "payment_template_id": "29",
        "name": "customer_latitude",
        "english_name": "Customer Latitude",
        "localized_name": "Customer Latitude",
        "nature": "number",
        "position": 6,
        "extra": {
          "validation_regexp": "^[-+]?[0-9]*\\.?[0-9]+$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363655",
        "payment_template_id": "29",
        "name": "description",
        "english_name": "Description",
        "localized_name": "Description",
        "nature": "text",
        "position": 28,
        "extra": {
          "validation_regexp": "^.{2,1000}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363656",
        "payment_template_id": "29",
        "name": "end_to_end_id",
        "english_name": "End to End Identification",
        "localized_name": "End to End Identification",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363657",
        "payment_template_id": "29",
        "name": "reference",
        "english_name": "Payment Reference",
        "localized_name": "Payment Reference",
        "nature": "text",
        "position": 0,
        "extra": {
          "validation_regexp": "^.{1,35}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363658",
        "payment_template_id": "29",
        "name": "debtor_address",
        "english_name": "Debtor Address",
        "localized_name": "Debtor Address",
        "nature": "text",
        "position": 9,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363659",
        "payment_template_id": "29",
        "name": "debtor_street_name",
        "english_name": "Debtor Street Name",
        "localized_name": "Debtor Street Name",
        "nature": "text",
        "position": 10,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363660",
        "payment_template_id": "29",
        "name": "debtor_post_code",
        "english_name": "Debtor Post Code",
        "localized_name": "Debtor Post Code",
        "nature": "text",
        "position": 12,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363661",
        "payment_template_id": "29",
        "name": "debtor_country_code",
        "english_name": "Debtor Country Code",
        "localized_name": "Debtor Country Code",
        "nature": "text",
        "position": 15,
        "extra": {
          "validation_regexp": "^[A-Z]{2}$"
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363662",
        "payment_template_id": "29",
        "name": "currency_code",
        "english_name": "Currency",
        "localized_name": "Currency",
        "nature": "select",
        "position": 32,
        "extra": {
          "validation_regexp": ""
        },
        "optional": false,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z",
        "field_options": [
          {
            "name": "EUR",
            "english_name": "EUR",
            "localized_name": "EUR",
            "option_value": "EUR",
            "selected": true
          }
        ]
      },
      {
        "id": "363636363636363663",
        "payment_template_id": "29",
        "name": "customer_user_agent",
        "english_name": "Customer User Agent",
        "localized_name": "Customer User Agent",
        "nature": "text",
        "position": 5,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      },
      {
        "id": "363636363636363664",
        "payment_template_id": "29",
        "name": "customer_last_logged_at",
        "english_name": "Customer Last Logged At",
        "localized_name": "Customer Last Logged At",
        "nature": "text",
        "position": 1,
        "extra": {
          "validation_regexp": ""
        },
        "optional": true,
        "created_at": "2024-03-25T13:29:10Z",
        "updated_at": "2024-03-25T13:29:10Z"
      }
    ]
  }
}

Payment fields

There are several types of fields as marked by their nature attribute.

id

string

The id of the payment field

payment_template_id

string

The id of the payment template

name

string, optional

The field’s name that should be used as a key in the credentials object

english_name

string, optional

The field’s name in US English

localized_name

string, optional

The field’s name in the provider’s main language

nature

string, optional

Nature Possible values: text, password, select, file, number, dynamic_select.

position

integer, optional

The field’s position in the public user interface

extra

object, optional

Extra data associated with the payment field

optional

boolean, optional

Whether the input for this field is optional or not

field_options

object, optional

Only for the select field type. Contains the options for the select.

created_at

string (date-time)

Time and date when the payment field was added

updated_at

string (date-time)

The last time when any of the payment field’s attributes were changed

id

string

The id of the payment field

payment_template_id

string

The id of the payment template

name

string, optional

The field’s name that should be used as a key in the credentials object

english_name

string, optional

The field’s name in US English

localized_name

string, optional

The field’s name in the provider’s main language

nature

string, optional

Nature Possible values: text, password, select, file, number, dynamic_select.

position

integer, optional

The field’s position in the public user interface

extra

object, optional

Extra data associated with the payment field

optional

boolean, optional

Whether the input for this field is optional or not

field_options

object, optional

Only for the select field type. Contains the options for the select.

created_at

string (date-time)

Time and date when the payment field was added

updated_at

string (date-time)

The last time when any of the payment field’s attributes were changed

Sample object

{
  "id": "131313131313131313",
  "payment_template_id": "2",
  "name": "iban_from",
  "english_name": "IBAN from",
  "localized_name": "IBAN from",
  "nature": "text",
  "position": 1,
  "extra": {
    "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
  },
  "optional": false,
  "created_at": "2024-03-25T13:29:10Z",
  "updated_at": "2024-03-25T13:29:10Z"
}
{
  "id": "131313131313131313",
  "payment_template_id": "2",
  "name": "iban_from",
  "english_name": "IBAN from",
  "localized_name": "IBAN from",
  "nature": "text",
  "position": 1,
  "extra": {
    "validation_regexp": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[A-Z0-9]{7}([a-zA-Z0-9]?){0,16}$"
  },
  "optional": false,
  "created_at": "2024-03-25T13:29:10Z",
  "updated_at": "2024-03-25T13:29:10Z"
}

Extra

The following represents the object you get in the extra field of the payment field object.

Note: You may or may not have all of the fields listed below.

validation_regexp

string, optional

The regexp used for the payment field validation

validation_regexp

string, optional

The regexp used for the payment field validation

Common attributes

Required fields are mandatory for a payment to be processed, while optional fields are supported by the provider for additional information. If optional fields are not supported by the provider, they will be logged on our side, but not sent to the provider.

The set of required and optional fields for a payment template could vary for different providers. Some optional fields from a template may become required for a specific provider.

end_to_end_id

string

An internal identifier used by the merchants and not accesible/visible to the end-user

reference

string, optional

An external identifier which is visible to the end-user (e.g. tracking number, order number, bill number, etc)

customer_last_logged_at

string (date-time), optional

Time when the customer was last logged in

customer_ip_address

string

IP address of the customer

customer_ip_port

string, optional

IP port of the customer

customer_device_os

string, optional

The operating system of the customer

customer_user_agent

string, optional

The user-agent of the customer

customer_latitude

string, optional

Defines the customer’s location

customer_longitude

string, optional

Defines the customer’s location

debtor_name

string, optional

The full name of the debtor (payer)

debtor_address

string, optional

The full address of the debtor

debtor_street_name

string, optional

The street name of the debtor

debtor_building_number

string, optional

The building number of the debtor

debtor_post_code

string, optional

The post code of the debtor

debtor_town

string, optional

The name of the town/city of the debtor

debtor_region

string, optional

The name of the country/region of the debtor

debtor_country_code

string, optional

The ISO code of the debtor’s country

creditor_name

string

The full name of the creditor (payee)

creditor_agent

string, optional

The id of the creditor’s agent

creditor_agent_name

string, optional

The name of the creditor’s agent

creditor_address

string, optional

The full address of the creditor

creditor_street_name

string, optional

The street name of the creditor

creditor_building_number

string, optional

The building number of the creditor

creditor_post_code

string, optional

The post code of the creditor

creditor_town

string, optional

The name of the town/city of the creditor

creditor_region

string, optional

The name of the country/region of the creditor

creditor_country_code

string

The ISO code of the creditor’s country

amount

string

Payment amount in the specified currency

description

string

The unstructured description of the payment:

  • Most ASPSPs have certain limitations in place when it comes to the formatting of the unstructured payment remittance information (description).
  • Using alphanumeric characters along with ., ,, -, /, ?, (, ), +, ' and spaces as well as keeping the length of the description under 1000 characters should be a safe approach for most ASPSPs (RegExp /[A-Za-z0-9.-,()+'? ]{2,1000}/).
  • ASPSPs may extend these constraints depending on their core banking system, payment schema and other relevant factors.

purpose_code

string, optional

ISO 18245 purpose code

date

string (date), optional

The date when to execute the payment. Defaults to the current date.

time

string (time), optional

The precise time when to execute the payment. Defaults to the current time.

end_to_end_id

string

An internal identifier used by the merchants and not accesible/visible to the end-user

reference

string, optional

An external identifier which is visible to the end-user (e.g. tracking number, order number, bill number, etc)

customer_last_logged_at

string (date-time), optional

Time when the customer was last logged in

customer_ip_address

string

IP address of the customer

customer_ip_port

string, optional

IP port of the customer

customer_device_os

string, optional

The operating system of the customer

customer_user_agent

string, optional

The user-agent of the customer

customer_latitude

string, optional

Defines the customer’s location

customer_longitude

string, optional

Defines the customer’s location

debtor_name

string, optional

The full name of the debtor (payer)

debtor_address

string, optional

The full address of the debtor

debtor_street_name

string, optional

The street name of the debtor

debtor_building_number

string, optional

The building number of the debtor

debtor_post_code

string, optional

The post code of the debtor

debtor_town

string, optional

The name of the town/city of the debtor

debtor_region

string, optional

The name of the country/region of the debtor

debtor_country_code

string, optional

The ISO code of the debtor’s country

creditor_name

string

The full name of the creditor (payee)

creditor_agent

string, optional

The id of the creditor’s agent

creditor_agent_name

string, optional

The name of the creditor’s agent

creditor_address

string, optional

The full address of the creditor

creditor_street_name

string, optional

The street name of the creditor

creditor_building_number

string, optional

The building number of the creditor

creditor_post_code

string, optional

The post code of the creditor

creditor_town

string, optional

The name of the town/city of the creditor

creditor_region

string, optional

The name of the country/region of the creditor

creditor_country_code

string

The ISO code of the creditor’s country

amount

string

Payment amount in the specified currency

description

string

The unstructured description of the payment:

  • Most ASPSPs have certain limitations in place when it comes to the formatting of the unstructured payment remittance information (description).
  • Using alphanumeric characters along with ., ,, -, /, ?, (, ), +, ' and spaces as well as keeping the length of the description under 1000 characters should be a safe approach for most ASPSPs (RegExp /[A-Za-z0-9.-,()+'? ]{2,1000}/).
  • ASPSPs may extend these constraints depending on their core banking system, payment schema and other relevant factors.

purpose_code

string, optional

ISO 18245 purpose code

date

string (date), optional

The date when to execute the payment. Defaults to the current date.

time

string (time), optional

The precise time when to execute the payment. Defaults to the current time.

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2020-07-27",
  "time": "10:20:30"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2020-07-27",
  "time": "10:20:30"
}

Supported templates

Here you will find the list of all the currently supported payment templates.

Faster Payment

Alternative nameFPS
CoverageUK
Operated by Faster Payments Scheme Ltd (FPSL)
Average time of transactionUp to 2 hours

This payment template is enabled by passing the template_identifier with the value “FPS” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}

BACS

Alternative nameBankers Automated Clearing Services
CoverageUK
Operated by Bacs Payment Schemes Limited. Its parent company is Pay.UK​.
Average time of transactionUp to 3 days

This payment template is enabled by passing the template_identifier with the value “BACS” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}

CHAPS

Alternative nameClearing House Automated Payment System
CoverageUK
Operated by Bank of England
Average time of transactionUp to 2 days

This payment template is enabled by passing the template_identifier with the value “CHAPS” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to GBP.

debtor_sort_code

string, optional

The debtor’s bank sort code

debtor_account_number

string, optional

The debtor’s bank account number

creditor_sort_code

string

The creditor’s bank sort code

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "GBP",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_sort_code": "40-47-84",
  "debtor_account_number": "70872490",
  "creditor_sort_code": "56-00-03",
  "creditor_account_number": "13354647"
}

SEPA

Alternative nameSingle Euro Payments Area
CoverageEU, UK and some EEA countries: Andorra, Iceland, Norway, Switzerland, Liechtenstein, Monaco, San Marino and Vatican City State.
Operated by European banking and payments industry with the support of national governments, the European Commission, the Eurosystem, and other public authorities.
Average time of transactionUp to 1 business day

This payment template is enabled by passing the template_identifier with the value “SEPA” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

mode

string, optional

This attribute has been deprecated and will not be used. If you need to initiate an instant SEPA payment please see the SEPA Instant template. Possible values: NORMAL, INSTANT. Defaults to NORMAL.

charge_bearer

string

Possible values: CREDITOR, DEBTOR, SHARED. Defaults to SHARED.

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

mode

string, optional

This attribute has been deprecated and will not be used. If you need to initiate an instant SEPA payment please see the SEPA Instant template. Possible values: NORMAL, INSTANT. Defaults to NORMAL.

charge_bearer

string

Possible values: CREDITOR, DEBTOR, SHARED. Defaults to SHARED.

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555",
  "mode": "NORMAL",
  "charge_bearer": "SHARED"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555",
  "mode": "NORMAL",
  "charge_bearer": "SHARED"
}

SEPA Instant

Alternative nameSingle Euro Payments Area
CoverageEU, EEA

This payment template is enabled by passing template_identifier with value “SEPA_INSTANT” in Pay with Connect or Pay with Direct API endpoints.

This template has all common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:1928384756",
  "customer_last_logged_at": "2018-11-21T13:48:40Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2018-11-20",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:1928384756",
  "customer_last_logged_at": "2018-11-21T13:48:40Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2018-11-20",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}

DOMESTIC

CoverageEU, UK and EEA

This payment template is enabled by passing the template_identifier with the value “DOMESTIC” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string, optional

The creditor’s IBAN

debtor_bban

string, optional

The debtor’s BBAN

creditor_bban

string, optional

The creditor’s BBAN

currency_code

string

The currency of the payment.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string, optional

The creditor’s IBAN

debtor_bban

string, optional

The debtor’s BBAN

creditor_bban

string, optional

The creditor’s BBAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:12345678987654321",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Siroka Str. 95, 12345 Prague, Czech Republic",
  "debtor_street_name": "Siroka Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "12345",
  "debtor_town": "Prague",
  "debtor_region": "Czech Republic",
  "debtor_country_code": "CZ",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "CZ75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:12345678987654321",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Siroka Str. 95, 12345 Prague, Czech Republic",
  "debtor_street_name": "Siroka Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "12345",
  "debtor_town": "Prague",
  "debtor_region": "Czech Republic",
  "debtor_country_code": "CZ",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "CZ75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}

SWIFT

Alternative nameThe Society for Worldwide Interbank Financial Telecommunication
CoverageGlobally

This payment template is enabled by passing the template_identifier with the value “SWIFT” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to USD.

creditor_account_number

string

The creditor’s account number

creditor_bank_swift_code

string

The creditor’s bank SWIFT code

creditor_bank_name

string

The creditor’s bank name

creditor_bank_street_name

string

The creditor’s bank street name

creditor_bank_building_number

string

The creditor’s bank building number

creditor_bank_post_code

string

The creditor’s bank post code

creditor_bank_town

string

The creditor’s bank town/city

creditor_bank_country_code

string

The creditor’s bank ISO country code

priority

string

Possible values: NORMAL, URGENT, SYSTEM. Defaults to NORMAL.

correspondent_account_number

string, optional

The correspondent’s account number

correspondent_bank_name

string, optional

The correspondent’s bank name

correspondent_bank_address

string, optional

The correspondent’s bank full address

creditor_bank_region

string, optional

The creditor’s bank country/region

correspondent_bank_swift_code

string, optional

The correspondent’s bank SWIFT code

creditor_bank_address

string, optional

The creditor’s bank full address

debtor_account_number

string, optional

The debtor’s account number

charge_bearer

string, optional

Possible values: CREDITOR, DEBTOR, SHARED. Defaults to CREDITOR.

currency_code

string

The currency of the payment. Defaults to USD.

creditor_account_number

string

The creditor’s account number

creditor_bank_swift_code

string

The creditor’s bank SWIFT code

creditor_bank_name

string

The creditor’s bank name

creditor_bank_street_name

string

The creditor’s bank street name

creditor_bank_building_number

string

The creditor’s bank building number

creditor_bank_post_code

string

The creditor’s bank post code

creditor_bank_town

string

The creditor’s bank town/city

creditor_bank_country_code

string

The creditor’s bank ISO country code

priority

string

Possible values: NORMAL, URGENT, SYSTEM. Defaults to NORMAL.

correspondent_account_number

string, optional

The correspondent’s account number

correspondent_bank_name

string, optional

The correspondent’s bank name

correspondent_bank_address

string, optional

The correspondent’s bank full address

creditor_bank_region

string, optional

The creditor’s bank country/region

correspondent_bank_swift_code

string, optional

The correspondent’s bank SWIFT code

creditor_bank_address

string, optional

The creditor’s bank full address

debtor_account_number

string, optional

The debtor’s account number

charge_bearer

string, optional

Possible values: CREDITOR, DEBTOR, SHARED. Defaults to CREDITOR.

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lewis Begum",
  "debtor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "debtor_street_name": "One Canada Square",
  "debtor_building_number": "One",
  "debtor_post_code": "E14 5AB",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "George Clayton",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "40 King Street West, Suite 2100, Toronto, Ontario M5H3C2, Canada",
  "creditor_street_name": "King Street West",
  "creditor_building_number": "40",
  "creditor_post_code": "M5H3C2",
  "creditor_town": "Toronto",
  "creditor_region": "Canada",
  "creditor_country_code": "CA",
  "amount": "199000.99",
  "currency_code": "USD",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "12345678",
  "creditor_bank_swift_code": "TDOMCATTTOR",
  "creditor_bank_name": "Toronto Dominion Bank",
  "creditor_bank_address": "1547 Merivale Road, Nepean, Ontario, K2G 4V3, Canada",
  "creditor_bank_street_name": "Merivale Road",
  "creditor_bank_building_number": "1547",
  "creditor_bank_post_code": "K2G 4V3",
  "creditor_bank_town": "Nepean",
  "creditor_bank_region": "Ontario",
  "creditor_bank_country_code": "CA",
  "correspondent_account_number": "026-009-593",
  "correspondent_bank_name": "Bank of America",
  "correspondent_bank_address": "New York",
  "correspondent_bank_swift_code": "BOFAUS3NXXX",
  "charge_bearer": "CREDITOR",
  "priority": "NORMAL"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lewis Begum",
  "debtor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "debtor_street_name": "One Canada Square",
  "debtor_building_number": "One",
  "debtor_post_code": "E14 5AB",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "George Clayton",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "40 King Street West, Suite 2100, Toronto, Ontario M5H3C2, Canada",
  "creditor_street_name": "King Street West",
  "creditor_building_number": "40",
  "creditor_post_code": "M5H3C2",
  "creditor_town": "Toronto",
  "creditor_region": "Canada",
  "creditor_country_code": "CA",
  "amount": "199000.99",
  "currency_code": "USD",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "12345678",
  "creditor_bank_swift_code": "TDOMCATTTOR",
  "creditor_bank_name": "Toronto Dominion Bank",
  "creditor_bank_address": "1547 Merivale Road, Nepean, Ontario, K2G 4V3, Canada",
  "creditor_bank_street_name": "Merivale Road",
  "creditor_bank_building_number": "1547",
  "creditor_bank_post_code": "K2G 4V3",
  "creditor_bank_town": "Nepean",
  "creditor_bank_region": "Ontario",
  "creditor_bank_country_code": "CA",
  "correspondent_account_number": "026-009-593",
  "correspondent_bank_name": "Bank of America",
  "correspondent_bank_address": "New York",
  "correspondent_bank_swift_code": "BOFAUS3NXXX",
  "charge_bearer": "CREDITOR",
  "priority": "NORMAL"
}

Target2

Alternative nameTrans-European Automated Real-time Gross settlement Express Transfer System 2
CoverageEEA
Operated by The Single Shared Platform (SSP)) by three central banks: Banque de France, Deutsche Bundesbank and Banca d’Italia (3CBs).
Average time of transactionProcessing of payments every working day from 07:00 to 18:00 CET

This payment template is enabled by passing the template_identifier with the value “TARGET2” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}

HSVP

Alternative nameCroatian Large Value Payment System (CLVPS)
CoverageCroatia
Operated by Croatian National Bank
Average time of transactionA settlement day starts at 7:30 a.m. and lasts until 6:00 p.m. on the current business day.

This payment template is enabled by passing the template_identifier with the value “HSVP” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

currency_code

string

The currency of the payment. Defaults to EUR.

debtor_iban

string, optional

The debtor’s IBAN

creditor_iban

string

The creditor’s IBAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_iban": "DE75512108001245126199",
  "creditor_iban": "GB33BUKB20201555555555"
}

ELIXIR

CoveragePoland
Average time of transactionOperates on business days

This payment template is enabled by passing the template_identifier with the value “ELIXIR” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s account number

creditor_account_number

string

The creditor’s account number

mode

string

Possible values: STANDARD, EXPRESS. Defaults to STANDARD.

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s account number

creditor_account_number

string

The creditor’s account number

mode

string

Possible values: STANDARD, EXPRESS. Defaults to STANDARD.

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lewis Begum",
  "debtor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "debtor_street_name": "One Canada Square",
  "debtor_building_number": "One",
  "debtor_post_code": "E14 5AB",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "George Clayton",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "40 King Street West, Suite 2100, Toronto, Ontario M5H3C2, Canada",
  "creditor_street_name": "King Street West",
  "creditor_building_number": "40",
  "creditor_post_code": "M5H3C2",
  "creditor_town": "Toronto",
  "creditor_region": "Canada",
  "creditor_country_code": "CA",
  "amount": "199000.99",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "12345678",
  "mode": "STANDARD"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lewis Begum",
  "debtor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "debtor_street_name": "One Canada Square",
  "debtor_building_number": "One",
  "debtor_post_code": "E14 5AB",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "George Clayton",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "40 King Street West, Suite 2100, Toronto, Ontario M5H3C2, Canada",
  "creditor_street_name": "King Street West",
  "creditor_building_number": "40",
  "creditor_post_code": "M5H3C2",
  "creditor_town": "Toronto",
  "creditor_region": "Canada",
  "creditor_country_code": "CA",
  "amount": "199000.99",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "12345678",
  "mode": "STANDARD"
}

Blue Cash

Alternative nameSPBC
CoveragePoland
Average time of transactionUp to 15 minutes

This payment template is enabled by passing the template_identifier with the value “BLUE_CASH” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2018-11-20",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2018-11-20",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}

Sorbnet

Alternative nameBank Account Service System at the National Bank of Poland
CoveragePoland
Operated by National Bank of Poland
Average time of transaction Up to one hour, operates on business days

This payment template is enabled by passing the template_identifier with the value “SORBNET” in Pay with Connect or Pay with Direct API endpoints.

This template has all common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}

Sorbnet2

Alternative nameBank Account Service System at the National Bank of Poland 2
CoveragePoland
Operated by National Bank of Poland
Average time of transaction Up to one hour, operates on business days

This payment template is enabled by passing the template_identifier with the value “SORBNET2” in Pay with Connect or Pay with Direct API endpoints.

This template has all common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

currency_code

string

The currency of the payment. Defaults to PLN.

debtor_account_number

string, optional

The debtor’s bank account number

creditor_account_number

string

The creditor’s bank account number

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Riley Atkins",
  "debtor_address": "2 Irving Grove, London SW9 9HL, UK",
  "debtor_street_name": "Irving Grove",
  "debtor_building_number": "2",
  "debtor_post_code": "SW9 9HL",
  "debtor_town": "London",
  "debtor_region": "England",
  "debtor_country_code": "UK",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "PLN",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_account_number": "70872490",
  "creditor_account_number": "13354647"
}

Visa

CoverageUK
Usage Balance transfer (thus, from one card to another). It uses PAN numbers registered with VISA starting with “4”.

This payment template is enabled by passing the template_identifier with the value “VISA” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to USD.

debtor_PAN

string, optional

The debtor’s PAN

creditor_pan

string

The creditor’s PAN

currency_code

string

The currency of the payment. Defaults to USD.

debtor_PAN

string, optional

The debtor’s PAN

creditor_pan

string

The creditor’s PAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_pan": "1111222233334444",
  "creditor_pan": "4444333322221111"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_pan": "1111222233334444",
  "creditor_pan": "4444333322221111"
}

Mastercard

CoverageUK
Usage Balance transfer (thus, from one card to another). It uses PAN numbers registered with MASTERCARD starting with “5”.

This payment template is enabled by passing the template_identifier with the value “MASTERCARD” in Pay with Connect or Pay with Direct API endpoints.

This template has all the common attributes + the following specific attributes:

currency_code

string

The currency of the payment. Defaults to USD.

debtor_pan

string, optional

The debtor’s PAN

creditor_pan

string

The creditor’s PAN

currency_code

string

The currency of the payment. Defaults to USD.

debtor_pan

string, optional

The debtor’s PAN

creditor_pan

string

The creditor’s PAN

Sample payment attributes

{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_pan": "1111222233334444",
  "creditor_pan": "4444333322221111"
}
{
  "end_to_end_id": "#123123123",
  "reference": "p:474747474747474747",
  "customer_last_logged_at": "2024-03-26T13:29:10Z",
  "customer_ip_address": "255.255.255.255",
  "customer_ip_port": "3456",
  "customer_device_os": "iOS 11",
  "customer_user_agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36",
  "customer_latitude": "51.5074",
  "customer_longitude": "0.1278",
  "debtor_name": "Lucas Hahn",
  "debtor_address": "Fehrbelliner Str. 95, 10119 Berlin, Germany",
  "debtor_street_name": "Fehrbelliner Str.",
  "debtor_building_number": "95",
  "debtor_post_code": "10119",
  "debtor_town": "Berlin",
  "debtor_region": "Germany",
  "debtor_country_code": "DE",
  "creditor_name": "Jay Dawson",
  "creditor_agent": "123456",
  "creditor_agent_name": "Treasury Devision",
  "creditor_address": "Level 39, One Canada Square, Canary Wharf, London E14 5AB, UK",
  "creditor_street_name": "One Canada Square",
  "creditor_building_number": "One",
  "creditor_post_code": "E14 5AB",
  "creditor_town": "London",
  "creditor_region": "England",
  "creditor_country_code": "UK",
  "amount": "199000.00",
  "currency_code": "EUR",
  "description": "Stocks purchase",
  "purpose_code": "3456",
  "date": "2024-03-26",
  "time": "10:20:30",
  "debtor_pan": "1111222233334444",
  "creditor_pan": "4444333322221111"
}