One-Click Payment

Enter the card once. Pay in one tap from then on.

Waffo stores the card as a secure token, so the number never touches your system. Returning customers confirm with a tap; renewals charge in the background.

Back again
•••• 4242Expires 12/29•••• 8817Expires 06/26•••• 1005Expires 03/28Add new card
Pay in one click · $29.00
01 / THE CUSTOMER EXPERIENCE

First time: type the card. Every time after: one tap.

The saved-card list, the confirm, and any extra verification are all Waffo's checkout, not your frontend.

First checkout

Saved only once the payment succeeds.

Back again

One tap. 3DS can still be challenged when risk asks for it.

02 / WHAT YOU HOLD

You hold a token. Waffo holds the card.

One-click runs on a stored card, but you never touch it. Which credential goes to the network is Waffo's call — not logic you have to write.

  1. One token, one customer, one card

    The token is scoped to that customer and that card under your Waffo account. It is not a card number and not a wallet, and it is worth nothing anywhere else. The card details stay with Waffo.

  2. Unbinding is final

    An expired token can be brought back rather than re-collected, and it can still be unbound. Unbinding is the end of it: a card the shopper adds again comes back as a new token.

  3. One-click doesn't switch off risk

    Waffo still decides which credential goes to the network, and still applies 3DS dynamically. A one-tap charge can be challenged like any other.

03 / FOR DEVELOPERS

What you actually write.

Start a binding on your server. Submit the card from the browser. After that, it's your normal order call — with a token where the card number used to go.

Start a bindingserver · REST
POST /api/v1/tokenization/generate

{
  "tokenRequestId": "tkr_20260827_001",
  "merchantUserId": "USER_001",
  "tokenType": "CARD",
  "notifyUrl": "https://yourstore.com/webhooks/waffo"
}

# 200 -> { "tokenSessionId": "tks_9f2c..." }
# Hand the session id to the browser. Your API key stays here.
04 / Underneath

The token plugs into the rest of the stack.

A saved credential is not a thing on its own — it lives on the checkout UI, is reused by every renewal, and still goes through the same risk checks on each charge.

Frequently asked questions about one-click payments.

No. What you store is a token scoped to that customer and card under your account. The card details stay with Waffo, and the token is worth nothing outside your account.

Their saved cards, and one confirm. A CVV field appears only on the one charge where a card-network token is not on file yet; after that charge it does not come back for that card. 3DS can still be challenged when risk asks for it.

You unbind it with the token you hold — which works even if that token has expired. The token is then canceled for good; a card the customer adds again comes back as a new token.

You are. Your terms have to say what you will charge, how often, how the amount is worked out, and how the customer cancels, and the customer has to agree to it. Waffo charges against the mandate that first payment created; it cannot write the terms for you.

If you are incorporated as a company, or if you are an individual developer.

Two paths, one promise: you build the product, Waffo runs the payments.