ACH charge
Initiate an ACH bank transfer charge. A payment can be made using raw ACH account data or for an existing customer vault. If charging a customer vault, the billingAddress and achData fields are not required — the vault's default payment method is used.
Dual-pricing accounts: amount represents the cash price; a discount is applied based on the configured discount rate.
achData.accountType values: businessChecking, businessSavings, personalChecking, personalSavings.
achData.last4 must be the last 4 digits of the account number (regex: \d{4}).
Headers
user-agentACH charge › Request Body
clientIdWebpage/Application that belongs to a company registered with Zero-Platform, not the current user paying
amountA positive integer representing how much to charge in the smallest currency unit
overrideDefaultPaymentMethodThe id of the payment method to use in the charge
currencyThree-letter ISO currency code, in lowercase. Must be a supported currency
captureWhether to immediately capture the charge
sendReceiptsend Receipt info
bypassSurchargeUsed to remove surcharge amount for exceptions
discountA positive integer representing how much to discount in the smallest currency unit
customerIdCustomer ID
taxesTaxes amount or list of taxes
ACH charge › Responses
ACH charge created.
ACH refund
Post a refund on a previously created ACH payment. Funds are returned to the original bank account.
Important: There is a mandatory delay of 3–6 minutes between the original transaction and when a refund can be processed. ACH refunds must be for the exact amount of the original transaction — partial refunds are not allowed. A refund on a fully refunded payment will result in an error. amount is expressed in cents (e.g. 100 = $1.00). reason is free text and is required.
Headers
user-agentACH refund › Request Body
amountThe amount to refund, which must be less than or equal to the original amount.
paymentIdID of the payment to be refunded.
reasonReason for the refund. If set, possible values are duplicate, fraudulent, and requested_by_customer.
ACH refund › Responses
Refund processed.
ACH void
Void an existing ACH payment that has not yet been settled. Once voided, no additional charges can be made.
reason values (ACH-specific): fraud, user_cancel, icc_rejected, insufficient_funds, incorrect_information, pos_timeout.
Set receipt=true to send a receipt notification to the customer via email or SMS.
Headers
user-agentACH void › Request Body
paymentIdID of the charge that must be voided.
reasonReason that make void.
paymentReason that make void.
receiptTo send or not to send an email after void a payment
ACH void › Responses
Payment voided.
List ACH payments
Returns a paginated list of ACH payments. Filter by date range, last 4 digits of the account number, or authorization number.
query Parameters
authorizationNumberAuthorization/reference number from the ACH processor
achLast4Last 4 digits of the bank account number
endDayFilter end date (YYYY-MM-DD)
startDayFilter start date (YYYY-MM-DD)
limitItems per page (default: 25)
pagePage number (default: 1)
List ACH payments › Responses
Paginated ACH payments list.
totalpagelimit