H2H

Transaksi

Kirim transaksi produk prabayar. Saldo dipotong di depan dan dikembalikan otomatis bila transaksi akhirnya gagal.

POSThttps://aasardconnectid.biz.id/api/h2h/transaksi
Transaksi wajib POST. GET ditolak supaya kredensial tidak lewat URL.

Parameter

ParameterWajibKeterangan
merchant_id, key, passwordYaLihat Autentikasi.
productYaKode produk yang kamu tambahkan di Marketplace, contoh Tsel6.
targetYaNomor atau ID tujuan.
ref_idYaID unik transaksi dari sistem kamu.

Contoh request

curl -X POST "https://aasardconnectid.biz.id/api/h2h/transaksi" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_id": "ACN12345",
    "key": "PRODUCTION_KEY",
    "password": "PASSWORD_LOGIN",
    "product": "Tsel6",
    "target": "08123456789",
    "ref_id": "TRX-0001"
  }'
<?php
$ch = curl_init('https://aasardconnectid.biz.id/api/h2h/transaksi');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 30,
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'merchant_id' => 'ACN12345',
        'key'         => 'PRODUCTION_KEY',
        'password'    => 'PASSWORD_LOGIN',
        'product'     => 'Tsel6',
        'target'      => '08123456789',
        'ref_id'      => 'TRX-' . time(),
    ]),
]);
$res  = json_decode(curl_exec($ch), true);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// status: pending | sukses | gagal
echo $res['data']['status'] ?? $res['message'];
const res = await fetch("https://aasardconnectid.biz.id/api/h2h/transaksi", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    merchant_id: "ACN12345",
    key: "PRODUCTION_KEY",
    password: "PASSWORD_LOGIN",
    product: "Tsel6",
    target: "08123456789",
    ref_id: "TRX-" + Date.now(),
  }),
});
const json = await res.json();
console.log(res.status, json.data?.status ?? json.message);

Contoh respons

{
  "success": true,
  "message": "Transaksi diproses.",
  "data": {
    "ref_id": "TRX-0001",
    "product": "Tsel6",
    "target": "08123456789",
    "status": "pending",
    "sn": null,
    "message": "Transaksi Pending",
    "price": 6150,
    "time": "2026-10-24 14:29:05"
  }
}

Field data: ref_id, product, target, status (pending, sukses, gagal), sn, message, price, time.

Aturan penting

  • pending bukan gagal. Tunggu callback atau panggil Cek status.
  • ref_id harus unik. Mengirim ulang ref_id yang sama mengembalikan transaksi lama, saldo tidak dipotong dua kali.
  • Kalau harga produk naik melebihi Harga maks, transaksi dibatalkan (HTTP 409).
  • Transaksi pascabayar lewat API belum didukung (HTTP 422, saldo tidak dipotong).