Skip to main content
POST
/
v2
/
banking
/
payments
Create Payment
curl --request POST \
  --url https://api.business-os.de/v2/banking/payments \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "account_id": "8273645091827364509",
  "amount": "1.00",
  "currency_code": "EUR",
  "template_identifier": "SEPA",
  "creditor_name": "Mustermann GmbH",
  "creditor_iban": "DE27100777770209299700",
  "description": "Rechnung G-RE-2026-03024",
  "reference": "REF-12345",
  "creditor_country_code": "DE",
  "creditor_address": "Musterstr. 1, 10115 Berlin",
  "creditor_agent": "MUSTBE22",
  "creditor_agent_name": "Musterbank AG",
  "debtor_bic": "DEUTDEFFXXX",
  "mode": "embedded",
  "return_to": "https://app.business-os.de/close",
  "custom_fields": {
    "invoice_id": "G-RE-2026-03024"
  }
}
'
{
  "data": {
    "payment_id": "4509182736450918273",
    "payment_url": "https://www.saltedge.com/payments/connect?token=xxx",
    "expires_at": "2026-03-24T12:44:03Z",
    "end_to_end_id": "BOS-1716480000000-a1b2c3d4"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.business-os.de/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

Dein Business OS API Key. Erstelle einen unter app.business-os.de → API Keys.

Query Parameters

api
enum<string>
default:partner

Salt Edge API: partner (regulierte Banken) oder openbanking (unregulierte wie AMEX, Revolut)

Available options:
partner,
openbanking

Body

application/json

Request-Body zum Initiieren einer Zahlung. Felder werden flach übergeben — provider_code, debtor_iban und die Salt-Edge-API werden automatisch aus der Account-ID aufgelöst. end_to_end_id wird immer server-seitig generiert (BOS-{timestamp}-{hex}) für das Payment-↔-Transaction-Matching. Ein vom Client übergebener Wert wird ignoriert.

account_id
string
required

ID des eigenen Bankkontos (Account.id). Daraus werden Provider, Debitor-IBAN und Salt-Edge-API automatisch aufgelöst.

Example:

"8273645091827364509"

amount
string
required

Betrag als String (z.B. "1.00" für 1,00 €).

Example:

"1.00"

currency_code
string
default:EUR

Währungscode (ISO 4217). Default EUR.

Example:

"EUR"

template_identifier
enum<string>
default:SEPA

Zahlungsart. Default SEPA.

Available options:
SEPA,
SEPA_INSTANT
Example:

"SEPA"

creditor_name
string

Name des Empfängers.

Example:

"Mustermann GmbH"

creditor_iban
string

IBAN des Empfängers.

Example:

"DE27100777770209299700"

description
string

Verwendungszweck.

Example:

"Rechnung G-RE-2026-03024"

reference
string

Zusätzliche Referenz (optional).

Example:

"REF-12345"

creditor_country_code
string

ISO-3166-1-alpha-2 Country-Code des Empfängers. Wenn weggelassen, wird er automatisch aus den ersten 2 Zeichen der creditor_iban abgeleitet.

Example:

"DE"

creditor_address
string

Adresse des Empfängers (optional, bankabhängig).

Example:

"Musterstr. 1, 10115 Berlin"

creditor_agent
string

BIC der Empfängerbank (optional).

Example:

"MUSTBE22"

creditor_agent_name
string

Name der Empfängerbank (optional).

Example:

"Musterbank AG"

debtor_bic
string

BIC der eigenen Bank (optional, wird i.d.R. aus der debtor_iban aufgelöst).

Example:

"DEUTDEFFXXX"

mode
string

Salt-Edge-spezifischer Modus (optional, bankabhängig).

Example:

"embedded"

return_to
string<uri>
default:https://app.business-os.de/close

Redirect-URL nach Zahlungsbestätigung im Browser. Default https://app.business-os.de/close.

Example:

"https://app.business-os.de/close"

custom_fields
object

Benutzerdefinierte Felder (werden im Callback zurückgegeben).

Example:
{ "invoice_id": "G-RE-2026-03024" }

Response

Zahlung initiiert — User muss die payment_url aufrufen

Antwort beim Initiieren einer Zahlung. Salt-Edge-Response (data) wird durchgereicht, plus der server-seitig generierte end_to_end_id als zusätzliches Top-Level-Field unter data.

data
object