API Transaction

Tentang Transaction

Transaction adalah sebuah data yang digunakan sebagai acuan sistem payment kami untuk memproses data inquiry dan data payment kepada vendor pembayaran kami. Dengan kata lain, agar invoice dari client dapat terdeteksi dengan platform vendor sistem pembayaran kami maka client harus menambahkan data transaksi disistem kami.

Populate Transaction

Method ini digunakan untuk menambahkan dan sekaligus mengupdate data transaksi pada sistem kami

# HTTP Request
POST/transaction/populate
# Body Parameters
Parameter Type Mandatory Description
order_id STRING YA Order id sebagai referensi transaksi anda, order id akan kami kirim sebagai notification nantinya saat ada pembayaran dari payment platform kami.
va_no STRING YA 16 Digit Nomor virtual account yang ingin anda tagihkan, dengan ketentuan 6 digit pertama sesuai prefix code yang anda terima dari kami, dan 10 digit terakhir sesuai request anda. Contoh : 857104##########
customer_name STRING YA Nama customer yang akan muncul dalam tagihan payment channel kami, dengan maksimal panjang huruf adalah 30 lebih dari itu akan kami potong saat menampilkan nama dalam pembayaran kami
details.*.price INTEGER YA Array Harga item tagihan anda
details.*.quantity INTEGER YA Array Kuantitas item tagihan anda
details.*.name STRING YA Array Nama item tagihan anda
timestamp DATETIME (YYYY-MM-DD HH:II:SS) YA Waktu terkini saat request dilakukan di sisi anda. Hanya request kurang dari 15 detik yang akan di proses
* Contoh Request Body
{
 "order_id" : "INV-001",
 "va_no" : "8571010000000001",
 "customer_name" : "Mumtaz User",
 "details" : [
  {
   "price" : 500000,
   "quantity" : 1,
   "name" : "Spp Bulan Maret 2020",
  }
 ]
}
# Response
Parameter Type Description
order_id STRING Order id sebagai referensi transaksi anda, order id akan kami kirim sebagai notification nantinya saat ada pembayaran dari payment platform kami.
va_no STRING 16 Digit Nomor virtual account yang ingin anda tagihkan, dengan ketentuan 6 digit pertama sesuai prefix code yang anda terima dari kami, dan 10 digit terakhir sesuai request anda. Contoh : 857104##########
customer_name STRING Nama customer yang akan muncul dalam tagihan payment channel kami, dengan maksimal panjang huruf adalah 30 lebih dari itu akan kami potong saat menampilkan nama dalam pembayaran kami
status STRING Status transaksi anda berupa nilai :
  • pending yaitu jika transaksi belum di proses oleh sistem pembayaran
  • inquiry yaitu jika transaksi sudah di request oleh vendor sistem pembayaran untuk dilakukan overview sebelum melakukan pembayaran
  • payment yaitu jika transaksi pembayaran sudah di proses oleh vendor sistem pembayaran
  • reversal yaitu jika transaksi pembayaran yang sudah di proses oleh sistem pembayaran sebelumnya telah dibatalkan oleh vendor sistem pembayaran
gross_amount INTEGER Grand Total semua item tagihan anda
details.*.name STRING Array Nama item tagihan anda
details.*.price INTEGER Array Harga item tagihan anda
details.*.quantity YA Array Kuantitas item tagihan anda
details.*.total INTEGER Array Total Amount item tagihan anda
* Contoh Response Body
{
 "status" : "success",
 "data" : {
  "order_id" : "INV-001",
  "va_no" : "8571010000000001",
  "customer_name" : "Mumtaz User",
  "status" : "pending",
  "gross_amount" : 500000,
  "details" : [
   {
    "name" : "Spp Bulan Maret 2020",
    "price" : 500000,
    "quantity" : 1,
    "total" : 500000,
   }
  ]
 }
}

Show Transaction

Method ini digunakan untuk menampilkan detail transaksi sesuai order id

