Getting paid shouldn’t depend on someone logging in. The Zoey API can now charge an invoice to a customer’s saved card or ACH account, so your ERP, accounting system, customer portal or collections workflow can take payment on its own.
What it does
- List saved payment methods for an invoice’s account: saved cards and verified ACH bank accounts, with a label, brand, last 4 digits and expiry. No card or bank details ever leave Zoey.
- Pay in full or in part. Charge the remaining balance, or send an amount for a partial payment.
- Send the receipt. Optionally email the customer their payment receipt.
- Safe to retry. Send an idempotency key, and a retry after a successful payment returns the first result instead of charging the customer twice.
The same payment path as your storefront
API payments go through the same path as storefront invoice payments and AutoPay. That means the same gateways (Authorize.Net, Stripe and Braintree cards, and Stripe ACH), the same audit trail, and invoices that update exactly as if the customer paid online. ACH payments stay pending until the bank confirms them, just like on the storefront.
For developers
GET /sales2/orders/bill/savedPayments?id=<invoice id>
POST /sales2/orders/bill/pay
{
"billId": 123,
"data": {
"saved_payment": "cim:11",
"amount": 50.00,
"send_email": true,
"idempotency_key": "order-123-attempt-1"
}
} Without saved_payment, Pay Invoice works exactly as before. The response tells you the payment, whether the invoice is now paid in full, and the remaining balance.
What you can build with it
- Charge open invoices automatically from your ERP when they come due.
- Let your collections team take payment from inside the tools they already use.
- Add “pay now with card on file” to a customer portal or mobile app.
Paying invoices with saved cards and ACH is available now in the Zoey API for every store using Invoicing.