Slip deposit

Live
POST/api/v1/deposits/slip

Submit the member's transfer slip for verification.

Headers

FieldTypeRequiredDescription
AuthorizationstringYesUsed — send Bearer <member access_token>
X-Api-KeystringYesAgent API key (ak_…) from the bo screen
X-TimestampstringYesSigning time in unix milliseconds (±300s skew allowed)
X-NoncestringYesUnique per-request value (UUIDv4) for replay protection
X-SignaturestringYeshex(HMAC-SHA256(secret, canonical)) — see the Authentication page
X-Player-IPstring—The player's real IP (IPv4/IPv6) — recommended (used in login history)
X-Player-UAstring—The player's User-Agent (optional — recorded in login history)
X-Request-Idstring—Your correlation id — echoed back as request_uuid (recommended)
x-langstring—th (default) or en — the language of message

Request bodyapplication/json

FieldTypeRequiredDescription
account_idstring (uuid)—The recipient account the member transferred into (from deposit options, method SLIP) — recommended, helps match the transfer
slip_base64string (base64)YesThe slip image encoded as base64 (no data: prefix) — source file up to 12MB
content_typestringYesThe image MIME type, must be image/*, e.g. image/jpeg or image/png
Request example
{
  "account_id": "7c2f9d4e-8b1a-4f6c-9e3d-a5b7c9d1e2f3",
  "slip_base64": "/9j/4AAQSkZJRgABAQAAAQABAAD…",
  "content_type": "image/jpeg"
}

Response

Fields in data

FieldTypeRequiredDescription
order_idstring (uuid)—The created deposit order id
amountnumber—The amount verified from the slip (THB) — already credited to the wallet
Response example
{
  "success": true,
  "code": 0,
  "message": "สำเร็จ",
  "data": {
    "order_id": "e4d8b2a6-9c1f-4e3b-a7d5-0f2c4a6e8b1d",
    "amount": 500
  },
  "request_uuid": "9f2b7d1e-4a83-4c1f-b2ce-6d5a0e8f3c21"
}

Possible error codes

codeNameHTTPMessage
1002FORBIDDEN403ForbiddenThe member is under a SEAMLESS-wallet agent — the wallet lives on the agent side, so depositing through the member API is unavailable
4001VALIDATION_ERROR400Validation errorNo slip image attached, or the file is not an image (image/*)
4002BAD_REQUEST400Bad requestThe request's agent could not be resolved (unknown domain/credential)
5008SLIP_VERIFY_FAILED422Could not verify the transfer slipSlip verification failed, e.g. unreadable image, wrong recipient account, or no matching transfer found
5009SLIP_DUPLICATE409This slip has already been usedThis slip has already been used for a deposit
9002SERVICE_UNAVAILABLE503Service unavailableThe internal payment service is temporarily unreachable — retry later