Developer Docs

REST API reference for api.paylink.bd/v1. Authenticate with Authorization: Bearer sk_live_.... Brand is auto-resolved from request Origin/Referer/callback domain.

Create checkout

POST https://api.paylink.bd/v1/checkout/create
Authorization: Bearer sk_live_xxx
Content-Type: application/json

{
  "amount_bdt": 1250.00,
  "currency": "BDT",
  "customer_name": "Jane Doe",
  "customer_phone": "01700000000",
  "customer_email": "[email protected]",
  "redirect_success_url": "https://shop.example.com/success",
  "redirect_fail_url": "https://shop.example.com/fail",
  "webhook_url": "https://shop.example.com/api/paylink/webhook"
}

Response: { "checkout_url": "https://paylink.bd/{uuid}", "payment_id": "{uuid}", "expires_at": "..." }

Get checkout status

GET https://api.paylink.bd/v1/checkout/:payment_id
Authorization: Bearer sk_live_xxx

Release escrow

POST https://api.paylink.bd/v1/escrow/:transaction_id/release
Authorization: Bearer sk_live_xxx

Mobile app endpoints (scaffold)

  • POST /v1/app/auth/login — issue mobile JWT from Jellyfish merchant credentials
  • GET /v1/app/dashboard — wallet, today volume, recent transactions
  • POST /v1/app/links — quick payment link + share payload
  • GET /v1/app/payouts, POST /v1/app/payouts/request

Errors & webhooks

  • 401 UNAUTHORIZED — missing/invalid API key
  • 403 DOMAIN_NOT_WHITELISTED — request origin/callback domain not registered for merchant brand
  • 403 GATEWAY_NOT_ALLOWED_FOR_PLAN / CHECKOUT_LIMIT_REACHED
  • Webhook events (planned): payment.succeeded, payment.failed with HMAC signature verification