general

Overview

Salt Edge Partners Payment Initiation API aims to make payment initiation as simple as a cURL for any company that does not need to get a PSD2 Payment Initiation Service Provider license.

If you have any questions regarding how Salt Edge Partners Payment Initiation API works and how it can be used, feel free to contact us.

If you have any questions regarding your company’s eligibility for using the Partners API, please contact our Sales team.

Integrations

The Salt Edge platform is easy to integrate. However, if you think that your application could benefit more from the native look and feel, you can always contact us, and we can discuss what would be the best solution for your app.

Formats

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

Glossary

Most of the API revolves around several important concepts:

  • Country - the country where providers are located;
  • Provider - a bank or an online payments system;
  • Customer - a customer of the client who is consuming Salt Edge Partners API;
  • Lead - a verified end-user email associated with customer record;
  • Payment - a payment that was made using Payment Initiation API;
  • Payment template - a set of required and optional fields that need to be filled in order to successfully execute a payment;
  • Payment field - an attribute of the payment template. Could be required or optional;

Following the guides

You can start with Authentication and follow the links in the sidebar. If you have any questions, contact us anytime using our contact form.

Quick start

This quick start guide will show the easiest path of integrating with Partners Payment Initiation API: creating a lead, initiating a payment, granting consent, authenticating in the bank interface.

Get invitation

Request an invitation through contact us or our sales team. In your request please mention which service is intended to be used: Partner Account Information, Partner Payment Initiation or both of them.

Create an account

a. Get an invitation to visit the Sign Up page, then generate a secure password to confirm partner account creation.

b. Add your technical team members who will work on the next integration steps on the Team page and choose the specific roles for them.

Create api keys

Any request to Salt Edge Partners API is authenticated, so before you are able to fetch any data you need to create Service API keys. To do that, visit https://www.saltedge.com/clients/api_keys and create a Service API key. You can leave Public key field blank as when you will go LIVE, signing the requests will become mandatory.

Salt Edge Partners API is supporting only Service API keys use. All communication should be done from a centralized Web Service to grant control over the data flows, security and privacy.

Each request to Partners 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

We can provide examples in various programming languages. Start testing different connection types by using Fake and Sandbox providers to make sure that the application can handle any scenario that might happen with a real data provider (e.g. bank or standard).

Create lead

Before we can initiate any payment using Salt Edge Partners API, we need to create a Lead. A Lead in Salt Edge Partners API is the verified end-user email of your application.

The result of this request will be a Customer id and Email.

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

$ export CUSTOMER_ID=222222222222222222

See lead reference and customers reference for related API endpoints.

URL

https://www.saltedge.com/api/partners/v1/leads

https://www.saltedge.com/api/partners/v1/leads

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\": { \
                \"email\": \"test@email.com\" \
              } \
            }" \
        https://www.saltedge.com/api/partners/v1/leads
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"email\": \"test@email.com\" \
              } \
            }" \
        https://www.saltedge.com/api/partners/v1/leads

Sample response

{
  "data": {
    "email": "test+123@email.com",
    "customer_id": "222222222222222222"
  }
}

Choose provider

In order to choose a provider that supports payments 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/partners/v1/providers

https://www.saltedge.com/api/partners/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/partners/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/partners/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 the provider fake_client_xf supports the following payment templates SEPA, FPS, and SWIFT, we can execute payments using only one of them.

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) 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/partners/v1/templates/{payment_template}

https://www.saltedge.com/api/partners/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/partners/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/partners/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 via Salt Edge Widget, 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.

If you intend to collect payment consent on your side and the user will select the provider in your application, please make sure that your users are acknowledged by the related Terms and Conditions and Privacy Policy by integration of the following text in your application: “By clicking Proceed you agree to be bound by fino run GmbH Terms and Conditions and Privacy Policy.”

A payment can be generated from your Dashboard, by pressing the Invite button on the Leads page.

Select the Payment Initiation - the purpose of the lead creation step and fill in the mail of your user.

After the button Invite is pressed, a page to select the provider is opened.

Fill in the payment fields (if they are not pre filled as in the case of fake providers).

Copy the connect URL and visit it for the next steps.

