Skip to content

REST API v1 · Resource

WhatsApp Pay

Ask for a payment inside a WhatsApp chat and check whether it was paid.

API reference · WhatsApp Pay

Endpoints

Paths are relative to https://fliok.com/api/v1. Each endpoint names the scope and the lowest key role it needs; a key without them gets 403 (see Authentication). The WhatsApp Pay endpoints answer for a workspace once the feature is set up for it.

Send an order the customer pays without leaving WhatsApp, through the gateway you set up in Settings → Integrations. The same rules as the inbox apply: a WhatsApp chat (not Instagram), inside its 24-hour window, a customer who hasn’t opted out. Amounts are whole numbers in paise and in Indian rupees only. Send your own order number as referenceId: a retry with the same one answers with the request already sent instead of asking twice. When the customer pays, the payment.paid webhook fires and the payment is recorded on their lead.

WhatsApp Pay

2
  • POST/payment-requestsAsk for a payment inside a WhatsApp chat — by conversationId or the customer’s number (to). INR, in paise. Your referenceId makes retries safeScope payments:write · agent role or higher
  • GET/payment-requests/{id}Where a payment request stands — by our id or your referenceIdScope payments:read · viewer role or higher

Examples

Request a payment in a chat, then check it

# Inside the customer's 24-hour window, in a WhatsApp chat. Amounts in paise (₹1,499 = 149900).
curl -X POST https://fliok.com/api/v1/payment-requests \
  -H "Authorization: Bearer wa_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conversationId": "2b7e9f1c-1a44-4c3e-9b0a-5d1a2f6d8e7c",
    "referenceId": "ORD-1042",
    "items": [ { "name": "Brass diya set", "quantity": 1, "unitPaise": 149900 } ],
    "shippingPaise": 9900,
    "body": "Here is your order. Tap Review and pay to pay on WhatsApp.",
    "expiresInMinutes": 1440
  }'

# :id is our id or your referenceId
curl https://fliok.com/api/v1/payment-requests/ORD-1042 -H "Authorization: Bearer wa_YOUR_API_KEY"

Rate limits

The buckets these endpoints use. Burst is how many requests you can make back-to-back from a full bucket; sustained is how fast it refills.

BucketEndpointsBurstSustained
Reads/messages · /conversations · /contacts · /templates · /phone-numbers · GET /webhooks · Instagram reads · GET /payment-requests/{id}60060 / sec
WhatsApp PayPOST /payment-requests301 / 2 sec

Every limit, the RateLimit-* headers and what to do on a 429: Rate limits.