# HTTP Request
GET/transaction/{order_id}
# Query Parameters
Parameter Type Mandatory Description
timestamp DATETIME (YYYY-MM-DD HH:II:SS) YA Waktu terkini saat request dilakukan di sisi anda. Hanya request kurang dari 15 detik yang akan di proses
* Contoh Request Body
{
 "timestamp" : "2020-03-26 04:00:00",
}
# Response
Parameter Type Description
order_id STRING Order id sebagai referensi transaksi anda, order id akan kami kirim sebagai notification nantinya saat ada pembayaran dari payment platform kami.
va_no STRING 16 Digit Nomor virtual account yang ingin anda tagihkan, dengan ketentuan 6 digit pertama sesuai prefix code yang anda terima dari kami, dan 10 digit terakhir sesuai request anda. Contoh : 857104##########
customer_name STRING Nama customer yang akan muncul dalam tagihan payment channel kami, dengan maksimal panjang huruf adalah 30 lebih dari itu akan kami potong saat menampilkan nama dalam pembayaran kami
status STRING Status transaksi anda berupa nilai :
  • PENDING yaitu jika transaksi belum di proses oleh sistem pembayaran
  • INQUIRY yaitu jika transaksi sudah di request oleh vendor sistem pembayaran untuk dilakukan overview sebelum melakukan pembayaran
  • PAYMENT yaitu jika transaksi pembayaran sudah di proses oleh vendor sistem pembayaran
  • REVERSAL yaitu jika transaksi pembayaran yang sudah di proses oleh sistem pembayaran sebelumnya telah dibatalkan oleh vendor sistem pembayaran
gross_amount INTEGER Grand Total semua item tagihan anda
details.*.name STRING Array Nama item tagihan anda
details.*.price INTEGER Array Harga item tagihan anda
details.*.quantity YA Array Kuantitas item tagihan anda
details.*.total INTEGER Array Total Amount item tagihan anda
* Contoh Response Body
{
 "status" : "success",
 "data" : {
  "order_id" : "INV-001",
  "va_no" : "8571010000000001",
  "customer_name" : "Mumtaz User",
  "status" : "pending",
  "gross_amount" : 500000,
  "details" : [
   {
    "name" : "Spp Bulan Maret 2020",
    "price" : 500000,
    "quantity" : 1,
    "total" : 500000,
   }
  ]
 }
}

Delete Transaction

Method ini digunakan untuk menghapus data transaksi jika transaksi belum ber-status PAYMENT

# HTTP Request
DELETE/transaction/{order_id}
# Body Parameters
Parameter Type Mandatory Description
timestamp DATETIME (YYYY-MM-DD HH:II:SS) YA Waktu terkini saat request dilakukan di sisi anda. Hanya request kurang dari 15 detik yang akan di proses
* Contoh Request Body
{
 "timestamp" : "2020-03-26 04:00:00",
}
# Response
Parameter Type Description
* Contoh Response Body
{
 "status" : "success"
}

Get All Transaction

Method ini digunakan untuk semua mendapatkan data transaksi.>

# HTTP Request
GET/transaction/list
# Body Parameters
Parameter Type Mandatory Description
timestamp DATETIME
(YYYY-MM-DD HH:II:SS)
YA Waktu terkini saat request dilakukan di sisi anda. Hanya request kurang dari 15 detik yang akan di proses
page INTEGER TIDAK Page terkini yang akan dilihat, defaultnya adalah 1.
limit INTEGER TIDAK Limit data yang akan dilihat, defaultnya adalah 20.
status STRING TIDAK Filter Status transaksi anda berupa nilai :
  • pending yaitu jika transaksi belum di proses oleh sistem pembayaran
  • inquiry yaitu jika transaksi sudah di request oleh vendor sistem pembayaran untuk dilakukan overview sebelum melakukan pembayaran
  • partial yaitu jika transaksi pembayaran sudah di proses oleh vendor sistem pembayaran
  • payment yaitu jika transaksi pembayaran sudah di proses oleh vendor sistem pembayaran
  • reversal yaitu jika transaksi pembayaran yang sudah di proses oleh sistem pembayaran sebelumnya telah dibatalkan oleh vendor sistem pembayaran