URL

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

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

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/partners/v1/payments/sessions
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/partners/v1/payments/sessions

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. Input username and secret as per the on-screen instructions and press Proceed.

After that, you will see the consent window.

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

After confirming, it will start to initiate the payment.

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

Next steps

  • Request Test status to connect real banking institutions.
  • Switch to Live status to bring value to your customers globally.
  • Since new Salt Edge partners are in pending mode and have access only to fake and sandbox providers, the request signature is not required. However, you will need to implement request signing before you are going live. For more information see our signature guide.
  • All responses with arrays (like accounts or transactions) are paginated by default. See how to implement it on our pagination guide.
  • The recommended way of synchronizing data with Salt Edge Partners API is via callbacks. That way you won’t have to poll the servers to see whether there is new data available. See our callbacks guide for more information.

Salt Edge Payment Widget supports only the 2 last versions of modern browsers.

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 button below to do that.

Run in Postman

Step 3

Salt Edge Partners API requires APP_ID and SECRET headers in order to authenticate as partner. 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 https://www.saltedge.com/clients/profile/secrets, then add the environment.

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

Before going LIVE

In order to upgrade your Partner 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 Partners Payment Initiation API and made sure that payment initiation tests were successfully performed, the account’s status will be upgraded to live.

Payment Widget

Payment Widget 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 Payment Widget, 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.

Embed widget in your app

At the moment, the only way to embed Salt Edge Widget 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 Widget 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 Partners 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 Salt Edge Partners 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 callbacks page.

Due to security reasons, the callbacks can be sent to port 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 Payment Widget 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 Payment Widget, 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-10-08T14:41:07.838Z"
  }
}

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-10-08T14:41:07.846Z"
  }
}

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 via Partners Payment Initiation, 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-10-07T14:41:07Z"
  }
}

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

Errors

The Partner 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, one of the listed below

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, one of the listed below

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 Partner Payment Initiation API 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

The regulated entity has no necessary roles

no payment object created
CertificateNotFound400

The regulated entity has no necessary permissions

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 blocked.

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
IdentifierInvalid406

Invalid identifier sent for identifying the 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
PaymentAttributeNotSet406

There are missing payment attributes in client settings

no payment object created
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
ProviderKeyNotFound406

The regulated entity has no rights for this provider

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

Partners Configuration

  • Errors can happen if the partners’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
ActionNotAllowed406

The client has no access to the required route or direct API access is not permitted. Please contact us

no payment object created
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
PaymentSettingsExceeded400

The payment settings limits of account were reached. The limits modification can be requested from Dashboard or contacting Salt Edge Account Manager.

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.

Can I issue cross border payments via Partner Payment Initiation API?

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.

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. However, if optional fields are passed but aren’t present in the optionalpaymentfields, they will be logged on Salt Edge side and not used for the payment initiation process.

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 decided to expose functionality so 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 bank.

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

Countries

The country is represented just as a string. We’re using ISO 3166-1 alpha-2 country codes. Thus, all the country codes will have exactly two uppercase letters. There are two special cases:

  • “Other”, encoded as XO
  • “Fake”, encoded as XF

Note that the Fake country is only available for clients in Test and Pending statuses.

List

Returns a list of countries supported by Salt Edge Partners API.

Parameters

include_fake_providers

boolean, optional

Whether you wish to fetch the fake countries, defaults to false

include_fake_providers

boolean, optional

Whether you wish to fetch the fake countries, defaults to false

Response

name

string

Name of the country

code

string

Country code as dated in ISO 3166-1 alpha-2

refresh_start_time

integer

Local country time when connections will be automatically refreshed. Possible values: 0 to 23

name

string

Name of the country

code

string

Country code as dated in ISO 3166-1 alpha-2

refresh_start_time

integer

Local country time when connections will be automatically refreshed. Possible values: 0 to 23

Possible Errors

URL

https://www.saltedge.com/api/partners/v1/countries

https://www.saltedge.com/api/partners/v1/countries

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/partners/v1/countries
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/partners/v1/countries

Sample response

