Create a payment
Creates a payment from one of the entity’s internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.
Authorizations
Headers
Required unique key (UUID recommended) that makes payment creation safe to retry by replaying the original response; retained 24h per partner, omitting it returns 400.
255Signed MelioSonar session token from the initiating device, used for risk evaluation; invalid or expired tokens return 403.
Entity the request operates on — an entity id (ent_<uuid>) or me (the partner's sole entity).
Body
Minor units (cents)
Internal originating account id (acct_), the debit account
External receiving account id (acct_), the credit account
Required, and explicit about the receiving rail. Pick the normal-speed value that matches the receiving external account (standard-ach, standard-check, domestic-wire, virtual-card). The faster variants, same-day-ach / rtp (ach), express-check / overnight-check (check), instant-domestic-wire (domestic-wire), and instant-virtual-card (virtual-card), require an ACH originating account and pass a per-payment eligibility check. The preference's rail must match the receiving external account, otherwise the request is rejected with 400; a faster variant that is ineligible for the payment is likewise rejected with 400 (never silently downgraded).
standard-ach, same-day-ach, rtp, standard-check, express-check, overnight-check, domestic-wire, instant-domestic-wire, virtual-card, instant-virtual-card Compliance details, discriminated by type. Only goods-and-services is supported today; future payment types (internal money movement, mass payouts) will add their own variants with different fields.
Payer-private memo, never shown to the recipient
Note shown to the payment recipient
Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.
255^[A-Za-z0-9_-]+$Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 50 keys; each key 1 to 40 chars and may not contain square brackets ([ ], reserved for the metadata[key] filter); value ≤100 chars. Filterable via metadata[key].
Response
Payment created.
The fees charged for this payment, as recorded by the fees service. Includes both the originator-side and receiver-side fees; use chargeTo on each item to tell them apart. Always present — an empty array when no fees have been recorded yet (e.g. a freshly created payment).
Opaque payment id (pay_)
Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.
255^[A-Za-z0-9_-]+$Internal originating account id (acct_)
External receiving account id (acct_)
Effective delivery preference. Reflects the faster variant when one was applied, otherwise the receiving rail's normal-speed value.
standard-ach, same-day-ach, rtp, standard-check, express-check, overnight-check, domestic-wire, instant-domestic-wire, virtual-card, instant-virtual-card While a payment is being reviewed it is reported as scheduled; there is no separate review status.
scheduled, in-progress, completed, failed, canceled Payer-private memo, never shown to the recipient
Note shown to the payment recipient
Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 50 keys; each key 1 to 40 chars and may not contain square brackets ([ ], reserved for the metadata[key] filter); value ≤100 chars. Filterable via metadata[key].