Bahasa Indonesia
API ReferenceLogin

Promosi Kartu Kredit

Last updated 01/12/2022

Xendit menyediakan layanan promosi kartu kredit yang dapat Anda gunakan untuk memberikan promosi-promosi transaksi kepada pelanggan-pelanggan Anda. Pelajari lebih lanjut panduan aktivasi dan cara kerja komersialnya disini.

Halaman ini akan memberikan panduan kepada Anda para developer untuk melakukan integrasi promosi kartu kredit menggunakan Xendit. Langkah-langkah untuk integrasi dapat dilihat sebagai berikut:

  1. Anda membuat promosi melalui API Buat Promosi atau melalui Xendit dasbor
  2. Pelanggan membuka halaman checkout pada tampilan antarmuka aplikasi Anda beserta nominal transaksi. Pelanggan Anda kemudian mengisi nomor kartu kredit beliau beserta rinciannya pada tampilan checkout Anda
  3. Anda mengirim jumlah transaksi dan BIN kartu ke API Cek Opsi Charge yang tersedia. Anda dapat menggunakan library xendit.js Javascript kami untuk mengamankan serta memudahkan proses integrasi Anda
  4. Xendit melakukan pengecekan apakah BIN tersebut berhak mendapatkan promosi.
  • Jika tidak, kami akan mengembalikan respon null kepada Anda. Anda dapat melanjutkan untuk charge kartu tersebut dengan jumlah sebelum diskon.
  • Jika iya, kami mengembalikan respon dengan rincian Promosi termasuk ke final_amount, yang merupakan jumlah transaksi original dikurangi dengan diskon.
  1. Anda dapat menampilkan harga akhir setelah promo di UI Anda dengan mengacu pada parameter final_amount yang kami lampirkan pada respon API
  2. Pelanggan Anda konfirmasi pembayaran pada UI Anda (misalkan dengan menekan tombol Pay/ Bayar)
  3. Anda mengirimkan nomor kartu pelanggan Anda melalui xendit.js untuk kami proses tokenisasi dan otentikasi
  4. Setelah otentikasi 3DS berhasil diverifikasi, Anda dapat membuat charge kartu kredit dengan menggunakan API Buat Charge menggunakan token_id dan promotion objek
  5. Setelah Charge berhasil, kami mengembalikan respon API Charge standar kami dengan detail tambahan objek promotion: reference_id dan original_amount. Hal ini memungkinkan Anda untuk mencocokan transaksi yang mempunyai Promosi.

Membuat Promosi

Membuat Promosi Melalui API

Untuk membuat Promosi di Xendit, Anda harus menulis fungsi untuk dikirimkan ke API Buat Promosi. Contoh API Request adalah sebagai berikut:

{
   "reference_id": "BCA_20_DEC",
   "description": "Kartu kredit BCA akan mendapatkan 20% promo untuk setiap pembelajaan selama bulan Desember!",
   "transaction_limit": 0,
   "type": "CARD_BIN",
   "bin_list": [
      "400001",
      "400002",
      "400003"
    ],
   "discount_percent": 20,
   "currency": "IDR",
   "start_time": "2021-12-01 00:00:00.000Z",
   "end_time": "2021-12-31 23:59:59.000Z"
}

Membuat Promosi Melalui Xendit Dasbor

Untuk membuat promosi melalui Xendit dasbor dapat dilakukan pada Dasbor > Terima Pembayaran > Kartu Kredit/Debit > Promotions > Buat dan lihat tutorial berikut sebagai panduan:


Gunakan informasi di bawah ini sebagai panduan membuat promosi melalui dasbor:

ParameterApa yang harus diisi
LabelNama promosi sebagai identitas unik pada sistem Anda
Promo ini akan tersedia melaluiKode Promo: Kode promo spesifik untuk pelanggan Anda pakai pada halaman checkout
Kartu yang diterbitkan oleh bank tertentu: Promo yang dapat diaplikasikan secara otomatis untuk penerbit bank yang dipilih
Daftar BIN tertentu: Daftar Bank Identifier Number (BIN) atau 6 digit pertama pada nomor kartu yang Anda inginkan untuk otomatis diaplikasikan promo saat pelanggan memasukkan BIN yang sesuai
Tipe DiskonPersentase: Potongan harga diambil dari persentasi total harga
Jumlah tetap: Potongan harga tetap untuk transaksi pelanggan Anda
Berlaku MulaiDurasi aktifnya promosi
DeskripsiDeskripsi ringkas mensenai promosi ini

Dapatkan Opsi Charge

Setelah membuat promosi, Anda dapat memanggil API Get Charge Option atau integrasi dengan library javascript kami xendit.js saat pelanggan Anda memasukkan nomor kartu pada halaman checkout Anda untuk melihat promosi yang tersedia uituk transaksi tersebut.

Dapatkan Opsi Charge Melalui API

Untuk mengetahui promosi yang tersedia pada transaksi pelangana Anda, Anda dapat memanggil API Get Charge Option menggunakan public API key dengan parameter:

ParameterDeskripsi
BIN6 digit pertama dari nomor kartu pelanggan Anda
AmountNominal awal transaksi pelanggan Anda
CurrencyMata uang yang digunakan pada transaksi


Contoh respon dari API Get Charge Option:

{
   "business_id": "5ea2a0cdb62b6a00108ed248",
   "bin": "552002",
   "promotions": [
     {
        "reference_id": "some_promo_1",
        "discount_percent": "25",
        "original_amount": 1000000,
        "final_amount": 975000,
        "currency": "IDR",
        "min_original_amount": 500000,
        "max_discount_amount": 25000
     }
   ],
   "installments": []
}

Dapatkan Opsi Charge Melalui Xendit.js

Anda dapat menggunakan fungsi yang relevan di xendit.js adalah sebagai berikut:

Card.prototype..getChargeOption = function (chargeData, callback) {
   this._getChargeOption(chargeData, function (err, chargeOption) {
       if (err) {
           return callback(err);
       }
       callback(null, chargeOption);
   });
};


Cara kerja fungsi ini:

  1. Pelanggan Anda memasukkan BIN kartu pada halaman checkout Anda.
  2. Anda perlu menerapkan fungsi untuk menyimpan BIN dan harga transaksi pada formulir UI Anda
  3. Fungsi yang Anda buat digunakan untuk mengirim data UI form Anda ke xendit.js
  4. Pada fungsi getChargeOption, Xendit akan mendeteksi promosi aktif yang tersedia untuk transaksi pelanggan Anda dan memberikan informasi promosi pada objek getChargeOptionResponse
  5. Respon berisi informasi promosi yang tersedia dan harga total setelah dikurangi promosi pada objek final_amount untuk dapat Anda tampilkan ke pelanggan di halaman checkout Anda
  6. Saat pelanggan Anda konfirmasi pembayaran maka Anda dapat menggunakan final_amount untuk melakukan tokenisasi, otentikasi, dan membuat charge dengan promotions objek dalam request API. Anda juga perlu menyertakan objek baru promotion dalam request API Charge API, sebagai berikut:
promotion:
          reference_id: "MARCH_JENIUS_20",
          original_amount: 100000

Dimana original_amount adalah nominal transaksi awal (sebelum diskon diterapkan).