Skip to main content
POST
/
api
/
v1.0
/
ewallet-native
/
{account_id}
/
create-checkout
Create v1 (Legacy)
curl --request POST \
  --url https://sandbox-payment-b2b.singapay.id/api/v1.0/ewallet-native/{account_id}/create-checkout \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-PARTNER-ID: <api-key>' \
  --data '
{
  "amount": 100000,
  "ewallet_vendor": "EWALLET_DANA",
  "expired_at": "2026-04-02T23:59:59+07:00",
  "customer_name": "John Doe",
  "customer_email": "john.doe@example.com",
  "customer_phone": "081234567890",
  "merchant_redirect_url": "https://merchant.example.com/payment/return",
  "merchant_reff_no": "INV-2026-001"
}
'
{
  "status": 200,
  "success": true,
  "data": {
    "id": 2001,
    "account_id": 42,
    "reff_no": "EW20260402001",
    "merchant_reff_no": "INV-2026-001",
    "status": "open",
    "status_computed": "open",
    "is_expired": false,
    "ewallet_vendor": "EWALLET_DANA",
    "amount": 100000,
    "total_amount": 100000,
    "merchant_fee": 1500,
    "net_amount": 98500,
    "checkout_url": "https://checkout.example.com/pay/abc123",
    "checkout_url_app": "dana://checkout/abc123",
    "vendor_reference_no": "DANA-REF-987654",
    "merchant_redirect_url": "https://merchant.example.com/payment/return",
    "additional_info": null,
    "customer_name": "John Doe",
    "customer_email": "john.doe@example.com",
    "customer_phone": "081234567890",
    "has_recon": false,
    "recon_at": null,
    "has_settle": false,
    "settle_at": null,
    "has_settle_request": false,
    "settle_request_at": null,
    "payment_channel": null,
    "payment_vendor_code": null,
    "settlement_method": null,
    "processed_timestamp": null,
    "expired_at": "2026-04-02T23:59:59+07:00",
    "created_at": "2026-04-02T10:30:00+07:00",
    "updated_at": "2026-04-02T10:30:00+07:00",
    "deleted_at": null,
    "events_count": 1
  }
}

Authorizations

Authorization
string
header
required

JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.

X-PARTNER-ID
string
header
required

Merchant API key (Credential.api_key). Required on every request.

Path Parameters

account_id
string
required

Account identifier in ULID format.

Body

application/json
amount
number
required

Payment amount. Minimum and maximum limits depend on merchant configuration and selected e-wallet vendor.

Example:

100000

ewallet_vendor
string
required

E-wallet vendor code. Must be an active vendor in the e-wallet payment group.

Example:

"EWALLET_DANA"

expired_at
string<date-time> | null

Optional expiration datetime. When provided, must be later than the current time.

Example:

"2026-04-02T23:59:59+07:00"

customer_name
string | null

Customer name for the checkout.

Maximum string length: 255
Example:

"John Doe"

customer_email
string<email> | null

Customer email for the checkout.

Maximum string length: 255
Example:

"john.doe@example.com"

customer_phone
string

Customer phone number. Required for some vendors (for example OVO push-to-pay).

Maximum string length: 20
Example:

"081234567890"

merchant_redirect_url
string<uri> | null

Optional URL to redirect the customer after payment flow completion.

Maximum string length: 2048
Example:

"https://merchant.example.com/payment/return"

merchant_reff_no
string | null

Optional merchant reference number for this transaction.

Maximum string length: 255
Example:

"INV-2026-001"

Response

Checkout created

status
integer
required

HTTP status code.

Example:

200

success
boolean
required

Indicates whether the request was successful.

Example:

true

data
object
required

E-wallet transaction resource payload.