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.
Webhooks and payment links
Payment links created from the Wava merchant dashboard (app.wava.co) do not trigger webhook notifications. Webhooks are only sent for payment links created via the API. If you need webhook notifications for payments, create links programmatically using this endpoint.