Skip to main content
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