Bila tidak disertakan maka semua data akan ditampilkan
order_by STRING TIDAK Mengurutkan transaksi berdasarkan kolom tertentu, defaultnya adalah id. Kolom berupa nilai id, trx_date, status, gross_amount, customer_name, customer_phone
sort_by STRING TIDAK Arah pengurutan transaksi berdasarkan asc atau desc defaultnya adalah asc.
* Contoh Request Body
{
 "timestamp" : "2020-03-26 04:00:00",
}
# Response
Parameter Type Description
current_page INTEGER Page yang sedah dipilih.
last_page INTEGER PAGE terakhir.
per_page INTEGER jumlah data per halaman.
first_page_url STRING Url data pertama.
next_page_url STRING Url data selanjutnya.
prev_page_url STRING Url data sebelumnya.
from INTEGER index data pertama yang ditampilkan.
to INTEGER index data terakhir yang ditampilkan.
total INTEGER total data yang ada jika tanpa pagination.
order_id STRING Order id sebagai referensi transaksi anda, order id akan kami kirim sebagai notification nantinya saat ada pembayaran dari payment platform kami.
va_no STRING 16 Digit Nomor virtual account yang ingin anda tagihkan, dengan ketentuan 6 digit pertama sesuai prefix code yang anda terima dari kami, dan 10 digit terakhir sesuai request anda. Contoh : 857104##########
customer_name STRING Nama customer yang akan muncul dalam tagihan payment channel kami, dengan maksimal panjang huruf adalah 30 lebih dari itu akan kami potong saat menampilkan nama dalam pembayaran kami
status STRING Status transaksi anda berupa nilai :
  • PENDING yaitu jika transaksi belum di proses oleh sistem pembayaran
  • INQUIRY yaitu jika transaksi sudah di request oleh vendor sistem pembayaran untuk dilakukan overview sebelum melakukan pembayaran
  • PAYMENT yaitu jika transaksi pembayaran sudah di proses oleh vendor sistem pembayaran
  • REVERSAL yaitu jika transaksi pembayaran yang sudah di proses oleh sistem pembayaran sebelumnya telah dibatalkan oleh vendor sistem pembayaran
gross_amount INTEGER Grand Total semua item tagihan anda
details.*.name STRING Array Nama item tagihan anda
details.*.price INTEGER Array Harga item tagihan anda
details.*.quantity YA Array Kuantitas item tagihan anda
details.*.total INTEGER Array Total Amount item tagihan anda
* Contoh Response Body
{
 "status" : "success",
 "current_page" : 1,
 "last_page" : 5,
 "per_page" : 3,
 "first_page_url" :
   https://api.ipg.class.id/api/v1/transaction/list?page=1,
 "next_page_url" :
   https://api.ipg.class.id/api/v1/transaction/list?page=2,
 "prev_page_url" : null
 "from" : 1
 "to" : 3
 "total" : 15
 "data" : [
  {
   "order_id" : "INV-001",
   "va_no" : "8571010000000001",
   "customer_name" : "Mumtaz User",
   "status" : "pending",
   "gross_amount" : 500000,
   "details" : [
    {
     "name" : "Spp Bulan Maret 2020",
     "price" : 500000,
     "quantity" : 1,
     "total" : 500000,
    }
   ]
  },
  {
   "order_id" : "INV-002",
   "va_no" : "8571010000000002",
   "customer_name" : "Mumtaz User2",
   "status" : "pending",
   "gross_amount" : 500000,
   "details" : [
    {
     "name" : "Spp Bulan Maret 2020",
     "price" : 500000,
     "quantity" : 1,
     "total" : 500000,
    }
   ]
  },
  {
   "order_id" : "INV-003",
   "va_no" : "8571010000000003",
   "customer_name" : "Mumtaz User3",
   "status" : "pending",
   "gross_amount" : 500000,
   "details" : [
    {
     "name" : "Spp Bulan Maret 2020",
     "price" : 500000,
     "quantity" : 1,
     "total" : 500000,
    }
   ]
  }
 ]
}
NOTES

  • JIKA TERDAPAT TRANSAKSI AKTIF (BELUM PAID, ATAU DIHAPUS) DENGAN NOMOR VA YANG SAMA MAKA TRANSAKSI PERTAMA YANG AKAN DI PROSES TERLEBIH DAHULU (FIFO)
  • JIKA PEMBAYARAN DARI BANK TIDAK SESUAI DENGAN TOTAL JUMLAH TRANSAKSI MAKA SECARA DEFAULT SISTEM AKAN MENOLAK PEMBAYARAN TERSEBUT