Payments
Create Payment
Send funds to a beneficiary’s payment destination, debiting a virtual account
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 (
Sends funds to a beneficiary’s payment destination, debiting a virtual account. The order starts at
/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.
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.Response
Returns 200 with the new payment’sid. Use Get Payment to retrieve the full object, including review status and the debit receipt.
string
Id of the new payment (
apo_…).