Telr is Droplinked’s preferred MENA/GCC payment processor. The integration uses Telr’s
hosted payment page (PCI scope stays on Telr), forwards transaction-advice webhooks back
to the Droplinked backend, and supports refunds + status polls.
Architecture
Droplinked remains merchant-of-record. Telr never sees the catalog or customer data beyond
what’s carried in the order body.
Endpoints
All endpoints are under https://apiv3.droplinked.com.
Webhook signature scheme
Droplinked verifies the standard Telr advice signature:
- Colon-joined, raw bytes, no trailing newline
- Compared with
crypto.timingSafeEqual (side-channel safe)
- Mismatch returns HTTP 401 (not 400) so attackers can’t probe whether a
cartId exists
Required form fields posted to /telr/webhook
Status mapping
Idempotency + state-machine guarantees
Telr’s webhook handler is fully idempotent. Telr can safely retry on a schedule like
1m / 5m / 30m / 2h / 24h with exponential backoff — we’ve verified 24h replay safety.
- Every webhook event is persisted by
signature into telrTransaction.webhookEventIds
- State transitions run through a
canTransition check — irreversibly forward-only
- A stale
AUTHORIZED event arriving after CAPTURED is dropped (state never rewinds)
- The DB update + idempotency-list push run inside a single transaction so partial failures
don’t desync state
Refund flow
- Requires the merchant JWT for the shop that owns the transaction
- Calls Telr’s Order API with
ivp_method=refund, tran_ref, tran_amount, tran_currency
- Successful refunds are recorded as child entries in
telrTransaction.refunds[]
- Partial refunds supported (
amount < captured_amount); subsequent attempts validate
cumulative_refunded ≤ captured
Test mode
- Toggled by env:
TELR_TEST_MODE=true (sends ivp_test=1 on the order body)
- Telr issues a separate
store_id / auth_key pair for sandbox; same base URL
(https://secure.telr.com)
Configuration
Supported currencies
AED, SAR, KWD, BHD, QAR, OMR, USD, EUR. Additional currencies can be enabled in the Telr
merchant portal — Droplinked auto-detects supported currencies from the order-create
response.
Production checklist
- Telr merchant onboarding complete
- Webhook URL registered with Telr:
https://apiv3.droplinked.com/telr/webhook
- HMAC verification + idempotency live
- Refund flow tested
- State-machine prevents status rollback
- Sandbox
store_id + auth_key provisioned for apiv3dev.droplinked.com