{
  "data": [
    {
      "code": "CZ",
      "name": "Czech Republic",
      "refresh_start_time": 2
    },
    {
      "code": "IL",
      "name": "Israel",
      "refresh_start_time": 2
    },
    {
      "code": "MD",
      "name": "Moldova",
      "refresh_start_time": 2
    },
    {
      "code": "RO",
      "name": "Romania",
      "refresh_start_time": 2
    },
    {
      "code": "RU",
      "name": "Russia",
      "refresh_start_time": 2
    },
    {
      "code": "UA",
      "name": "Ukraine",
      "refresh_start_time": 2
    },
    {
      "code": "XF",
      "name": "Fake",
      "refresh_start_time": 2
    },
    {
      "code": "XO",
      "name": "Other",
      "refresh_start_time": 2
    },
    ...
  ]
}

Providers

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

Attributes

id

string

Provider’s id

code

string

Provider’s code

name

string

Provider’s name

modes

string

Possible values are:

  • oauth - access through the bank’s dedicated API (regulated: true). The user is redirected to the bank’s page for authorization.
  • api - access through a dedicated (regulated: true) or non-dedicated (regulated: false) bank’s API. Some required credentials fields might be present which the user should complete (IBAN, username, etc.). In case of a dedicated API, an interactive redirect might be present, but there are required credentials fields which the user should complete (IBAN, username, etc.). Using these credentials, we authorize the user on the bank’s side.

status

string

Possible values are: 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 the end-users.

automatic_fetch

boolean

Whether the provider’s connections can be automatically fetched. However, its performance also depends on optional_interactivity flag

customer_notified_on_sign_in

boolean

Whether the provider will notify the customer on log in attempt

interactive

boolean

Whether the provider requires interactive input

instruction

string

Instructions on how to connect the bank, in English

home_url

string

The URL of the main page of the provider

login_url

string

Point of entrance to provider’s login web interface

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

refresh_timeout

integer

Amount of time (in minutes) after which the provider’s connections are allowed to be refreshed

holder_info

array

Contains information on the account holder details that can be fetched from this provider

max_consent_days

integer

Maximum allowed consent duration. If it is null then there are no limits

created_at

datetime

Time and date when the provider was integrated

updated_at

datetime

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

timezone

string

Time zone data of capital/major city in a region corresponding to a provider.

max_interactive_delay

integer

Delay in seconds before InteractiveAdapterTimeout will happen

optional_interactivity

boolean

Provider which supports flipping of interactive and automatic_fetch flags after connect

regulated

boolean

Whether the provider is integrated via a regulated channel under Open Banking/PSD2

max_fetch_interval

integer

Max period in days that can be fetched form from the provider’s interface

supported_fetch_scopes

array

Array of strings with supported fetch_scopes

supported_account_extra_fields

array

Array of possible account extra fields to be fetched

supported_transaction_extra_fields

array

Array of possible transaction extra fields to be fetched

supported_account_natures

array

Array of possible account natures to be fetched. Non-payment natures: bonus, credit, insurance, investment

supported_account_types

array

Possible values are: personal, business

identification_codes

array

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

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

supported_iframe_embedding

boolean

Possible values are: true, false

payment_templates

array of strings

Identifiers of the payment templates that are supported by this provider

supported_payment_fields

object

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

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

no_funds_rejection_supported

boolean

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

string

Provider’s id

code

string

Provider’s code

name

string

Provider’s name

modes

string

Possible values are:

  • oauth - access through the bank’s dedicated API (regulated: true). The user is redirected to the bank’s page for authorization.
  • api - access through a dedicated (regulated: true) or non-dedicated (regulated: false) bank’s API. Some required credentials fields might be present which the user should complete (IBAN, username, etc.). In case of a dedicated API, an interactive redirect might be present, but there are required credentials fields which the user should complete (IBAN, username, etc.). Using these credentials, we authorize the user on the bank’s side.

status

string

Possible values are: 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 the end-users.

automatic_fetch

boolean

Whether the provider’s connections can be automatically fetched. However, its performance also depends on optional_interactivity flag

customer_notified_on_sign_in

boolean

Whether the provider will notify the customer on log in attempt

interactive

boolean

Whether the provider requires interactive input

instruction

string

Instructions on how to connect the bank, in English

home_url

string

The URL of the main page of the provider

