Transactions

Create transaction

Changed on

Creates a new payment transaction linked to an AccountHolder.

Maps to ISO 20022 pain:001 CustomerCreditTransferInitiation. FATF Recommendation 16: debtor/creditor PaymentAccounts must be verified before settlement. The orchestration layer must enforce this check.

PCI-DSS 4.0: Raw PAN data must never appear in transaction fields. Use tokenised card references via the linked PaymentAccount only.

post/api/transactions

Request

  • Base URL: http://localhost:4100
  • URL: http://localhost:4100/api/transactions
  • Auth: none required

Request body

account_holder_idstring uuid required
amountinteger required

Amount in minor currency units (cents) — always positive

compliance_screening_idstring uuid nullable

ComplianceScreening result for this transaction (auth:018 / camt:998)

creditor_counterparty_idstring uuid nullable

Creditor (payee) counterparty — pain:001 <Cdtr>

creditor_payment_account_idstring uuid nullable

Creditor (payee) payment account — pain:001 <CdtrAcct>

currencystring required

ISO 4217 3-letter currency code (e.g. USD, EUR, GBP)

debtor_counterparty_idstring uuid nullable

Debtor (payer) counterparty — pain:001 <Dbtr>

debtor_payment_account_idstring uuid nullable

Debtor (payer) payment account — pain:001 <DbtrAcct>

end_to_end_idstring nullable

pain:001 EndToEndId — set by originating party, immutable once set

external_idstring nullable

Caller-supplied SoE upsert key (unique per tenant when set)

instruction_idstring nullable

pain:001 TxId — instruction ID from the payment initiation message

ledger_entry_idstring uuid nullable

LedgerEntry created by this transaction (camt:052/053 Ntry)

requested_execution_datestring date nullable

Requested execution date (pain:001 ReqdExctnDt)

settlement_datestring date nullable

Actual settlement date (pacs:008 IntrBkSttlmDt / camt:054 BookgDt)

status'pending' | 'accepted' | 'settled' | 'rejected' | 'reversed' | 'cancelled' nullable

Payment lifecycle status (pain:002 / pacs:002 TxSts)

status_reason_codestring nullable

pacs:002 TxSts reason code (e.g. RJCT, ACCP, ACSC, PDNG)

tenant_idstring uuid required
transaction_type'credit_transfer' | 'direct_debit' | 'card_payment' | 'refund' | 'reversal' | 'internal_transfer' required

ISO 20022 payment instruction type

uetrstring nullable

SWIFT gpi UETR (Unique End-to-End Transaction Reference — ISO 20022). Globally unique.

Example request

{
  "account_holder_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "amount": 0,
  "compliance_screening_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "creditor_counterparty_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "creditor_payment_account_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "currency": "",
  "debtor_counterparty_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "debtor_payment_account_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "end_to_end_id": "",
  "external_id": "",
  "instruction_id": "",
  "ledger_entry_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "requested_execution_date": "2020-04-20",
  "settlement_date": "2020-04-20",
  "status": "pending",
  "status_reason_code": "",
  "tenant_id": "02ef9c5f-29e6-48fc-9ec3-7ed57ed351f6",
  "transaction_type": "credit_transfer",
  "uetr": ""
}

Changes

    • warning

      removed the request property

    • info

      added the new optional request property