Payment Links
Payment links let you collect payments without building a custom checkout. Create a link, share it via any channel, and the buyer completes payment through the hosted Wava checkout page.
Use cases
- Invoicing: Send a payment link with a fixed amount for an invoice.
- Social commerce: Share links via WhatsApp, Instagram, or email.
- Donations: Create dynamic links where the buyer enters the amount.
- Recurring manual payments: Generate a new link for each billing cycle.
Creating a payment link
curl -X POST "https://api.wava.co/v1/links" \
-H "merchant-key: YOUR_MERCHANT_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 50000,
"description": "Invoice #1234",
"currency": "COP",
"order_key": "invoice-1234",
"redirect_link": "https://mystore.com/success",
"redirect_link_cancel": "https://mystore.com/cancel",
"redirect_link_failure": "https://mystore.com/error"
}'
Response
{
"data": {
"payment_link_id": 9876,
"payment_url": "https://checkout.wava.co/link/abc123def456",
"hash": "abc123def456",
"expires_at": "2025-03-15T23:59:59.000Z"
}
}
Share the payment_url with your buyer. When they open it, they see the payment amount and can select their preferred payment method (Nequi, Daviplata, Breb, or Stripe if enabled).
Redirect URLs
After the buyer completes (or cancels) the payment, they are redirected to the URL you specified:
| Field | When used |
|---|
redirect_link | Successful payment |
redirect_link_cancel | Buyer cancels |
redirect_link_failure | Payment fails |
All redirect fields are optional. If omitted, the buyer stays on the Wava checkout confirmation page.
Use order_key to associate the payment link with your internal reference (invoice number, order ID, etc.) for reconciliation.