login_url

string

Point of entrance to provider’s login web interface

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

refresh_timeout

integer

Amount of time (in minutes) after which the provider’s connections are allowed to be refreshed

holder_info

array

Contains information on the account holder details that can be fetched from this provider

max_consent_days

integer

Maximum allowed consent duration. If it is null then there are no limits

created_at

datetime

Time and date when the provider was integrated

updated_at

datetime

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

timezone

string

Time zone data of capital/major city in a region corresponding to a provider.

max_interactive_delay

integer

Delay in seconds before InteractiveAdapterTimeout will happen

optional_interactivity

boolean

Provider which supports flipping of interactive and automatic_fetch flags after connect

regulated

boolean

Whether the provider is integrated via a regulated channel under Open Banking/PSD2

max_fetch_interval

integer

Max period in days that can be fetched form from the provider’s interface

supported_fetch_scopes

array

Array of strings with supported fetch_scopes

supported_account_extra_fields

array

Array of possible account extra fields to be fetched

supported_transaction_extra_fields

array

Array of possible transaction extra fields to be fetched

supported_account_natures

array

Array of possible account natures to be fetched. Non-payment natures: bonus, credit, insurance, investment

supported_account_types

array

Possible values are: personal, business

identification_codes

array

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

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

supported_iframe_embedding

boolean

Possible values are: true, false

payment_templates

array of strings

Identifiers of the payment templates that are supported by this provider

supported_payment_fields

object

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

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

no_funds_rejection_supported

boolean

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": "111111111111111111",
  "code": "fakebank_simple_xf",
  "name": "Fake Bank",
  "mode": "web",
  "status": "active",
  "automatic_fetch": true,
  "customer_notified_on_sign_in": false,
  "interactive": false,
  "identification_mode": "saltedge",
  "instruction": "Please fill in all the fields.",
  "home_url": "http://example.com",
  "login_url": "http://example.com/login",
  "logo_url": "https://cdn.com/logos/providers/xf/fake.svg",
  "country_code": "XF",
  "refresh_timeout": 60,
  "holder_info": ["names", "emails", "phone_numbers"],
  "max_consent_days": 10,
  "created_at": "2024-09-28T14:41:07Z",
  "updated_at": "2024-10-03T14:41:07Z",
  "timezone": "Europe/London",
  "max_interactive_delay": 480,
  "optional_interactivity": true,
  "regulated": false,
  "max_fetch_interval": 60,
  "supported_fetch_scopes": ["accounts", "transactions"],
  "supported_account_extra_fields": [],
  "supported_transaction_extra_fields": [],
  "supported_account_natures": ["account", "card"],
  "supported_account_types": ["personal"]
  "identification_codes": ["123123"],
  "bic_codes": ["ABCDEFGH"],
  "supported_iframe_embedding": true
}

Show

Provider 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.

Parameters

provider_code

string

Provider’s code

include_payments_fields

boolean, optional

Whether you wish to include supported_payment_fields and required_payment_fields, default to false

provider_code

string

Provider’s code

include_payments_fields

boolean, optional

Whether you wish to include supported_payment_fields and required_payment_fields, default to false

Possible Errors

URL

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

https://www.saltedge.com/api/partners/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/partners/v1/providers/fakebank_interactive_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/partners/v1/providers/fakebank_interactive_xf

Sample response

