enabling online payment using veritrans (desember 2015)

29
Payment Gateway Integration Adam Pahlevi Baihaqi

Upload: dilo-surabaya

Post on 15-Apr-2017

420 views

Category:

Internet


0 download

TRANSCRIPT

Payment Gateway Integration

Adam  Pahlevi  Baihaqi  

Click  to  edit  Master  text  styles   2  Tentang  pembicara   2  

• Nama:  Adam  Pahlevi  Baihaqi  • Bahasa  kesukaan:  Ruby,  Clojure  • Open  sources  project:  BALI,  World  Airports,  Jsoning,  Grape::Routes,  Condensable,  Assignbot,  Urbans,  Remexify,  ccjs,  etc.  

• Contributed:  ransack,  carrierwave,  refinerycms,  acLveadmin,  etc.  

• email:  adam.pahlevi@{gmail.com,  veritrans.co.id}  

Click  to  edit  Master  text  styles   3  Also  the  most  innocent   3  

Click  to  edit  Master  text  styles   4  Apa  itu  Payment  Gateway   4  

• Payment  Gateway  adalah  sistem  untuk  menerima  pembayaran,  keLka  melakukan  transaksi  online.  

• Contoh  payment  gateway:  – Luar  negeri:  PayPal  – Dalam  negeri:  Veritrans,  Doku,  ipay88,  Kartuku  

Click  to  edit  Master  text  styles   5  Tentang  Veritrans   5  

•  It  has  Japanese  branch  • Di  Indonesia,  ada  cabang  di  Jakarta  dan  Bandung  • e-­‐Commerce  Enablement  Company  • Primary  focus  today  is  Payment  Gateway  

Click  to  edit  Master  text  styles   6  Why  Veritrans?   6  

• Seamless  integraLon:  plugins  are  available  for  Ruby,  PHP,  and  other  PHP-­‐based  meta-­‐frameworks  such  as  Magento  

• Dokumentasi  accessible  • Easy-­‐to-­‐use  Merchant  Admin  Portal  (MAP)  • One  email  two  accounts:  Sandbox  and  ProducLon!  (and,  switchable!)  

• MulL-­‐accounts  per  Merchant,  with  Role  • SubjecLve:  excellent  customer  service  

Click  to  edit  Master  text  styles   7  Payment  Channel   7  

• Kartu  kredit  dengan  acquirer  BNI,  BCA,  CIMB  dan  MANDIRI.  Issuer,  any:  Visa,  MasterCard,  JCB,  UnionPay.  

• Bank  Transfer:  BCA  VA,  Permata  VA.  •  Internet  Banking:  Mandiri  (Bill,  E-­‐CASH),  BRI  e-­‐PAY,  Klik  BCA.  • e-­‐Wallet:  Telkomsel  Cash,  XL.  • Convenient  store:  Indomaret.  

IntegraLon  

Click  to  edit  Master  text  styles   9  3  Moda  Integrasi   9  

• VT-­‐LINK  • VT-­‐WEB  • VT-­‐DIRECT  

Click  to  edit  Master  text  styles   10  3  Moda  Integrasi   10  

Click  to  edit  Master  text  styles   11  VT-­‐LINK   11  

• Cocok  untuk  usaha  online  lewat  Facebook,  Instagram,  atau  pembayaran  cepat  lain.  

• Studi  kasus:  Garuda  menggunakan  VT-­‐LINK  untuk  corporate  clients  mereka.  

• Tidak  perlu  programming.  

Click  to  edit  Master  text  styles   12  VT-­‐WEB   12  

• Perlu  coding:  PHP,  JavaScript,  Ruby,  Java,  bahasa  apapun  dengan  package  HTTP,  bisa.  

• Menggunakan  REST  dan  JSON  • Checkout  dilakukan  di  situs  Veritrans  • Lebih  mudah  daripada  VT-­‐DIRECT,  karena:  

– Layout  sudah  tersedia  untuk  web  browser  desktop,  ataupun  smartphone.  

• GraLs,  tak  ada  biaya  per  bulan,  selain  daripada  biaya  per  transaksi.  

Click  to  edit  Master  text  styles   13  VT-­‐DIRECT   13  

• Direct:  lebih  low-­‐level  daripada  VT-­‐WEB  • Checkout  di  implementasikan  di  situs  sendiri  • Sangat  teknikal  • Fixed  biaya  pemakaian  2  juta  per  bulan,  apart  dari  biaya  transaksi  

