endpoint
POST api.transferuang.com/send-to

Transfer dana ke satu atau banyak rekening bank / e-wallet dalam satu request.
Setiap penerima diproses secara paralel; status tiap transfer dikirim via notification_url.

Header wajib: Authorization: Bearer YOUR_API_KEY  &&  Content-Type: application/json
fieldtypeketerangan
notification_urloptional
string
URL webhook yang menerima callback async per transfer selesai.
ex: "https://yourdomain.com/callback"
send_torequired
array
Array penerima transfer. Minimal 1, maksimal 1.000 objek.
unique_transaction_idrequired
string
ID unik per penerima — digunakan untuk idempotency dan tracking.
ex: "TXN-20250426-001"
bank_coderequired
string
Kode bank / e-wallet tujuan. Lihat referensi bank_code di bawah.
ex: "BCA", "GOPAY", "OVO"
amountrequired
integer
Nominal transfer dalam Rupiah (IDR). Minimum Rp 10.000.
ex: 150000
namerequired
string
Nama penerima sesuai nama rekening / akun terdaftar.
ex: "Budi Santoso"
curl -X POST https://api.transferuang.com/send-to \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "notification_url": "https://yourdomain.com/callback",
    "send_to": [
      {
        "unique_transaction_id": "TXN-20250426-001",
        "bank_code": "BCA",
        "amount": 150000,
        "name": "Budi Santoso"
      },
      {
        "unique_transaction_id": "TXN-20250426-002",
        "bank_code": "GOPAY",
        "amount": 75000,
        "name": "Siti Rahayu"
      }
    ]
  }'
const response = await fetch('https://api.transferuang.com/send-to', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    notification_url: 'https://yourdomain.com/callback',
    send_to: [
      {
        unique_transaction_id: 'TXN-20250426-001',
        bank_code: 'BCA',
        amount: 150000,
        name: 'Budi Santoso',
      },
      {
        unique_transaction_id: 'TXN-20250426-002',
        bank_code: 'GOPAY',
        amount: 75000,
        name: 'Siti Rahayu',
      },
    ],
  }),
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    'https://api.transferuang.com/send-to',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        'notification_url': 'https://yourdomain.com/callback',
        'send_to': [
            {
                'unique_transaction_id': 'TXN-20250426-001',
                'bank_code': 'BCA',
                'amount': 150000,
                'name': 'Budi Santoso',
            },
            {
                'unique_transaction_id': 'TXN-20250426-002',
                'bank_code': 'GOPAY',
                'amount': 75000,
                'name': 'Siti Rahayu',
            },
        ],
    }
)

data = response.json()
print(data)
const https = require('https');

const body = JSON.stringify({
  notification_url: 'https://yourdomain.com/callback',
  send_to: [
    {
      unique_transaction_id: 'TXN-20250426-001',
      bank_code: 'BCA',
      amount: 150000,
      name: 'Budi Santoso',
    },
  ],
});

const options = {
  hostname: 'api.transferuang.com',
  path: '/send-to',
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(body),
  },
};

const req = https.request(options, res => {
  let data = '';
  res.on('data', chunk => { data += chunk; });
  res.on('end',  ()    => { console.log(JSON.parse(data)); });
});
req.write(body);
req.end();
{
  "name": "transferuang · send-to",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.transferuang.com/send-to",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n  \"notification_url\": \"https://yourdomain.com/callback\",\n  \"send_to\": [\n    {\n      \"unique_transaction_id\": \"TXN-20250426-001\",\n      \"bank_code\": \"BCA\",\n      \"amount\": 150000,\n      \"name\": \"Budi Santoso\"\n    }\n  ]\n}",
        "options": {}
      },
      "id": "a1b2c3d4-0001-4000-8000-transferuang1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [500, 300]
    }
  ],
  "connections": {},
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "tu-send-to-v1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "tu-send-to"
}
response · 200 OK
{
  "status": "accepted",
  "batch_id": "BATCH-20250426-XYZ789",
  "total": 2,
  "results": [
    {
      "unique_transaction_id": "TXN-20250426-001",
      "status": "processing",
      "fee": 2500
    },
    {
      "unique_transaction_id": "TXN-20250426-002",
      "status": "processing",
      "fee": 2500
    }
  ]
}
Jika transfer gagal (rekening tidak ditemukan, saldo tidak cukup, atau error teknis), nominal transfer beserta biaya akan otomatis dikembalikan ke saldo akun kamu. Tidak ada dana yang hilang.

endpoint
POST api.transferuang.com/saldo

Cek saldo akun yang tersedia untuk transfer. Tidak memerlukan request body.

Header wajib: Authorization: Bearer YOUR_API_KEY
curl -X POST https://api.transferuang.com/saldo \
  -H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch('https://api.transferuang.com/saldo', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
  },
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    'https://api.transferuang.com/saldo',
    headers={'Authorization': 'Bearer YOUR_API_KEY'}
)

data = response.json()
print(data)
{
  "name": "transferuang · saldo",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.transferuang.com/saldo",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            }
          ]
        },
        "options": {}
      },
      "id": "b2c3d4e5-0002-4000-8000-transferuang2",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [500, 300]
    }
  ],
  "connections": {},
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "tu-saldo-v1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "tu-saldo"
}
response · 200 OK
{
  "saldo": 12500000,
  "currency": "IDR",
  "account_id": "ACC-00123"
}

endpoint
POST api.transferuang.com/history

Ambil riwayat transaksi dalam rentang tanggal tertentu.