{
  "data": {
    "id": "111111111111111111",
    "code": "fakebank_interactive_xf",
    "name": "Fake Bank with SMS",
    "mode": "web",
    "status": "active",
    "automatic_fetch": false,
    "interactive": true,
    "instruction": "Valid credentials for this provider are:\nlogin - any string which starts with \"username\",\npassword - \"secret\",\nsms - \"123456\"\n",
    "refresh_timeout": 5,
    "customer_notified_on_sign_in": false,
    "home_url": "http://example.com",
    "login_url": "http://example.com/login",
    "forum_url": "https://www.saltedge.com/support_requests/new?provider_code=fakebank_interactive_xf",
    "logo_url": "https://d1uuj3mi6rzwpm.cloudfront.net/logos/providers/xf/fakebank_interactive_xf.svg",
    "country_code": "XF",
    "created_at": "2020-03-19T17:55:44Z",
    "updated_at": "2020-03-07T09:57:26Z",
    "timezone": "UTC",
    "holder_info": [],
    "max_consent_days": null,
    "identification_mode": "saltedge",
    "max_interactive_delay": 180,
    "optional_interactivity": false,
    "regulated": false,
    "max_fetch_interval": 60,
    "supported_fetch_scopes": ["accounts", "transactions"],
    "supported_account_natures": ["account", "card"],
    "supported_account_types": ["personal"],
    "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"
      ]
    }
    "identification_codes": ["123123"],
    "bic_codes": ["ABCDEFGH"],
    "supported_iframe_embedding": true,
    "supported_account_extra_fields": [
      "account_name",
      "account_number",
      "card_type",
      "cards",
      "client_name",
      "iban",
      "sort_code",
      "status",
      "swift"
    ],
    "supported_transaction_extra_fields": [
      "convert",
      "original_amount",
      "original_currency_code",
      "payee",
      "posting_date",
      "transfer_account_name"
    ],
    "required_fields": [{
        "name": "login",
        "english_name": "Login",
        "localized_name": "Login",
        "nature": "text",
        "position": 1,
        "optional": false,
        "extra": {}
      },
      {
        "name": "password",
        "english_name": "Password",
        "localized_name": "Password",
        "nature": "password",
        "position": 2,
        "optional": false,
        "extra": {}
      }
    ],
    "interactive_fields": [{
      "name": "sms",
      "english_name": "SMS code",
      "localized_name": "SMS code",
      "nature": "number",
      "position": 1,
      "optional": false,
      "extra": {}
    }]
  }
}

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.

Parameters

from_id

string, optional

The id of the record starting the next page, defaults to null

from_date

date, optional

Filtering providers created or updated 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 are: oauth, web, api, file

include_fake_providers

boolean, optional

Whether you wish to fetch the fake providers, defaults to false

include_payments_fields

boolean, optional

Whether you wish to includesupported_payment_fields and required_payment_fields, default to false

from_id

string, optional

The id of the record starting the next page, defaults to null

from_date

date, optional

Filtering providers created or updated 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 are: oauth, web, api, file

include_fake_providers

boolean, optional

Whether you wish to fetch the fake providers, defaults to false

include_payments_fields

boolean, optional

Whether you wish to includesupported_payment_fields and required_payment_fields, default to false

Possible Errors

URL

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

https://www.saltedge.com/api/partners/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/partners/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/partners/v1/providers

Sample Response

