T4TopupH2H API

Orders

Membuat order H2H, idempotency partner_ref, dan mengecek status.

Endpoint inti untuk transaksi H2H.

Base URL: https://api.t4topup.id/v1/member-api

Membuat order

POST /v1/member-api/orders

Body

Kirim salah satu identitas produk:

FieldTipeWajibKeterangan
product_codestringYa*Kode produk, contoh MLBB_ID_5
product_idUUIDYa*ID produk
partner_refstringDisarankanRef unik dari sistem Anda (max 64)
dataobjectYaData target, mis. user/server ID
callback_urlstringTidakOverride URL webhook untuk order ini

* Wajib salah satu: product_code atau product_id.

Contoh payload

{
  "product_code": "MLBB_ID_5",
  "partner_ref": "ORDER-1001",
  "data": {
    "user_id": "348553128",
    "server_id": "943"
  },
  "callback_url": "https://partner.example/webhook"
}

Request

curl -sS -X POST "https://api.t4topup.id/v1/member-api/orders" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_code": "MLBB_ID_5",
    "partner_ref": "ORDER-1001",
    "data": {
      "user_id": "348553128",
      "server_id": "943"
    }
  }'

Respons sukses (ringkas)

{
  "invoice_number": "API...",
  "partner_ref": "ORDER-1001",
  "status": "PENDING",
  "amount": 1500,
  "target": "348553128(943)",
  "product_name": "...",
  "serial_number": null,
  "created_at": "2026-07-22T00:00:00.000Z",
  "success_at": null
}

Idempotency dengan partner_ref

Sangat disarankan selalu mengirim partner_ref.

Jika Anda mengirim order lagi dengan partner_ref yang sama, API mengembalikan order yang sudah ada — bukan membuat transaksi baru. Ini melindungi dari double charge saat retry jaringan.

Validasi target

Sebelum saldo dipotong, sistem dapat memvalidasi ID game / region (bergantung produk).

  • ID tidak valid → biasanya HTTP 400
  • Validator nickname sedang down → order tetap jalan; nickname bisa null

Cek status order

GET /v1/member-api/orders/:ref

:ref bisa berupa partner_ref atau invoice_number.

curl -sS "https://api.t4topup.id/v1/member-api/orders/ORDER-1001" \
  -H "x-api-key: YOUR_API_KEY"

Saldo

Pastikan saldo cukup sebelum order. Jika tidak, request gagal dengan INSUFFICIENT_BALANCE.

Profil

Cek identitas & saldo kapan saja:

GET /v1/member-api/profile

Lihat juga Contoh kode untuk simulasi multi-bahasa.

On this page