Origins and Destinations
In every payment, the flow of funds is defined by origins (where the money comes from) and destinations (where the money goes). Each item is represented as an object within the origins[]
or destinations[]
array.
Both origins and destinations are defined using the payment-node
entity, which encapsulates the configuration needed for the payment source or target.
The payment-node includes a type
field. Based on the selected type
, a corresponding node
must be provided, containing the specific structure required to process the payment.
Only one node
should be included per payment-node
, matching the selected type
.
Core Fields
Below are the key fields used in origins
and destinations
:
name
The provider executing or receiving the payment. If not specified, the default value is conomy_hq
. This is used to identify the payment processor or custody service involved in the transaction.
type
This field determines the nature of the payment origin
or destination
. It defines what kind of financial entity is initiating or receiving the payment. This determines the kind of {node}
required for the transaction.
amount
The amount associated with this origin/destination. Required if splitting funds across nodes.
currency
Currency code, e.g. COP
, USD
. Check the currency page for more info.
identity
Object representing the identity
involved.
{node}
The node field contains the detailed configuration required for the payment. Its structure depends entirely on the value of the type
field. Only one node object should be included, and it must match the selected type.
Payment-node types
The following table outlines the supported type values for a payment-node
, along with the expected structure of the corresponding node
field. Each type unlocks a specific node schema, which must be provided when constructing the origin or destination of a payment:
ACCOUNT
Internal conomy_hq account (used for most platform flows).
account
BANK_ACCOUNT
External bank account.
bank
CARD
Card-based payments (debit, credit).
card
CRYPTO
Crypto wallet for sending or receiving crypto.
wallet
PAYMENT_INITIATION
A payment initiated through a open banking flow.
paymentInitiation
PAYMENT_LINK
A reusable or one-time payment link shared with a payer.
paymentLink
Valid Origin and Destination Combinations
The table below defines the valid combinations of origin
and destination
types that are supported. These combinations reflect the permitted flows for transferring funds, whether between internal accounts, external instruments, or across borders.
P2P
ACCOUNT
ACCOUNT
TOPUP_ACCOUNT
PAYMENT_LINK
, WALLET
, CARD
, PAYMENT_INITIATION
, BANK_ACCOUNT
ACCOUNT
REMITTANCE
ACCOUNT
, WALLET
, PAYMENT_LINK
, CARD
, PAYMENT_INITIATION
, BANK_ACCOUNT
BANK_ACCOUNT
WITHDRAWAL_ACCOUNT
ACCOUNT
BANK_ACCOUNT
PURCHASE
PAYMENT_LINK
, CARD
, PAYMENT_INITIATION
, BANK_ACCOUNT
ACCOUNT
COLLECT
ACCOUNT
ACCOUNT
Notes
If only one origin/destination is used, you can omit
amount
and it will default to the full transaction amount.If multiple origins or destinations are used, the sum of all
amount
fields must match thepurchaseAmount
.Only the field required for the selected
type
should be present — others must be omitted.
Last updated