Demonstrasi  VT-­‐LINK  

Let’s  have  a  quick  VT-­‐Direct  and  VT-­‐Web  demo!  

Let’s  talk  API    the  basic  of  VT-­‐WEB  and  VT-­‐DIRECT  

Click  to  edit  Master  text  styles   17  API  Endpoint   17  

• API  memiliki  dua  basis  URL:  – Development  URL:  api.sandbox.veritrans.co.id/v2  – ProducLon  URL:  api.veritrans.co.id/v2  

• Pada  dasarnya,  semua  api  menggunakan  “/charge”  untuk  checkout,  baik  untuk  VT-­‐WEB  atau  VT-­‐DIRECT  

• Tersedia  API  untuk  melakukan  approve,  cancel,  expire  transaksi.  Juga  unutk  mengecek  status  transaksi.  

Click  to  edit  Master  text  styles   18  API  Body   18  

• Headers:  – AuthorizaLon:  Basic  <Base64  serverkey>  – Accept:  applicaLon/json  – Content-­‐Type:  applicaLon/json  – User-­‐Agent:  NamaMerchant  

• Method:  POST  • URL:  base/charge  • Body:  parameter-­‐paramater  charging  

Click  to  edit  Master  text  styles   19  Plugins   19  

• Veritrans  memiliki  plugin:  – Ruby  – iOS  – Android  – PHP  

•  Jika  menggunakan  plugin,  Lnggal  set  Client  Key,  Server  Key,  lalu  panggil  “Charge”  dan  passed  in  parameter-­‐paremeter  nya.  

Click  to  edit  Master  text  styles   20  Plugins   20  

• Veritrans  memiliki  plugin:  – Ruby  – iOS  – Android  – PHP  

•  Jika  menggunakan  plugin,  Lnggal  set  Client  Key,  Server  Key,  lalu  panggil  “Charge”  dan  passed  in  parameter-­‐paremeter  nya.  

Charging  Parameters  

Click  to  edit  Master  text  styles   22  Charging  Parameters  101  (1)   22  

• Harus  ada:  payment_type  • Harus  ada:  transacLon_details  

– order_id  – gross_amount  

• OpLonal:  item_details:  – id  – name  – quanLty  – price  

Click  to  edit  Master  text  styles   23  Charging  Parameters  101  (2)   23  

• OpLonal:  customer_details  – first_name  – last_name  – email  – phone  – billing_address  dan  juga  shipping_address  

• first_name  • last_name  • phone  

Click  to  edit  Master  text  styles   24  Charging  Parameters  101  (2)   24  

• OpLonal:  customer_details  – first_name  – last_name  – email  – phone  – billing_address  dan  juga  shipping_address  

• first_name  • last_name  • phone  

Click  to  edit  Master  text  styles   25  Charging  Parameters  101  (3)  -­‐>  Contoh   25  

 "customer_details":  {          "first_name":  "Adam",          "last_name":  "Pahlevi",          "email":  "[email protected]",          "phone":  "085618921905",          "billing_address":  {              "first_name":  "Adam",              "last_name":  "Pahlevi",              "phone":  "085618921905"          },          "shipping_address":  {              "first_name":  "Adam",              "last_name":  "Pahlevi",              "phone":  "085618921905"          }      }  }  

{      “payment_type”:  “VTWEB”,      "transacLon_details":  {          "order_id":  13,          "gross_amount":  112200      },      "item_details":  [          {              "id":  2,              "price":  112200,              "quanLty":  1,              "name":  "Bumi  Manusia"          }      ],  

Perbedaan  API:    VT-­‐Direct  vs  VT-­‐Web  

Click  to  edit  Master  text  styles   27  Perbedaan  API:  VT-­‐DIRECT  vs  VT-­‐WEB   27  

•  VT-­‐WEB  – payment_type:  “VTWEB”  

•  VT-­‐DIRECT  – payment_type  tergantung  jenis  payment  

• Credit  Card:  credit_card  • CIMB  clicks:  cimb_clicks  • Telkomsel  T-­‐CASH:  telkomsel_cash  

– charging  params  biasanya  memiliki  modifikasi  • Credit  Card:  perlu  token_id  • Telkomsel  Cash:  promo,  is_reversal,  customer  

Diving  the  Code  

Terima  kasih