Snap: Fitur Tambahan


Tutorial berikut akan membantu anda meng-implementasikan fitur tambahan di Snap. Apabila butuh bantuan, silahkan hubungi kami di support@midtrans.com atau kunjungi halaman support kami.

Saat ini Snap memiliki fitur tambahan:

  1. Memilih Metode Pembayaran.
  2. Set Custom Expiration.

Snap juga memiliki fitur tambahan untuk pembayaran kartu kredit:

  1. Cicilan.
  2. BIN Filter.


Berikut adalah tutorial untuk melakukan integrasi menggunakan fitur - fitur sesuai dengan kebutuhan anda.

Memilih Metode Pembayaran

Pada bagian Snap – Integrasi, kami telah menjelaskan bagaimana mengaktifkan semua metode pembayaran yang anda miliki secara otomatis. Namun, pada kondisi tertentu Anda mungkin hanya ingin menampilkan beberapa metode pembayaran saja pada Snap. Untuk melakukan hal ini, Anda perlu menambahkan parameter berikut:


"enabled_payments": [
    "credit_card",
    "gopay",
    "mandiri_clickpay",
    "cimb_clicks",
    "bca_klikbca",
    "bca_klikpay",
    "bri_epay",
    "telkomsel_cash",
    "echannel",
    "bbm_money",
    "xl_tunai",
    "indosat_dompetku",
    "mandiri_ecash",
    "permata_va",
    "bca_va",
    "bni_va",
    "danamon_online",
    "other_va",
    "kioson",
    "Indomaret"
]

Group pembayaran merupakan kumpulan metode pembayaran dengan karakteristik hampir sama yang disatukan di dalam grup, sehingga Anda tidak perlu memasukan satu persatu metode pembayaran tersebut.

Grup pembayaran yang ada adalah:

bank_transfer = permata_va, bca_va, bni_va.
store = kioson, indomaret.

Contoh kode dalam bahasa pemrograman PHP adalah sebagai berikut:

<?php
include_once('Veritrans.php');

...

$transaction = array(
    'transaction_details' => array(
        'order_id' => rand(),
        'gross_amount' => 10000 // no decimal allowed
    ),
    'enabled_payments' => array('credit_card')
);

...

?>


Kode di atas akan menampilkan halaman pembayaran kartu kredit saja pada Snap. redirect

Pengaturan Custom Expiry

Fitur Pengaturan Custom Expiry memungkinkan merchant untuk set masa waktu berlaku pembayaran untuk setiap transaksi. Menggunakan transaksi yang sama pada bagian Integrasi, contoh kode PHP yang dapat digunakan adalah sebagai berikut:

<?php
include_once('Veritrans.php');

...

$transaction = array(
    'transaction_details' => array(
        'order_id' => rand(),
        'gross_amount' => 10000 // no decimal allowed
    ),

    'expiry' => array (
      "start_time" => "2015-09-08 11:06:53 +0700",
      "unit" => "minute",
      "duration" => 1
    )
);

...

?>


Parameter Description
start_time
String(255)
(optional)
Timestamp dalam format yyyy-MM-dd hh:mm:ss Z. Jika tidak diset, waktu transaksi akan digunakan sebagai start_time (saat customer charge)
duration
integer
(required)
Expiry duration
unit
String
(required)
Expiry unit. Pilihan: day, hour, minute (Bentuk plural dapat digunakan)

Fitur Cicilan

Cicilan Online

Untuk mengaktifkan fitur cicilan online, merchant harus memiliki kesepakatan dengan acquiring bank terlebih dahulu. Acquiring bank akan menerbitkan MID Cicilan yang memungkinkan transaksi diubah menjadi cicilan secara otomatis. Merchant juga perlu menanyakan kepada sales representative Midtrans apakah MID untuk cicilan sudah siap. Jika sudah siap, merchant cukup menambahkan parameter transaksi installment saat request token Snap.

Menggunakan transaksi yang sama dengan bagian Integrasi, contoh kode PHP yang dapat digunakan adalah sebagai berikut:

<?php
include_once('Veritrans.php');

...

$transaction = array(
    'transaction_details' => array(
        'order_id' => rand(),
        'gross_amount' => 10000
    ),

    'credit_card' => array(
        'secure' => true,
        'installment' => array(
            'required' => true,
            'terms' => array(
                'bni' => [6, 12],
                'mandiri' => [6, 12]
            )
        )
    )
);

...

?>


Berikut adalah contoh tampilan halaman Snap dengan fitur cicilan online: Snap Installment



Cicilan Offline

Apabila merchant ingin menggunakan fitur cicilan dengan bank yang tidak bisa mengeluarkan MID Installment, merchant dapat menggunakan fitur cicilan offline. Dengan fitur cicilan offline ini, charge transaksi akan dilakukan secara full amount dan perubahan menjadi cicilan akan dilakukan setelahnya. Untuk informasi lebih lanjut merchant dapat menghubungi Sales Representatif Midtrans.

Untuk menggunakan fitur cicilan offline, Anda cukup menambahkan parameter transaksi installment saat request token Snap digabungkan dengan fitur bin filter. Tujuan dari implementasi fitur bin filter adalah membatasi hanya kartu-kartu tertentu saja yang bisa menggunakan fitur cicilan offline ini sesuai dengan kesepakatan antara merchant dengan bank penerbit kartu.

Menggunakan transaksi yang sama dengan bagian Integrasi, contoh kode PHP yang dapat digunakan adalah sebagai berikut:

<?php
include_once('Veritrans.php');

...

$transaction = array(
    'transaction_details' => array(
        'order_id' => rand(),
        'gross_amount' => 10000
    ),

    'credit_card' => array(
        'secure' => true,
        'installment' => array(
            'required' => true,
            'terms' => array(
                'offline' => [6, 12] //Offline installment terms
            )
        )
    ),
    'whitelist_bins' => array(
        '481111',
        '410505'
    )
);

...

?>


Berikut adalah contoh tampilan halaman Snap dengan fitur cicilan offline: Snap Installment2



BIN Filter

BIN (Bank Identification Number) filter adalah fitur yang memungkinkan anda untuk menawarkan promosi berdasarkan bank penerbit kartu kredit tertentu yang dimiliki pelanggan anda. BIN merupakan 1-6 digit pertama dari nomor kartu kredit, yang mengidentifikasikan bank penerbit kartu kredit tersebut.

Untuk menggunakan fitur ini, Anda terlebih dahulu mengumpulkan daftar BIN yang menerima promo atau bisa menggunakan nama bank penerbit kartu. Daftar BIN atau nama bank tersebut menjadi nilai dari atribut parameter whitelist_bins. Transaksi hanya dapat dilakukan oleh kartu kredit yang termasuk dalam daftar BIN atau kartu yang diterbitkan oleh bank tersebut.

Menggunakan transaksi yang sama dengan bagian Integrasi, contoh kode PHP yang dapat digunakan adalah sebagai berikut:

<?php
include_once('Veritrans.php');

...

$transaction = array(
    'transaction_details' => array(
        'order_id' => rand(),
        'gross_amount' => 10000
    ),

    'whitelist_bins' => array(
        '481111',
        '411111',
        'bni'
    )
);

...

?>


Berikut adalah contoh tampilan halaman Snap dengan fitur BIN Filter:

Snap BIN Error
Invalid card number, karena 481112 tidak termasuk dalam nilai untuk parameter whitelist_bins.


Snap BIN Success
Valid card number, karena 481111 termasuk dalam nilai untuk parameter whitelist_bins.