Skip to main content
POST
Outgoing payments send funds to a beneficiary’s payment destination, funded from a virtual account, with an optional platform fee. Routes are account-scoped (/accounts/{account_id}/…); the account must belong to your organization. Fee-collection accounts managed by Hop are not accessible via these routes (404).
Approvals and settlement are not client-driven. Hop performs state transitions (approve/reject/settle/fail/reverse); clients observe the resulting status and balance changes through this API.
Platform fee semantics: the platform fee is part of payment creation — not a separate API. The fee is held on the source virtual account at create, collected on settlement, and released back to the source balance on reject, fail, or pre-settle reversal. A post-settle reversal returns the payment amount but does not auto-refund a collected fee.
Sends funds to a beneficiary’s payment destination, debiting a virtual account. The order starts at pending_review when configured approval is required, or pending when approval is not required; amount — plus platform_fee_amount if set — is held on the source virtual account until the payment settles or fails.

Path Parameters

string
required
Id of the account (acct_…) the payment is created under.

Headers

string
required
Unique key for this payment create. Re-using a key for the same account returns the previously created payment.

Request Body

string
required
Id of the source virtual account (va_…) to debit.
string
required
Id of the beneficiary (bene_…).
string
required
Id of the beneficiary’s payment destination (dest_…).
decimal
required
Recipient amount, in the destination currency. Must be greater than 0.
enum
required
One of wire, ach, fedwire, spei, pix, manual. Must be among the destination’s supported payment_methods.
enum
required
One of supplier_or_vendor_payment, between_own_entities, salary_or_payroll, trade_settlement, tax_payment, other.
string | null
Private note for your platform, up to 500 characters. Not visible to the receiving bank.
string | null
Bank-visible memo, up to 140 characters (SWIFT MT103 Field 70).
datetime | null
null dispatches the payment once it reaches pending. A future timestamp schedules dispatch at that time.
decimal
Add-on platform fee, ≥ 0, default 0. Held in addition to amount and collected on settlement.
If platform_fee_amount > 0, fee collection must be enabled for the currency (contact Hop), and amount + platform_fee_amount must not exceed the source account balance; otherwise the request fails with 422.

Response

Returns 200 with the new payment’s id. Use Get Payment to retrieve the full object, including review status and the debit receipt.
string
Id of the new payment (apo_…).