Header wajib: Authorization: Bearer YOUR_API_KEY  &&  Content-Type: application/json
fieldtypeketerangan
date_rangerequired
object
Rentang tanggal untuk filter riwayat transaksi.
fromrequired
string
Tanggal mulai format ISO 8601 (YYYY-MM-DD).
ex: "2025-01-01"
torequired
string
Tanggal akhir format ISO 8601 (YYYY-MM-DD).
ex: "2025-01-31"
curl -X POST https://api.transferuang.com/history \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "date_range": {
      "from": "2025-01-01",
      "to": "2025-01-31"
    }
  }'
const response = await fetch('https://api.transferuang.com/history', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    date_range: {
      from: '2025-01-01',
      to: '2025-01-31',
    },
  }),
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    'https://api.transferuang.com/history',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        'date_range': {
            'from': '2025-01-01',
            'to': '2025-01-31',
        }
    }
)

data = response.json()
print(data)
{
  "name": "transferuang · history",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.transferuang.com/history",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n  \"date_range\": {\n    \"from\": \"2025-01-01\",\n    \"to\": \"2025-01-31\"\n  }\n}",
        "options": {}
      },
      "id": "c3d4e5f6-0003-4000-8000-transferuang3",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [500, 300]
    }
  ],
  "connections": {},
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "tu-history-v1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "tu-history"
}
response · 200 OK
{
  "total": 2,
  "date_range": {
    "from": "2025-01-01",
    "to": "2025-01-31"
  },
  "transactions": [
    {
      "unique_transaction_id": "TXN-20250115-001",
      "bank_code": "BCA",
      "amount": 150000,
      "name": "Budi Santoso",
      "status": "success",
      "fee": 2500,
      "created_at": "2025-01-15T10:32:00Z"
    },
    {
      "unique_transaction_id": "TXN-20250122-005",
      "bank_code": "GOPAY",
      "amount": 75000,
      "name": "Siti Rahayu",
      "status": "success",
      "fee": 2500,
      "created_at": "2025-01-22T14:08:00Z"
    }
  ]
}

endpoint
POST api.transferuang.com/topup

Topup saldo akun melalui virtual account. Setelah request berhasil, sistem akan menghasilkan nomor virtual account yang dapat dibayar melalui bank manapun.

Header wajib: Authorization: Bearer YOUR_API_KEY  &&  Content-Type: application/json
fieldtypeketerangan
amountrequired
integer
Nominal topup dalam Rupiah (IDR). Minimum Rp 10.000.
ex: 1000000
curl -X POST https://api.transferuang.com/topup \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 1000000}'
const response = await fetch('https://api.transferuang.com/topup', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ amount: 1000000 }),
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    'https://api.transferuang.com/topup',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json',
    },
    json={'amount': 1000000}
)

data = response.json()
print(data)
{
  "name": "transferuang · topup",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.transferuang.com/topup",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "Authorization", "value": "Bearer YOUR_API_KEY" },
            { "name": "Content-Type", "value": "application/json" }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"amount\": 1000000}",
        "options": {}
      },
      "id": "d4e5f6a7-0004-4000-8000-transferuang4",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [500, 300]
    }
  ],
  "connections": {},
  "active": false,
  "settings": { "executionOrder": "v1" },
  "versionId": "tu-topup-v1",
  "id": "tu-topup"
}
response · 200 OK
{
  "topup_id": "TOPUP-20250426-ABC123",
  "amount": 1000000,
  "currency": "IDR",
  "virtual_account": "8277081234567890",
  "bank": "BNI",
  "expires_at": "2026-04-27T23:59:00Z",
  "status": "pending"
}

endpoint
POST api.transferuang.com/list-bank

Ambil daftar seluruh bank dan e-wallet yang didukung beserta kode dan status aktifnya. Tidak memerlukan request body.

Header wajib: Authorization: Bearer YOUR_API_KEY
curl -X POST https://api.transferuang.com/list-bank \
  -H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch('https://api.transferuang.com/list-bank', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
  },
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    'https://api.transferuang.com/list-bank',
    headers={'Authorization': 'Bearer YOUR_API_KEY'}
)

data = response.json()
print(data)
{
  "name": "transferuang · list-bank",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.transferuang.com/list-bank",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "Authorization", "value": "Bearer YOUR_API_KEY" }
          ]
        },
        "options": {}
      },
      "id": "e5f6a7b8-0005-4000-8000-transferuang5",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [500, 300]
    }
  ],
  "connections": {},
  "active": false,
  "settings": { "executionOrder": "v1" },
  "versionId": "tu-list-bank-v1",
  "id": "tu-list-bank"
}
response · 200 OK
{
  "total": 14,
  "banks": [
    { "code": "BCA",       "name": "Bank Central Asia",      "type": "bank",    "active": true },
    { "code": "MANDIRI",   "name": "Bank Mandiri",           "type": "bank",    "active": true },
    { "code": "BNI",       "name": "Bank Negara Indonesia",   "type": "bank",    "active": true },
    { "code": "BRI",       "name": "Bank Rakyat Indonesia",   "type": "bank",    "active": true },
    { "code": "GOPAY",     "name": "GoPay (Gojek)",          "type": "ewallet", "active": true },
    { "code": "OVO",       "name": "OVO",                    "type": "ewallet", "active": true }
  ]
}

bank_code reference

Gunakan nilai code berikut pada field bank_code di endpoint /send-to.

BCABank Central Asia
MANDIRIBank Mandiri
BNIBank Negara Indonesia
BRIBank Rakyat Indonesia
BSIBank Syariah Indonesia
CIMBCIMB Niaga
PERMATABank Permata
DANAMONBank Danamon
OCBCOCBC NISP
PANINBank Panin
GOPAYGoPay (Gojek)
OVOOVO
DANADANA
SHOPEEPAYShopeePay