Ship voice-agent payments on Square

Building for merchants on Square? Ringup charges settle on each merchant’s own Square account. Orders are created first and paid second, so your merchant’s dashboard shows a normal paid order with line items, customer, and card, exactly like any other sale.

Settles on the merchant’s Square accountOrders in their dashboardMerchant stays merchant of recordNo PCI scope for you
Why Ringup

Your merchants’ POS stays the system of record.

Their dashboard

Orders are created first and paid second, so Square shows your merchant a normal paid order with line items, customer, and card. Their reporting, refunds, and reconciliation work exactly as today, with nothing new for you to support.

Their money

Every charge settles on the merchant’s own Square account at their existing rates. Ringup is never in the money flow, never holds funds, and your merchant stays the merchant of record. No rate conversation, no re-underwriting.

And the experience you ship is the point: your agent recognizes returning callers by phone number and charges their saved card in one sentence. No card read aloud, no number in any transcript, no PCI scope anywhere in your stack.

The tools

Three tools

identify

The sign-in, not a lookup. Matches the caller’s number to an authenticated session: name, saved card (brand + last four), returning or new, and the merchant’s payment-policy verdict. Treat it as a login event: attach your own order history and preferences to the caller.

charge

Charge the saved card after verbal confirmation. Idempotent: platform retries can never double-charge. Settles on the merchant’s own processor.

send_link

Text a secure pay page to first-time callers. The card is captured once, off the call, and every future call after that is one sentence.

Quick start

What actually happens on a charge

1  POST /v2/orders       →  order created OPEN (line items, pickup)
2  POST /v2/payments     →  source: the caller's saved card-on-file
                            order_id: the same order

→  Square Dashboard: Order: PAID   (items · customer · VISA •5858)

Payment attaches a tender to the existing order; it never creates a duplicate. Verified end-to-end in Square sandbox and production: same order id, identical line items and total, balance due to zero.

Best practices

Square best practices

Order-then-payOrders are created OPEN and paid later. There is no expiry on open orders, and the payment must match the order total. The merchant sees one paid order, not a bare payment.
Keep your order flowIf your platform already creates Square orders, keep that flow; Ringup pays them from its own app. Cross-application payment on the same seller is verified, including across developer accounts. Zero changes to your ordering code.
Card on fileThe card is captured once through Square’s own hosted SDK, so your stack never touches the number, and charged later by customer + card id. Consent at save is built into the flow.
RefundsRefunds run through the normal Square refunds API, and Square automatically creates a return order linked to the original. Your merchants’ books stay clean without you building anything.
RecognitionReturning callers are matched by phone number, using Square customer search plus Ringup’s identity layer, and confirm their saved card verbally. Your agent charges it in one sentence.
Merchant onboardingYour merchants connect via standard Square OAuth from a hosted wizard: your button, our flow, a webhook when they’re live. You never see their Square credentials.

Platform reference: Square docs. Ringup maintains this page against Square’s current API surface.

FAQ

Questions

I already create Square orders for my merchants. Does that break?
No, that’s the verified pattern. Keep creating orders exactly as you do today; Ringup attaches the payment from its own app. Square permits cross-application payment on the same seller, verified in sandbox and production, including across developer accounts.
Do my merchants have to change processors or accounts?
No. Charges settle on each merchant’s existing Square account at their existing rates. Ringup never holds funds, and the merchant stays the merchant of record, so there’s no rate conversation for you to have.
What shows up in the merchant’s dashboard?
Normal paid orders with line items, the customer, and the card used; refunds appear as linked return orders. Their reporting doesn’t change, which keeps your support load down.
What does merchant onboarding look like from my side?
Hosted by Ringup: your button, our OAuth wizard, a webhook when the merchant is connected. About two minutes per merchant, and their credentials never pass through you.

Ship one-sentence payments to Square merchants

Your merchants keep their processor, and their callers never touch a card again.

Request demo
docs.ringup.dev