Skip to content

Logo

Salt Edge

Open Finance. Endless possibilities.

Supports in this guide: Payments

Provider website: saltedge.com


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from Salt Edge)
  2. Set your receiving bank account details (Constants)
  3. Connect in Dashboard
  4. Send an API request

Prerequisites: get from Salt Edge

Contact your Salt Edge account manager to get your account verified and receive the following credentials.

  • App ID -> Corefy field app_id.
  • Secret -> Corefy field secret.
  • Public Key -> Corefy field public_key -> uploaded as a file; also register it with Salt Edge per their documentation.
  • Private Key -> Corefy field private_key -> uploaded as a file; used to sign every request.

Important

Salt Edge is an open banking (Pay by Bank) provider - there's no card data involved. Instead, your own receiving bank account details must be configured as connection Constants for each currency/service before you can accept payments with it - see Constants below.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open Salt Edge in the provider directory and press Connect at Salt Edge Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • App ID
  • Secret
  • Public Key
  • Private Key
  • Test Mode -> (enable if you are using sandbox credentials)

For each currency/service you plan to use, fill in your receiving bank account Constants (see below) and the required Options - Charge Bearer and Theme must be explicitly set.

Success

You have connected Salt Edge Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to their own bank via Salt Edge's Open Banking widget to authorize a transfer. customer.email and customer.metadata.ip are mandatory - Corefy first registers the payer as a Salt Edge customer using them.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "9d0e1f23-4a5b-4c6d-8e78-9f0a1b2c3d4e",
      "service": "sepa_transfer_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "email": "johnsmith@gmail.com",
        "metadata": {
          "ip": "198.51.100.1"
        }
      }
    }
  }
}

This connector also supports sepa_transfer_instant_eur_hpp, revolut_bank_eur_hpp, wise_eur_hpp, n26_bank_eur_hpp, bunq_eur_hpp, sofortuberweisung_eur_hpp, faster_payments_gbp_hpp, plus a set of named-bank services for the Netherlands, Belgium, Germany, Estonia, Latvia, and Lithuania (EUR only) - the exact set depends on what's enabled for your account.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "0e1f2a34-5b6c-4d7e-8f89-0a1b2c3d4e5f",
      "service": "sepa_transfer_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "date_of_birth": "1990-05-20",
        "address": {
          "country": "DE",
          "region": "Bavaria",
          "city": "Munich",
          "full_address": "1 Main street",
          "post_code": "80331"
        },
        "metadata": {
          "ip": "198.51.100.1"
        }
      },
      "fields": {
        "account": "DE89370400440532013000"
      }
    }
  }
}

Important

  • customer.name, customer.address.* are forwarded as the payer's own details (debtor_*), automatically transliterated to Latin.
  • customer.date_of_birth, customer.address.country/post_code/full_address are additionally used once, up front, to register the payer as a Salt Edge customer (KYC).
  • fields.account is the payer's own IBAN - optional, used to prefill the widget.

Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Options

  • charge_bearer -> required, enum (creditor, debtor, shared) - who pays the transfer fee, if any (relevant for SEPA Instant): you (creditor), the customer (debtor), or split.
  • theme -> required, enum (light, dark) - color theme of Salt Edge's hosted widget.
  • treat_executed_as_final -> optional, boolean - Salt Edge reports an intermediate executed status before final settlement; enabling this reports it as a final success immediately instead of waiting. Has no effect if creditor_reconcile is also enabled.
  • finalize_after_minutes -> optional, number - if an active status check can no longer find the transaction at Salt Edge after this many minutes, reports it as failed/expired instead of leaving it pending indefinitely.
  • creditor_reconcile -> optional, boolean - while the payment is in an executed/settled state, an active status check additionally consults Salt Edge's own reconciliation status to resolve it to a definitive success or failure, instead of trusting the primary status alone.
  • refresh_request_enable -> optional, boolean - if the payment is still pending after Salt Edge's own refresh-timeout window, an active status check proactively asks Salt Edge to refresh the status from the bank before reporting the result.
  • use_reference_id_as_description -> optional, boolean - sends your provider reference ID as the payment description instead of your transaction descriptor or the description Constant.
  • oauth_type -> optional, enum - advanced parameter controlling how the specific bank is selected in Salt Edge's widget; not available for the named-bank services. Confirm with your account manager which value applies to your setup.
  • ftd_scoring -> optional, boolean - routes the request through Salt Edge's first-time-depositor risk-scoring endpoint instead of the standard one; not available for the named-bank services.

Constants (your receiving bank account)

Unlike most connectors, most of these Constants aren't fallback values - they're the only way Salt Edge learns where to send the money, since the API request never carries your own bank details. Configure them once per currency/service.

Available constants (constant -> meaning)

  • creditor_name -> your account/business name.
  • creditor_iban -> your IBAN (all services except faster_payments_gbp_hpp).
  • creditor_sort_code, creditor_account_number -> your sort code and account number (faster_payments_gbp_hpp only, instead of IBAN).
  • debtor_sort_code -> a default payer sort code (faster_payments_gbp_hpp only, when not resolved from the request).
  • creditor_bic -> your bank's BIC/SWIFT code.
  • creditor_agent_name -> your bank's name.
  • creditor_address, creditor_street_name, creditor_building_number, creditor_post_code, creditor_town, creditor_region, creditor_country_code -> your registered business address, broken into parts.
  • description -> fallback payment description, used unless use_reference_id_as_description is enabled or your own transaction descriptor is set.

Refunds

This connector does not support refunds.


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Salt Edge's own back-office.
  2. Active reconciliation is available - Payments support an active status request, in addition to the asynchronous callback.
  3. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify App ID/Secret and the uploaded Public Key/Private Key for the selected environment
  • Payment fails with no receiving account configured -> make sure the Constants for your currency/service (IBAN or sort code + account number, plus name) are set
  • Payment stuck in pending after the bank executed it -> consider treat_executed_as_final or creditor_reconcile, depending on whether you need immediate finality or a double-checked one
  • Refund request fails -> refunds aren't supported by this connector
  • Currency or service is not supported -> confirm allowed methods in your Salt Edge account and in Corefy

Question

Still looking for help connecting your Salt Edge account? Please contact our support team!