Skip to main content

Payment Flows

Each payment gateway has a different flow for how the buyer completes their payment. This section explains the end-to-end process for each gateway.

Available gateways

Nequi

Push notification flow. Buyer approves payment in the Nequi app.

Daviplata

OTP verification flow. Buyer receives a code via SMS and submits it.

Breb

QR code / transfer key flow. Buyer completes a bank transfer.

Stripe

Card payment flow. Configured through the Wava dashboard.

Order lifecycle

All payment gateways follow the same order status progression:
StatusDescription
pendingOrder has been created but payment has not yet been initiated with the gateway.
processingPayment is in progress — waiting for buyer action (push approval, OTP, transfer).
confirmedPayment completed successfully. Funds will be included in your next payout.
cancelledOrder was cancelled — buyer rejected the payment, it timed out, or it was cancelled via API.
refundedA refund has been processed for this order.

Gateway discovery

Before creating orders, call GET /v1/orders/paymentGateways to determine which gateways are active for your store and what fields each requires.
curl -X GET "https://api.wava.co/v1/orders/paymentGateways" \
  -H "merchant-key: YOUR_MERCHANT_KEY"

Webhooks

For Nequi and Breb, the buyer completes payment asynchronously. Use webhooks to receive real-time status updates, or poll GET /v1/orders/{orderId}.

UX requirements

All implementations must be reviewed and approved by the Wava team before going live. You must display:
  • Payment gateway logos using official assets provided by Wava
  • Processing animations using official Wava GIFs showing step-by-step payment flows
  • User-facing instructions in Spanish, guiding the buyer through each step
See each gateway’s page below for specific UX assets and copy.