{
  "data": [
    {
      "id": "111111111111111111",
      "code": "fakebank_image_xf",
      "name": "Fake Bank with Image",
      "mode": "web",
      "status": "active",
      "automatic_fetch": false,
      "customer_notified_on_sign_in": true,
      "interactive": true,
      "identification_mode": "saltedge",
      "instruction": "Please fill in all the fields.",
      "home_url": "http://example.com",
      "login_url": "http://example.com/login",
      "logo_url": "https://cdn.com/logos/providers/xf/fake.svg",
      "country_code": "XF",
      "refresh_timeout": 60,
      "holder_info": ["names", "emails", "phone_numbers"],
      "max_consent_days": 10,
      "created_at": "2024-09-28T14:41:08Z",
      "updated_at": "2024-10-03T14:41:08Z",
      "timezone": "Europe/London",
      "max_interactive_delay": 480,
      "optional_interactivity": true,
      "regulated": false,
      "max_fetch_interval": 60,
      "supported_fetch_scopes": ["accounts", "transactions"],
      "supported_account_extra_fields": [],
      "supported_transaction_extra_fields": [],
      "supported_account_natures": ["account", "card"],
      "supported_account_types": ["personal"],
      "identification_codes": ["123123"],
      "bic_codes": ["ABCDEFGH"],
      "supported_iframe_embedding": true
    }
  ],
  "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 Payment Widget 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 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 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: Check the provider’s instructions in the Payment Widget 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 Payment Widget 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 the Payment Widget page.

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

Leads

The leads are the end-users (PSUs) of the Partner’s application.

Create

Allows to create or return an existing lead. The response contains the email of the lead and the associated customer_id which can be used for creating a payment session. It also allows to send Know Your Customer (KYC) information about the lead, both personal and/or legal information. If some of the KYC information is not sent via API, the lead (i.e. customer) may be asked to manually input the details during the payment session. This depends on the partner configuration, as part of Anti-Money Laundering verifications. If some of the KYC information is not known, the corresponding keys should not be sent.

Parameters

email

string, required

Email address

identifier

string, optional

An optional field that can be used for additional information about the lead, e.g IBAN, phone, reference_number, etc. Returned in response only if it was present in payload.

kyc

object, optional

Hide child attributes

Additional information about the lead

email

string, required

Email address

identifier

string, optional

An optional field that can be used for additional information about the lead, e.g IBAN, phone, reference_number, etc. Returned in response only if it was present in payload.

kyc

object, optional

Hide child attributes

Additional information about the lead

Possible Errors

URL

https://www.saltedge.com/api/partners/v1/leads

https://www.saltedge.com/api/partners/v1/leads

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\": { \
                \"email\": \"test@email.com\", \
                \"identifier\": \"example-identifier\", \
                \"kyc\": { \
                  \"full_name\": \"John Smith\", \
                  \"type_of_account\": \"own\", \
                  \"date_of_birth\": \"2020-01-01\", \
                  \"place_of_birth\": \"London\", \
                  \"gender\": \"male\", \
                  \"citizenship_code\": \"GB\", \
                  \"residence_address\": \"London, Independence str, block 5\", \
                  \"legal_name\": \"My Company Limited\", \
                  \"registered_office_code\": \"GB\", \
                  \"registered_office_address\": \"London, Independence str, block 5\", \
                  \"registration_number\": \"12345\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/partners/v1/leads
curl -v -H "Accept: application/json" \
        -H "Content-type: application/json" \
        -H "App-id: $APP_ID" \
        -H "Secret: $SECRET" \
        -X POST \
        -d "{ \
              \"data\": { \
                \"email\": \"test@email.com\", \
                \"identifier\": \"example-identifier\", \
                \"kyc\": { \
                  \"full_name\": \"John Smith\", \
                  \"type_of_account\": \"own\", \
                  \"date_of_birth\": \"2020-01-01\", \
                  \"place_of_birth\": \"London\", \
                  \"gender\": \"male\", \
                  \"citizenship_code\": \"GB\", \
                  \"residence_address\": \"London, Independence str, block 5\", \
                  \"legal_name\": \"My Company Limited\", \
                  \"registered_office_code\": \"GB\", \
                  \"registered_office_address\": \"London, Independence str, block 5\", \
                  \"registration_number\": \"12345\" \
                } \
              } \
            }" \
        https://www.saltedge.com/api/partners/v1/leads

Sample response

{
  "data": {
    "email": "test@email.com",
    "customer_id": "222222222222222222",
    "identifier": "example-identifier"
  }
}

Remove

Deletes partner association with a lead.

Parameters

customer_id

string, required

The id of the customer.

customer_id

string, required

The id of the customer.

Possible Errors

URL

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

https://www.saltedge.com/api/partners/v1/leads

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/partners/v1/leads?customer_id=123
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/partners/v1/leads?customer_id=123

Sample response

{
  "data": {
    "deleted": true,
    "lead_email": "lead@email.com"
  }
}

Payment session

The easiest way to initiate payments using Payment Initiation API is to use Payment Widget, 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.

If you intend to collect payment consent on your side and the user will select the provider in your application, please make sure that your users are acknowledged by the related Terms and Conditions and Privacy Policy by integration of the following text in your application: “By clicking Proceed you agree to be bound by fino run GmbH Terms and Conditions and Privacy Policy.”

Parameters

customer_id

string

The id of the customer received from lead 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 Partner API. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields.

skip_provider_select

boolean, optional

Whether the provider selection page should be skipped. In order for this to work, besides passing skip_provider_select as true, an OAuth provider’s provider_code should be passed. Default to false.

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. 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.

kyc

object, optional

Hide child attributes

Additional information about the lead.

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 lead 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 Partner API. This will result in an error.
  • The end-user may choose a provider that has additional required_payment_fields.

skip_provider_select

boolean, optional

Whether the provider selection page should be skipped. In order for this to work, besides passing skip_provider_select as true, an OAuth provider’s provider_code should be passed. Default to false.

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. 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.

kyc

object, optional

Hide child attributes

Additional information about the lead.

custom_fields

object, optional

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

Possible Errors

Error classHTTP codeDescription
ActionNotAllowed406 Not Acceptable

The client has no access to the required route or direct API access is not permitted. Please contact us

ActionNotSupported406 Not Acceptable

The regulated entity has no necessary roles

CertificateNotFound400 Bad Request

The regulated entity has no necessary permissions

CustomerLocked406 Not Acceptable

The customer is blocked

InvalidPaymentAttributes406 Not Acceptable

Some of the payment_attributes are missing in the client settings

PaymentAttributeNotSet406 Not Acceptable

There are missing payment attributes in client settings

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/partners/v1/payments/sessions

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

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/partners/v1/payments/sessions
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/partners/v1/payments/sessions

Sample response

{
  "data": {
    "expires_at": "2024-10-08T15:41:08Z",
    "connect_url": "https://www.saltedge.com/payments/connect?token=GENERATED_TOKEN"
  }
}
{
  "data": {
    "expires_at": "2024-10-08T15:41:08Z",
    "connect_url": "https://www.saltedge.com/payments/connect?token=GENERATED_TOKEN"
  }
}

Customers

A customer represents a single end-user of the Salt Edge Partners API.

You need to store the id returned in the callbacks, which is necessary when listing Payments. We give you the following customer API actions so that the customer will be successfully identified within Salt Edge Partner API.

Show

Returns the customer object.

Parameters

id

string, required

The id of the customer

id

string, required

The id of the customer

Possible Errors

URL

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

https://www.saltedge.com/api/partners/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/partners/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/partners/v1/customers/222222222222222222

Sample Response

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

List

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

Possible Errors

URL

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

https://www.saltedge.com/api/partners/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/partners/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/partners/v1/customers

Sample Response

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

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

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

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-10-08T14:16:08Z"
      },
      {
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "name": "interactive",
        "created_at": "2024-10-08T14:18:08Z",
        "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"
        ]
      }
    ],
    "created_at": "2024-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:18:08Z"
  }
}
{
  "data": {
    "id": "131313131313131313",
    "payment_attributes": {
      "amount": "120",
      "iban_to": "DE12345678123456781231",
      "description": "test",
      "currency_code": "EUR"
    },
    "status": "processing",
    "stages": [
      {
        "name": "initialize",
        "created_at": "2024-10-08T14:16:08Z"
      },
      {
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "name": "interactive",
        "created_at": "2024-10-08T14:18:08Z",
        "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"
        ]
      }
    ],
    "created_at": "2024-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:18:08Z"
  }
}

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/partners/v1/payments/{payment.id}

