Selamat datang di Dokumentasi Api Tripay PPOB
Panduan ini menjelaskan terkait produk kami dan cara mengintegrasikannya dengan sistem anda. Kami menyediakan 2 macam produk yaitu produk Prabayar dan Pascabayar
Apa itu Produk Prabayar ?
Prabayar = Bayar di awal.
Prabayar artinya kita harus membayar terlebih dahulu sebelum memakai layanan tertentu. Contoh: Pulsa, Paket data, dan e-money, dsb.
Apa itu Produk Pascabayar ?
Pascabayar = Bayar di akhir.
Pascabayar artinya kita bisa memakai layanan tertentu sampai batas waktu yang ditentukan, baru membayar. Contoh: Tagihan Listrik, Tagihan PDAM, dsb.
Pada bagian ini kami akan menjelaskan alur kerja yang akan berjalan saat menggunakan layanan kami.
Persiapan
Untuk bisa menggunakan layanan Api kami berikut beberapa hal yang harus anda siapkan:
- Akun Tripay PPOB yang aktif dan sudah terverifikasi
- Akun Tripay PPOB level enterprise
- Pastikan saldo anda mencukupi untuk melakukan transaksi ini
Mode Transaksi
Pada sistem Api kami, kami menyediakan 2 mode transaksi, yaitu mode sandbox dan mode production. Pada mode sandbox data response yang dikirimkan dari sistem kami adalah data dummy, sedangkan pada mode production maka data yang dikirimkan berupa data real dengan kata lain transaksi sudah berjalan secara real / live.
Apabila anda ingin menggunakan mode sandbox maka anda bisa mengubah settingan mode API transaksi yang ada pada halaman Profile > API & Callback menjadi mode sandbox. Dan apabila anda sudah siap melakukan transaksi real / live maka anda bisa mengubah settingan mode Api Transaksi menjadi mode production pada halaman Profile > API & Callback.
Api Credential
Apa itu API Key?, API Key adalah kunci dalam proses authentikasi dan otorisasi saat menggunakan fitur transaksi lewat API pada sistem kami. API Key ibarat data login, harap simpan dengan aman agar hanya Anda yang mengetahui, segala kerugian akibat penyalahgunaan API Key oleh orang lain adalah tanggung jawab pengguna. Credential API atau API Key bisa anda dapatkan pada halaman profile > Api & Callback.
Api ini digunakan untuk mengecek server.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/cekserver |
Production URL |
https://tripay.id/api/v2/cekserver |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://tripay.id/api/v2/cekserver',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {your_apikey}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"message": "success cek server, status server online",
"data": 1
}
Contoh Response Gagal:
{
"success": false,
"message": "Internal service error"
}
Api ini digunakan untuk mengecek saldo.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/ceksaldo |
Production URL |
https://tripay.id/api/v2/ceksaldo |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://tripay.id/api/v2/ceksaldo',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {your_apikey}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"message": "Saldo anda Rp. 1.000.000.000",
"data": 1000000000
}
Contoh Response Gagal:
{
"success": false,
"message": "Internal service error"
}
Api ini digunakan untuk mengambil daftar kategori produk prabayar / pembelian.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembelian/category |
Production URL |
https://tripay.id/api/v2/pembelian/category |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori prabayar / pembelian |
<?php
$apiKey = 'api_key_anda';
$payload = [
'category_id'=>12 //Tidak wajib
];
$url = 'https://tripay.id/api/v2/pembelian/category?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id": "1",
"product_name": "Pulsa All Operator",
"type": "PULSA",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "2",
"product_name": "Paket Data",
"type": "PULSA",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "3",
"product_name": "Voucher Game",
"type": "GAME",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "4",
"product_name": "Token Listrik",
"type": "PLN",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
},
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID Kategori produk prabayar / pembelian dari sistem kami |
product_name |
String |
Pulsa All Operator |
Nama kategori |
type |
String |
Pulsa |
Type produk kategori |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar operator produk prabayar / pembelian.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembelian/operator |
Production URL |
https://tripay.id/api/v2/pembelian/operator |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori prabayar / pembelian |
operator_id |
23 |
Integer |
Tidak |
ID Produk operator prabayar / pembelian |
<?php
$apiKey = 'api_key_anda';
$payload = [
'operator_id'=>14, //Tidak wajib
'category_id'=>2, //Tidak wajib
];
$url = 'https://tripay.id/api/v2/pembelian/operator?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id": "1",
"product_id": "AX",
"product_name": "AXIS",
"pembeliankategori_id": "1",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "4",
"product_id": "AXD",
"product_name": "AXIS DATA BRONET",
"pembeliankategori_id": "2",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "13",
"product_id": "I",
"product_name": "INDOSAT",
"pembeliankategori_id": "1",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "16",
"product_id": "IFC",
"product_name": "INDOSAT DATA FREEDOM",
"pembeliankategori_id": "2",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
],
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID produk operator prabayar / pembelian dari sistem kami |
product_id |
String |
AX |
ID Produk |
product_name |
String |
AXIS |
Nama Produk |
pembeliankategori_id |
Integer |
1 |
ID kategori |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar produk prabayar / pembelian.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembelian/produk |
Production URL |
https://tripay.id/api/v2/pembelian/produk |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori prabayar / pembelian |
operator_id |
23 |
Integer |
Tidak |
ID Produk operator prabayar / pembelian |
<?php
$apiKey = 'api_key_anda';
$payload = [
'category_id' => 13, //Tidak wajib
'operator_id' => 2, //Tidak wajib
];
$url = 'https://tripay.id/api/v2/pembelian/produk?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id": "1",
"product_id": "AX5",
"pembelianoperator_id": "1",
"pembeliankategori_id": "1",
"product_name": "AXIS 5.000",
"price": "6088",
"desc": "Pulsa Axis Rp 5.000",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "2",
"product_id": "AX10",
"pembelianoperator_id": "1",
"pembeliankategori_id": "1",
"product_name": "AXIS 10.000",
"price": "10969",
"desc": "Pulsa Axis Rp 10.000",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "3",
"product_id": "AX25",
"pembelianoperator_id": "1",
"pembeliankategori_id": "1",
"product_name": "AXIS 25.000",
"price": "24899",
"desc": "Pulsa Axis Rp 25.000",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "4",
"product_id": "AX30",
"pembelianoperator_id": "1",
"pembeliankategori_id": "1",
"product_name": "AXIS 30K",
"price": "30089",
"desc": "",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
],
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID produk operator prabayar / pembelian dari sistem kami |
product_id |
String |
AX5 |
ID Produk |
pembelianoperator_id |
Integer |
1 |
ID Operator |
product_name |
String |
AXIS 5.000 |
Nama Produk |
pembeliankategori_id |
Integer |
1 |
ID kategori |
price |
String |
6088 |
harga Produk |
desc |
String |
Pulsa Axis Rp 5.000 |
Deskripsi Produk |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar detail produk prabayar / pembelian.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembelian/produk/cek |
Production URL |
https://tripay.id/api/v2/pembelian/produk/cek |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
code |
AX5 |
String |
Wajib |
Kode Produk prabayar / pembelian |
<?php
$apiKey = 'api_key_anda';
$payload = [
'code' => 'AX5'
];
$url = 'https://tripay.id/api/v2/pembelian/produk/cek?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id": "1",
"code": "AX5",
"pembelianoperator_id": "1",
"pembeliankategori_id": "1",
"product_name": "AXIS 5.000",
"price": "6088",
"desc": "Pulsa Axis Rp 5.000",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
],
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID Kategori produk prabayar / pembelian dari sistem kami |
code |
String |
AX5 |
Kode produk |
pembelianoperator_id |
Integer |
1 |
ID operator |
pembeliankategori_id |
Integer |
1 |
ID kategori |
product_name |
String |
AXIS 5.000 |
Nama produk |
price |
String |
6088 |
Harga produk |
desc |
String |
Pulsa Axis Rp 5.000 |
Deskripsi produk |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar kategori produk pascabayar / pembayaran.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembayaran/category |
Production URL |
https://tripay.id/api/v2/pembayaran/category |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori prabayar / pembelian |
<?php
$apiKey = 'api_key_anda';
$payload = [
'category_id' => 12 //Tidak Wajib
];
$url = 'https://tripay.id/api/v2/pembelian/category?'.http_query_build($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id": "37",
"product_name": "Pembayaran PLN",
"type": "PLN",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "38",
"product_name": "Pembayaran BPJS",
"type": "BPJS",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "40",
"product_name": "PEMBAYARAN ASURANSI",
"type": "ASURANSI",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
{
"id": "41",
"product_name": "PEMBAYARAN TV",
"type": "TV",
"status": "1", // 1 = Tersedia, 0 = Tidak Tersedia
},
],
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
37 |
ID Kategori produk pascabayar / pembayaran dari sistem kami |
product_name |
String |
Pembayaran PLN |
Nama kategori |
type |
String |
PLN |
Type produk kategori |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar operator produk pascabayar / pembayaran.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembayaran/operator |
Production URL |
https://tripay.id/api/v2/pembayaran/operator |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori pascabayar / pembayaran |
operator_id |
23 |
Integer |
Tidak |
ID Produk operator pascabayar / pembayaran |
<?php
$apiKey = 'api_key_anda';
$payload = [
'operator_id'=>14, //Tidak wajib
'category_id'=>2, //Tidak wajib
];
$url = 'https://tripay.id/api/v2/pembayaran/operator?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses
{
"status": true,
"data": [
{
"id": 1,
"product_name": "PPOB Multifinance",
"pembayarankategori_id": 4,
"status": 1,
},
{
"id": 2,
"product_name": "PPOB Tagihan",
"pembayarankategori_id": 5,
"status": 1,
},
]
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID produk operator pascabayar / pembayaran dari sistem kami |
product_name |
String |
Pembayaran PDAM |
Nama operator produk pembayaran |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar produk pascabayar / pembayaran.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembayaran/produk |
Production URL |
https://tripay.id/api/v2/pembayaran/produk |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
category_id |
12 |
Integer |
Tidak |
ID Produk kategori pascabayar / pembayaran |
operator_id |
23 |
Integer |
Tidak |
ID Produk operator pascabayar / pembayaran |
<?php
$apiKey = 'api_key_anda';
$payload = [
'category_id' => 13, //Tidak wajib
'operator_id' => 2, //Tidak wajib
];
$url = 'https://tripay.id/api/v2/pembayaran/produk?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"data": [
{
"id": 1,
"code": "ADIRA",
"product_name": "Adira Finance",
"biaya_admin": 3500,
"pembayaranoperator_id": "1",
"pembayarankategori_id": 4,
"status": 1,
},
{
"id": 1,
"code": "BAF",
"product_name": "Bussan Auto Finance",
"biaya_admin": 3000,
"pembayaranoperator_id": "1",
"pembayarankategori_id": 4,
"status": 1,
},
{
"id": 1,
"code": "WOM",
"product_name": "Wahana Ottomitra Multiartha",
"biaya_admin": 3000,
"pembayaranoperator_id": "1",
"pembayarankategori_id": 4,
"status": 1,
},
]
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
1 |
ID produk operator pascabayar / pembayaran dari sistem kami |
code |
String |
ADIRA |
Code produk pascabayar |
product_name |
String |
Adira Finance |
Nama Produk |
pembelianoperator_id |
Integer |
1 |
ID Operator |
pembeliankategori_id |
Integer |
1 |
ID kategori |
biaya_admin |
Integer |
3000 |
Biaya admin pembayaran tagihan |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar detail produk pascabayar / pembayaran.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembayaran/produk/cek |
Production URL |
https://tripay.id/api/v2/pembayaran/produk/cek |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
code |
MAF |
String |
Wajib |
Kode Produk pascabayar / pembayaran |
<?php
$apiKey = 'api_key_anda';
$payload = [
'code' => 'MAF'
];
$url = 'https://tripay.id/api/v2/pembayaran/produk/cek?'.http_build_query($payload);
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses:
{
"success": true,
"data": [
{
"id":359,
"code": "PLNPASCH",
"pembayaranoperator_id":38,
"pembayarankategori_id":37,
"product_name": "Pln Pascabayar",
"price": 725,
"status": 1,
},
],
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
359 |
ID produk pada server kami |
code |
String |
MAF |
Kode produk |
pembayaranoperator_id |
Integer |
38 |
ID operator pembayaran |
pembeliankategori_id |
Integer |
37 |
ID kategori pembayaran |
product_name |
String |
Mega Central Finance |
Nama produk |
price |
String |
3000 |
Biaya admin per pembayaran tagihan |
status |
Integer |
1 |
Status dari produk
- 0 = Produk tidak tersedia
- 1 = Produk Tersedia
|
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar produk prabayar \ pembelian.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/transaksi/pembelian |
Production URL |
https://tripay.id/api/v2/transaksi/pembelian |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
inquiry |
PLN / I
note: pilih salah satu
|
String |
Iya |
Mode untuk membedakan transaksi PLN Prabayar dengan produk prabayar lainnya. masukkan PLN untuk transaksi PLN Prabayar, atau I untuk produk prabayar lainnya |
code |
AX5 |
String |
Iya |
Kode produk pembelian / prabayar |
phone |
083865000000 |
String |
Iya |
No hp pembelian / no hp yang ingin diisi |
no_meter_pln |
2132131222 |
String |
Tidak |
Khusus untuk pembelian token PLN prabayar |
api_trxid |
INV123 |
String |
Tidak |
ID transaksi dari server anda. Maksimal 25 karakter |
pin |
0000 |
String |
Iya |
Pin transaksi 4 digit akun anda |
<?php
$apiKey = 'api_key_anda';
$payload = [
'inquiry' => 'I', //PLN untuk pembelian PLN Prabayar, atau I untuk produk lainnya,
'code' => 'AX5',
'phone' => '083856000000',
'no_meter_pln' => '123232132',
'api_trxid' => 'INV123',
'pin' => '1234',
];
$url = 'https://tripay.id/api/v2/transaksi/pembelian';
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"trxid": 12312,
"api_trxid": "INV757",
"message":"Pembelian anda telah diantrikan."
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
trxid |
Integer |
1231 |
ID Transaksi dari sistem kami |
api_trxid |
String |
IN123 |
ID Transaksi dari sistem anda |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk melakukan cek tagihan pada nomor tagihan pelanggan yang dimasukkan.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/pembayaran/cek-tagihan |
Production URL |
https://tripay.id/api/v2/pembayaran/cek-tagihan |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
product |
PLN |
String |
Iya |
Kode Produk pascabayar / pembayaran |
phone |
083800000000 |
String |
Iya |
No HP pelanggan |
no_pelanggan |
23123232 |
String |
Iya |
No tagihan pelanggan |
api_trxid |
INV123 |
String |
Tidak |
ID transaksi tagihan dari sistem anda |
pin |
1234 |
String |
Iya |
Pin transaksi 4 digit dari server anda |
<?php
$apiKey = 'api_key_anda';
$payload = [
'product' => 'PLN',
'phone' => '089800000000',
'no_pelanggan' => '212321311',
'api_trxid' => 'INV123',
'pin' => '1234'
];
$url = 'https://tripay.id/api/v2/pembayaran/cek-tagihan';
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"data": {
"id": 145,
"tagihan_id": 235142,
"code":"PLNPASCH",
"product_name": "PLN PASCABAYAR",
"type":"PLN",
"phone": "0858000*****",
"no_pelanggan": "5150904*****",
"nama": "nama pelanggan tes",
"periode": "APR18",
"status": 0,
"expired": 1,
"jumlah_tagihan": 175490,
"biaya_admin": 3000,
"jumlah_bayar": 178490,
"via":"API",
"api_trxid": "INV757",
"created_at":"2017-10-29 23:08:47",
"updated_at":"2017-10-29 23:08:47",
}
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
123 |
ID pengecekan tagihan |
tagihan_id |
Integer |
23212 |
ID tagihan dari provider kami |
api_trxid |
String |
INV123 |
ID transaksi dari server anda |
code |
String |
PLNPASCH |
Kode Produk |
product_name |
String |
PLN Pasca Bayar |
Nama produk |
type |
String |
PLN |
type transaksi |
phone |
String |
0898732***** |
No hp pelanggan |
no_pelanggan |
String |
232134212 |
No tagihan pelanggan |
nama |
String |
SUTAR |
Nama pelanggan |
periode |
String |
APR18 |
periode pembayaran tagihan |
jumlah_tagihan |
Integer |
175621 |
nominal tagihan yang harus dibayar pelanggan |
biaya_admin |
String |
3000 |
Biaya admin per pembayaran tagihan |
jumlah_bayar |
Integer |
178621 |
Total biaya yang harus dibayar oleh user |
via |
String |
DIRECT / API |
transaksi dilakukan via api atau direct lewat dashboard Tripay |
status |
Integer |
1 |
Status dari transaksi
- 0 = Pending (Transaksi menunggu pembayaran)
- 1 = Proses (Transaksi sedang diproses)
- 2 = Berhasil (Transaksi berhasil)
- 3 = Gagal (Transaksi gagal)
|
expired |
Integer |
0 / 1 |
Status Tagihan
- 0 = aktif (Status tagihan aktif)
- 1 = kadaluarsa (Status tagihan kadaluarsa)
apabila status tagihan sudah kadaluarsa, maka anda harus melakukan pengecekan tagihan ulang
|
created_at |
timestamps |
2017-10-29 23:08:47 |
tanggal transaksi dilakukan |
updated_at |
timestamps |
2017-10-29 23:08:47 |
tanggal status transaksi diubah |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk melakukan pembayaran tagihan. Sebelum mengunakan api ini pastikan anda sudah melakukan pengecekan tagihan dengan api cek tagihan
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/transaksi/pembayaran |
Production URL |
https://tripay.id/api/v2/transaksi/pembayaran |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
order_id |
123 |
String |
Iya |
ID transaksi dari response API cek tagihan |
api_trxid |
INV123 |
String |
Tidak |
ID transaksi tagihan dari sistem anda. Diisi nilai yang sama dengan API Cek Tagihan |
pin |
1234 |
String |
Iya |
Pin transaksi 4 digit |
<?php
$apiKey = 'api_key_anda';
$payload = [
'order_id' => '788965',
'api_trxid' => 'INV123',
'pin' => '1234'
];
$url = 'https://tripay.id/api/v2/transaksi/pembayaran';
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"message":"Pembayaran Berhasil Diproses.",
"data": {
"id": 123,
"api_trxid": "INVXXX",
"order_id": 788965,
"code": "PLNPASCH",
"produk": "PLN Pasca Bayar",
"harga_default": "51430",
"harga_markup": "3000",
"total": "54430",
"target": "0857966*****",
"mtrpln": "5332102*****",
"note": "Pembayaran dalam proses",
"token": "",
"status": "0", // 0 = Proses, 1 = Sukses, 2 = Gagal, 3 = Refund
"saldo_before_trx": "461381",
"saldo_after_trx": "431781",
"created_at": "2018-03-18 21:18:09",
"updated_at": "2018-03-18 21:18:32"
}
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
id |
Integer |
123 |
ID pengecekan tagihan |
order_id |
Integer |
23212 |
ID pembayaran tagihan |
api_trxid |
String |
INV123 |
ID transaksi dari server anda |
code |
String |
PLNPASCH |
kode produk pascabayar / pembayaran |
produk |
String |
PLN Pasca Bayar |
Nama produk |
target |
String |
0898732***** |
No hp pelanggan |
mtrpln |
String |
232134212 |
No tagihan pelanggan |
harga_default |
Integer |
175621 |
nominal tagihan yang harus dibayar pelanggan |
harga_markup |
String |
3000 |
Biaya admin per pembayaran tagihan |
total |
Integer |
178621 |
Total biaya yang harus dibayar oleh user |
note |
String |
Pembayaran dalam proses |
Catatan waktu melakukan pembayaran tagihan |
token |
String |
21392189218392 |
SN waktu melakukan pembayaran tagihan |
status |
Integer |
1 |
Status dari transaksi
- 0 = Proses (Transaksi masih dalam proses)
- 1 = Sukses (Transaksi sukses)
- 2 = Gagal (Transaksi gagal)
- 3 = Refund (Transaksi di refund)
|
saldo_before_trx |
Integer |
461381 |
Saldo user sebelum melakukan transaksi bayar tagihan |
saldo_after_trx |
Integer |
461381 |
Saldo user setelah melakukan transaksi bayar tagihan |
created_at |
timestamps |
2018-03-18 21:18:09 |
Tanggal data pembayaran dibuat |
updated_at |
timestamps |
2018-03-18 21:18:09 |
Tanggal terakhir kali data diupdate |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar riwayat transaksi.
Request
Method |
GET |
Sandbox URL |
https://tripay.id/api-sandbox/v2/histori/transaksi/all |
Production URL |
https://tripay.id/api/v2/histori/transaksi/all |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
- |
- |
- |
- |
- |
<?php
$apiKey = 'api_key_anda';
$url = 'https://tripay.id/api/v2/histori/transaksi/all/';
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"data": [
{
"trxid": 20,
"api_trxid": "INVXXX",
"tagihan_id": "",
"code": "T10",
"produk": "THREE 10000",
"harga": 9990,
"target": "0895385987792",
"mtrpln": "-",
"note": "Transaksi success",
"token": "1029230852134******",
"status": 1,
"saldo_before_trx": 51186227,
"saldo_after_trx": 51176187,
"created_at": "2017-10-29 23:08:47",
"updated_at": "2018-01-08 14:40:28"
},
{
"trxid": 22,
"api_trxid": "INVXXX",
"tagihan_id": "",
"code": "T10",
"produk": "THREE 10000",
"harga": 9990,
"target": "0895385987792",
"mtrpln": "-",
"note": "Transaksi success",
"token": "1029230852134******",
"status": 1,
"saldo_before_trx": 51186227,
"saldo_after_trx": 51176187,
"created_at": "2017-10-29 23:08:47",
"updated_at": "2018-01-08 14:40:28"
},
]
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
trxid |
Integer |
1231 |
ID Transaksi dari sistem kami |
api_trxid |
String |
IN123 |
ID Transaksi dari sistem anda |
tagihan_id |
Integer |
123332 |
ID table tagihan |
code |
String |
T10 |
Kode produk |
produk |
String |
Three 10.000 |
Nama produk |
harga |
Integer |
9990 |
Harga produk |
target |
String |
0898547****** |
No hp / nomer tujuan |
mtrpln |
String |
554545***** |
No pelanggan |
note |
String |
Transaksi sukses |
Catatan / keterangan transaksi |
token |
String |
115151551455****** |
Token / SN transaksi |
status |
integer |
1 |
Status dari produk
- 0 = Transaksi Pending
- 1 = Transaksi Sukses
- 2 = Transaksi Gagal
- 3 = Transaksi di refund
|
saldo_before_trx |
integer |
3221321 |
Saldo user sebelum melakukan transaksi |
saldo_after_trx |
integer |
43242323 |
Saldo user sesudah melakukan transaksi |
created_at |
timestamps |
2017-10-29 23:08:47 |
Tanggal transaksi dilakukan |
updated_at |
timestamps |
2018-01-08 14:40:28 |
Tanggal transaksi diupdate |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil detail riwayat transaksi.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/histori/transaksi/detail |
Production URL |
https://tripay.id/api/v2/histori/transaksi/detail |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
trxid |
2132 |
Integer |
Iya |
ID Transaksi dari sistem kami |
api_trxid |
INV123 |
String |
Tidak |
ID Transaksi dari sistem anda |
<?php
$apiKey = 'api_key_anda';
$payload = [
'trxid' => '102311',
'api_trxid' => 'INV123'
];
$url = 'https://tripay.id/api/v2/histori/transaksi/detail;
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"data": {
"trxid": 2554,
"api_trxid": "INVXXX",
"code": "IDPH2",
"produk": "Unlimited + 2GB - Promo (Ratu)",
"harga": "29450",
"target": "0857966*****",
"mtrpln": "-",
"note": "Trx Unlimited + 2GB - Promo (Ratu) 0857966***** Sukses. Transaksi Berhasil SN : 011728000047918*****",
"token": "011728000047918*****",
"status": "1", // 0 = Proses, 1 = Sukses, 2 = Gagal, 3 = Refund
"saldo_before_trx": "461381",
"saldo_after_trx": "431781",
"created_at": "2018-03-18 21:18:09",
"updated_at": "2018-03-18 21:18:32"
}
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
trxid |
Integer |
1231 |
ID Transaksi dari sistem kami |
api_trxid |
String |
IN123 |
ID Transaksi dari sistem anda |
tagihan_id |
Integer |
123332 |
ID table tagihan |
code |
String |
T10 |
Kode produk |
produk |
String |
Three 10.000 |
Nama produk |
harga |
Integer |
9990 |
Harga produk |
target |
String |
0898547****** |
No hp / nomer tujuan |
mtrpln |
String |
554545***** |
No pelanggan |
note |
String |
Transaksi sukses |
Catatan / keterangan transaksi |
token |
String |
115151551455****** |
Token / SN transaksi |
status |
integer |
1 |
Status dari produk
- 0 = Transaksi Pending
- 1 = Transaksi Sukses
- 2 = Transaksi Gagal
- 3 = Transaksi di refund
|
saldo_before_trx |
integer |
3221321 |
Saldo user sebelum melakukan transaksi |
saldo_after_trx |
integer |
43242323 |
Saldo user sesudah melakukan transaksi |
created_at |
timestamps |
2017-10-29 23:08:47 |
Tanggal transaksi dilakukan |
updated_at |
timestamps |
2018-01-08 14:40:28 |
Tanggal transaksi diupdate |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Api ini digunakan untuk mengambil daftar riwayat transaksi.
Request
Method |
POST |
Sandbox URL |
https://tripay.id/api-sandbox/v2/histori/transaksi/bydate |
Production URL |
https://tripay.id/api/v2/histori/transaksi/bydate |
Parameter |
Contoh Nilai |
Tipe |
Wajib |
Keterangan |
start_date |
2018-03-05 |
timestamps |
IYA |
Tanggal mulai pencarian transaksi |
end_date |
2018-03-05 |
timestamps |
IYA |
Tanggal akhir pencarian transaksi |
<?php
$apiKey = 'api_key_anda';
$payload = [
'start_date' => '2018-03-29',
'end_date' => '2018-03-31',
];
$url = 'https://tripay.id/api/v2/histori/transaksi/bydate;
$header = array(
'Accept: application/json',
'Authorization: Bearer '.$apiKey,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo !empty($err) ? $err : $response;
?>
Response
Contoh Response Sukses :
{
"success": true,
"data": [
{
"trxid": 20,
"api_trxid": "INVXXX",
"tagihan_id": "",
"code": "T10",
"produk": "THREE 10000",
"harga": 9990,
"target": "0895385987792",
"mtrpln": "-",
"note": "Transaksi success",
"token": "1029230852134******",
"status": 1,
"saldo_before_trx": 51186227,
"saldo_after_trx": 51176187,
"created_at": "2017-10-29 23:08:47",
"updated_at": "2018-01-08 14:40:28"
},
{
"trxid": 22,
"api_trxid": "INVXXX",
"tagihan_id": "",
"code": "T10",
"produk": "THREE 10000",
"harga": 9990,
"target": "0895385987792",
"mtrpln": "-",
"note": "Transaksi success",
"token": "1029230852134******",
"status": 1,
"saldo_before_trx": 51186227,
"saldo_after_trx": 51176187,
"created_at": "2017-10-29 23:08:47",
"updated_at": "2018-01-08 14:40:28"
},
]
}
Parameter |
Tipe data |
Contoh Nilai |
Deskripsi |
trxid |
Integer |
1231 |
ID Transaksi dari sistem kami |
api_trxid |
String |
IN123 |
ID Transaksi dari sistem anda |
tagihan_id |
Integer |
123332 |
ID table tagihan |
code |
String |
T10 |
Kode produk |
produk |
String |
Three 10.000 |
Nama produk |
harga |
Integer |
9990 |
Harga produk |
target |
String |
0898547****** |
No hp / nomer tujuan |
mtrpln |
String |
554545***** |
No pelanggan |
note |
String |
Transaksi sukses |
Catatan / keterangan transaksi |
token |
String |
115151551455****** |
Token / SN transaksi |
status |
integer |
1 |
Status dari produk
- 0 = Transaksi Pending
- 1 = Transaksi Sukses
- 2 = Transaksi Gagal
- 3 = Transaksi di refund
|
saldo_before_trx |
integer |
3221321 |
Saldo user sebelum melakukan transaksi |
saldo_after_trx |
integer |
43242323 |
Saldo user sesudah melakukan transaksi |
created_at |
timestamps |
2017-10-29 23:08:47 |
Tanggal transaksi dilakukan |
updated_at |
timestamps |
2018-01-08 14:40:28 |
Tanggal transaksi diupdate |
Contoh Response Gagal:
{
"success": false,
"message": "Invalid API Key"
}
Callback adalah metode pengiriman notifikasi transaksi dari server Tripay ke server penguna. Pada saat status transaksi sukses, maka sistem Tripay akan memberikan notifikasi yang berisi data transaksi yang kemudian dapat dikelola lebih lanjut oleh sistem pengguna.
Callback diamankan dengan callback secret yang bisa anda setting pada halaman profile > api & callback.
URL untuk callback (seharusnya) tidak dapat diakses secara langsung melalui browser karena memerlukan verifikasi signature. Untuk melakukan testing, gunakan menu tes callback pada halaman Profile > Tes Callback disini https://tripay.id/member/profile
Request
Method |
POST |
URL |
URL callback yang diatur pada halaman profile |
Parameter |
Tipe data |
Contoh Nilai |
Keterangan |
trxid |
Integer |
123 |
ID Transaksi |
api_trxid |
String |
INV123 |
ID transaksi dari server anda |
via |
String |
API |
penanda bahwa transaksi tersebut berasal dari API |
code |
String |
S100 |
kode produk |
produk |
String |
Telkomsel 100 |
Nama produk |
target |
String |
0858732***** |
No hp pelanggan |
mtrpln |
String |
- |
No tagihan pelanggan |
note |
String |
Trx S100 08522083**** SUKSES. SN: 845392759476503**** |
Catatan transaksi |
token |
String |
0BMS210Z40B3D237B67********** |
SN Transaksi / token transaksi |
harga |
Integer |
22592 |
nominal transaksi yang harus dibayar pelanggan |
saldo_before_trx |
Integer |
68486 |
Saldo user sebelum melakukan transaksi |
saldo_after_trx |
Integer |
45894 |
Saldo user setelah melakukan transaksi |
created_at |
timestamps |
2019-11-06 12:07:48 |
Tanggal transaksi dibuat / dilakukan |
updated_at |
timestamps |
2019-11-15 20:59:10 |
Tanggal update status transaksi |
status |
Integer |
1 |
Status dari transaksi
- 0 = Proses (Transaksi proses)
- 1 = Sukses (Transaksi sukses)
- 2 = Gagal (Transaksi gagal)
- 3 = Refund (Transaksi di refund)
|
Parameter |
Tipe data |
Contoh Nilai |
Keterangan |
trxid |
Integer |
123 |
ID Transaksi |
api_trxid |
String |
INV123 |
ID transaksi dari server anda |
via |
String |
API |
penanda bahwa transaksi tersebut berasal dari API |
code |
String |
PLNPASCH |
kode produk |
produk |
String |
PLN Pasca Bayar |
Nama produk |
target |
String |
0898732***** |
No hp pelanggan |
mtrpln |
String |
232134212 |
No tagihan pelanggan |
note |
String |
Pembayaran Tagihan berhasil |
Catatan transaksi |
token |
String |
0BMS210Z40B3D237B67********** |
SN Transaksi / token transaksi |
harga |
Integer |
22592 |
nominal transaksi yang harus dibayar pelanggan |
saldo_before_trx |
Integer |
68486 |
Saldo user sebelum melakukan transaksi |
saldo_after_trx |
Integer |
45894 |
Saldo user setelah melakukan transaksi |
created_at |
timestamps |
2019-11-06 12:07:48 |
Tanggal transaksi dibuat / dilakukan |
updated_at |
timestamps |
2019-11-15 20:59:10 |
Tanggal update status transaksi |
status |
Integer |
1 |
Status dari transaksi
- 0 = Proses (Transaksi proses)
- 1 = Sukses (Transaksi sukses)
- 2 = Gagal (Transaksi gagal)
- 3 = Refund (Transaksi di refund)
|
id |
Integer |
5151*** |
ID Tagihan |
nama |
String |
SAMSURI |
Atas nama tagihan |
periode |
String |
201911 |
Periode Tagihan |
jumlah_tagihan |
Integer |
21892 |
jumlah tagihan yang harus dibayar pelanggan |
admin |
Integer |
700 |
Jumlah biaya admin yang harus dibayar oleh user saat melakukan transaksi |
jumlah_bayar |
Integer |
22592 |
Jumlah total biaya yang harus dibayar oleh user |
{
"trxid": "158561****",
"api_trxid": "INV45769",
"via": "API",
"code": "S100",
"produk": "Telkomsel 100",
"harga": "97765",
"target": "08522083****",
"mtrpln": "-",
"note": "Trx S100 08522083**** SUKSES. SN: 845392759476503****",
"token": "845392759476503****",
"status": "1",
"saldo_before_trx": "100000",
"saldo_after_trx": "5894",
"created_at": "2019-11-06 12:07:48",
"updated_at": "2019-11-15 20:59:10",
"tagihan": null
}
{
"trxid": "158561****",
"api_trxid": "INV77769",
"via": "API",
"code": "PLNPASCH",
"produk": "PLN Pasca Bayar",
"harga": "22592",
"target": "08522083****",
"mtrpln": "53527502****",
"note": "Pembayaran Tagihan BERHASIL",
"token": "0BMS210Z40B3D237B67396140C****",
"status": "1",
"saldo_before_trx": "68486",
"saldo_after_trx": "45894",
"created_at": "2019-11-06 12:07:48",
"updated_at": "2019-11-15 20:59:10",
"tagihan": {
"id": "158561****",
"nama": "SAMSURI",
"periode": "201911",
"jumlah_tagihan": "21892",
"admin": "700",
"jumlah_bayar": "22592"
}
}
Response
Ketika sistem anda berhasil menerima callback dari sistem kami, sistem anda harus merespon dengan format JSON yang telah ditentukan.
<?php
$secret = 'inisecret';
$incomingSecret = isset($_SERVER['HTTP_X_CALLBACK_SECRET']) ? $_SERVER['HTTP_X_CALLBACK_SECRET'] : '';
if( !hash_equals($secret, $incomingSecret) ) {
exit("Invalid secret");
}
$json = file_get_contents("php://input");
file_put_contents(__DIR__.'/callback-tripay.txt', $json.PHP_EOL.PHP_EOL, FILE_APPEND | LOCK_EX);
?>
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Transaction;
use Log;
use Exception;
public function handleCallback(Request $request)
{
$secret = 'inisecret';
$incomingSecret = $request->server('HTTP_X_CALLBACK_SECRET') ?: '';
if (!hash_equals($secret, $incomingSecret) ) {
throw new Exception('Invalid Secret');
}
$json = $request->getContent();
$data = json_decode($json);
$transaction = Transaction::where('id', $data->api_trxid)->first();
if (!$transaction) {
throw new Exception('Transaction not found');
}
switch ($data->status) {
case '0':
$status = 'pending';
break;
case '1':
$status = 'success';
break;
case '2':
$status = 'failed';
break;
default:
$status = "pending";
break;
}
$transaction->status = $status;
$transaction->save();
return response()->json(['success'=>true], 200);
}
?>