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 credentialsGET /v1/app/dashboard— wallet, today volume, recent transactionsPOST /v1/app/links— quick payment link + share payloadGET /v1/app/payouts,POST /v1/app/payouts/request
Errors & webhooks
401 UNAUTHORIZED— missing/invalid API key403 DOMAIN_NOT_WHITELISTED— request origin/callback domain not registered for merchant brand403 GATEWAY_NOT_ALLOWED_FOR_PLAN/CHECKOUT_LIMIT_REACHED- Webhook events (planned):
payment.succeeded,payment.failedwith HMAC signature verification