https://www.saltedge.com/api/partners/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/partners/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/partners/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-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:22:08Z",
    "status": "accepted",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-10-06T14:41:08Z",
      "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-10-08T14:16:08Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-10-08T14:18:08Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-10-08T14:19:08Z",
        "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-10-08T14:19:08Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-10-08T14:20:08Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-10-08T14:21:08Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-10-08T14:22:08Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:22:08Z",
    "status": "accepted",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-10-06T14:41:08Z",
      "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-10-08T14:16:08Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-10-08T14:18:08Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-10-08T14:19:08Z",
        "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-10-08T14:19:08Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-10-08T14:20:08Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-10-08T14:21:08Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-10-08T14:22:08Z"
      }
    ]
  }
}

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/partners/v1/payments?customer_id={customer.id}

https://www.saltedge.com/api/partners/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/partners/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/partners/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-09-23T14:41:08Z",
      "updated_at": "2024-10-06T14:41:08Z",
      "status": "processing",
      "template_identifier": "SEPA",
      "payment_attributes": {
        "end_to_end_id": "#123123123",
        "reference": "p:474747474747474747",
        "customer_last_logged_at": "2024-10-06T14:41:08Z",
        "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": [
        {
          "id": "242424242424242420",
          "name": "initialize",
          "created_at": "2024-10-06T14:41:08Z"
        },
        {
          "id": "242424242424242421",
          "name": "start",
          "created_at": "2024-10-06T14:41:08Z"
        },
        {
          "id": "242424242424242422",
          "name": "interactive",
          "created_at": "2024-10-06T14:41:08Z",
          "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-09-23T14:41:08Z",
      "updated_at": "2024-10-06T14:41:08Z",
      "status": "processing",
      "template_identifier": "SEPA",
      "payment_attributes": {
        "end_to_end_id": "#123123123",
        "reference": "p:474747474747474747",
        "customer_last_logged_at": "2024-10-06T14:41:08Z",
        "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": [
        {
          "id": "242424242424242420",
          "name": "initialize",
          "created_at": "2024-10-06T14:41:08Z"
        },
        {
          "id": "242424242424242421",
          "name": "start",
          "created_at": "2024-10-06T14:41:08Z"
        },
        {
          "id": "242424242424242422",
          "name": "interactive",
          "created_at": "2024-10-06T14:41:08Z",
          "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"
  }
}

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

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

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

Refresh

Allows you to trigger a refresh of the payment status.

Parameters

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/partners/v1/payments/{payment.id}/refresh

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

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/partners/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/partners/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-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:22:08Z",
    "status": "unknown",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-10-06T14:41:08Z",
      "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-10-08T14:16:08Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-10-08T14:18:08Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-10-08T14:19:08Z",
        "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-10-08T14:19:08Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-10-08T14:20:08Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-10-08T14:21:08Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-10-08T14:22:08Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "provider_code": "fake_client_xf",
    "provider_name": "Fake Bank with Client Keys",
    "customer_id": "222222222222222222",
    "created_at": "2024-10-08T14:16:08Z",
    "updated_at": "2024-10-08T14:22:08Z",
    "status": "unknown",
    "template_identifier": "SEPA",
    "payment_attributes": {
      "end_to_end_id": "#123123123",
      "reference": "p:474747474747474747",
      "customer_last_logged_at": "2024-10-06T14:41:08Z",
      "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-10-08T14:16:08Z"
      },
      {
        "id": "242424242424242421",
        "name": "start",
        "created_at": "2024-10-08T14:17:08Z"
      },
      {
        "id": "242424242424242422",
        "name": "submission",
        "created_at": "2024-10-08T14:18:08Z"
      },
      {
        "id": "242424242424242423",
        "name": "interactive",
        "created_at": "2024-10-08T14:19:08Z",
        "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-10-08T14:19:08Z",
        "interactive_fields": {
          "iban": "XF123456789012345678",
          "confirmation_code": 123456
        }
      },
      {
        "id": "242424242424242425",
        "name": "settlement",
        "created_at": "2024-10-08T14:20:08Z"
      },
      {
        "id": "242424242424242426",
        "name": "completed",
        "created_at": "2024-10-08T14:21:08Z"
      },
      {
        "id": "242424242424242427",
        "name": "finish",
        "created_at": "2024-10-08T14:22:08Z"
      }
    ]
  }
}

Payment 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-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}

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/partners/v1/payments/templates/{template.identifier}

https://www.saltedge.com/api/partners/v1/payments/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/partners/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/partners/v1/templates/SEPA

Sample response

{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}

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/partners/v1/payments/templates

https://www.saltedge.com/api/partners/v1/payments/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/partners/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/partners/v1/templates

Sample response

{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}
{
  "data": {
    "id": "131313131313131313",
    "identifier": "SEPA",
    "description": "SEPA Payment",
    "deprecated": false,
    "created_at": "2024-10-05T14:41:08Z",
    "updated_at": "2024-10-05T14:41:08Z",
    "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z",
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      },
      {
        "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-10-05T14:41:08Z",
        "updated_at": "2024-10-05T14:41:08Z"
      }
    ]
  }
}

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-10-05T14:41:08Z",
  "updated_at": "2024-10-05T14:41:08Z"
}
{
  "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-10-05T14:41:08Z",
  "updated_at": "2024-10-05T14:41:08Z"
}

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-10-06T14:41:08Z",
  "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-10-06T14:41:08Z",
  "customer_ip_address