T4TopupH2H API

Contoh kode

Simulasi request H2H dalam cURL, Node.js, PHP, Python, Go, dan lainnya.

Kumpulan contoh siap salin untuk endpoint utama. Ganti YOUR_API_KEY dengan API key akses H2H Anda.

Base URL:

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

Profile

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

Products

curl -sS "https://api.t4topup.id/v1/member-api/products?category_code=MLBB" \
  -H "x-api-key: YOUR_API_KEY"

Create order

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"
    }
  }'

Check order status

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

Verifikasi webhook (HMAC)

Saat menerima callback, verifikasi signature sebelum memproses event.

import crypto from 'node:crypto';

export function verifyWebhook({ apiSecret, timestamp, signature, rawBody }) {
  const expected = crypto
    .createHmac('sha256', apiSecret)
    .update(`${timestamp}.${rawBody}`)
    .digest('hex');

  if (expected !== signature) {
    throw new Error('Invalid webhook signature');
  }
}

Tips praktis

  • Simpan API key di environment variable (H2H_API_KEY), jangan hardcode
  • Untuk retry order, kirim ulang partner_ref yang sama
  • Timeout jaringan ≠ gagal transaksi — cek status dengan GET /orders/:ref
  • Endpoint webhook harus membalas 2xx dengan cepat

On this page