Trigger Top-Up
Initiates an e-wallet fund transfer to a beneficiary. This endpoint performs comprehensive validation, deducts funds from merchant balance atomically, creates a transaction record, and queues processing through the job system. The response indicates transaction has been queued with status typically Pending until background processing completes. CRITICAL: This is a money-out operation requiring X-Signature and X-Timestamp authentication per internal signing protocol. Middleware validation includes kill-switch check, request signature verification, rate limiting, and anomaly detection. Duplicate reference numbers within 24 hours are rejected with error code SP004.
Authorizations
JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.
Merchant API key (Credential.api_key). Required on every request.
Headers
HMAC-SHA512 hex signature, computed as HMAC_SHA512(clientSecret, "{HTTP_METHOD}:{REQUEST_URI}:{ACCESS_TOKEN}:{SHA256_HEX(MINIFIED_BODY)}:{X_TIMESTAMP}"). MINIFIED_BODY is the request body with object keys recursively sorted alphabetically and re-serialised with no whitespace (an empty/missing body hashes the empty string). ACCESS_TOKEN is the bearer token without the Bearer prefix. Missing header returns 400 (response_code=4019900); signature mismatch returns 401 (response_code=4019900).
ISO-8601 timestamp of the request; used as part of the signed string. Missing header returns 400 (response_code=4019900).
Body
Request payload to initiate an e-wallet transfer. Includes validation, balance deduction, and asynchronous processing through the job queue.
Unique identifier (ULID) of the merchant account
64"01K5G4FZZ18DMK0M5QTR8Y9QY9"
Unique reference identifier for this transaction. Must be unique per account to prevent duplicate submissions.
64"REF-001"
E-wallet provider code (DANA, OVO, GOPAY, SHOPEEPAY)
"DANA"
Beneficiary phone number or account identifier
10 - 15"085733347341"
Transfer amount (includes platform fees if applicable)
Optional transaction notes or description for internal reference. Notes only allows space, alphanumeric, non-latin letter, non-latin numeric, and "/" characters.
50"Top up DANA"
Response
Queued — data matches EwalletTriggerTopUpSuccessData (usually 03 Pending)
Success response data after balance lock and transaction creation (HTTP 200). Transaction status is typically Pending until processed by job or confirmed via webhook. Funds have been deducted from merchant account.
