Direct is in early access and subject to change. To request Direct access, contact hi@natural.com.
ach_*) pushes money from a Wallet to an External party account over the ACH network.
Create
companyEntryDescriptionappears on the recipient’s bank statement. It is limited to 10 characters and is trimmed and uppercased before submission. The response reports what was sent to the bank insubmittedDescriptor(companyNameandcompanyEntryDescription), along with thesecCodeused and, once submitted, thetraceNumber.addendais optional payment-related information carried to the receiving bank as a NACHA addenda record. It is limited to 80 characters and is trimmed before submission. Receivers that post payments from remittance data (for example tax agencies) read this field.- The external party account does not need to be validated. Payments are accepted while validation is still
pending. - To send on behalf of a customer, pass
customerPartyId. See Move money for a customer.
Lifecycle
expectedAvailableAt is an estimate and is null when unknown. When a payment is returned, return carries the NACHA code (for example R01), a reason, and the returnedAt, dishonoredAt, contestedAt, and fundsUnlockedAt timestamps.
Cancel — A payment can be canceled while it is CREATED or AWAITING_APPROVAL. Once submission starts, cancel returns 400 ach.not_cancellable. Canceling emits no ach.* event.
Events — Status changes emit ach.created, ach.processing, ach.settled, ach.failed, and ach.returned. Approval holds emit approval.* events instead. The fee is assessed when the payment is submitted, so it’s always null on ach.created. Read it from ach.processing. Payloads are documented in the event catalog.