Skip to content

Getting started with the Veritrans SDK

Dinda edited this page Nov 11, 2016 · 7 revisions

Veritrans SDK is a library that simplifies the process of making transactions on Veritrans Payment gateway.

Transaction Flow

There are three parties involved in the payment process for making a payment:

  1. Merchant Server Backend (Implemented by the app author)
  2. Customers (Who are making the payment on their mobile devices)
  3. Veritrans (Payment Gateway)

Transaction Flow Figure

Steps in a mobile transaction

  1. Checkout: Mobile app send Customers details and Payment Request (purchased product details) to merchant Snap server.
  2. Redirect Checkout : Merchant Server redirect the checkout data to merchant Snap Server.
  3. Provide Token : Snap server provide response an authentication_token to merchant server.
  4. Redirect Token : Merchant Server redirect authentication_token from Snap server to Mobile app
  5. Get Payment option : Mobile App get available payment options by sendingauthentication_token to Snap server
  6. Provide Transaction Options : Snap Server provide response transaction options to mobile apps.
  7. Pay : User clicks pay
  8. Charge transaction : Mobile Apps charge the payment by sending transaction request and authentication_token to Snap token
  9. Provide Charge Response : Snap Server send the charge response to mobile app.
  10. Notify Transaction : Snap Server notify the transaction status to merchant Snap server.

Payment types Supported

  1. Credit/Debit Cards - Support for making payments via credit cards and or debit cards using our two-clicks feature. We support Visa, Mastercard, American Express and JCB
  2. Mandiri ClickPay
  3. CIMB Clicks
  4. ePay BRI
  5. Indosat Dompetku
  6. Mandiri e-Cash
  7. Bank Transfer - Support payment using Permata Virtual Account and BCA Virtual Account.
  8. Mandiri Bill Payment
  9. Indomaret - Payment via convenience Stores
  10. BCA Klikpay
  11. KlikBCA
  12. Kiosan

Other features

  1. Offers - supports offers like BIN Promos, Discounts , Installments, etc.
  2. Register Card : Securely store the credit card tokens with the merchants for seamless payment experience

Supported Modes

  1. UI flow (Recommended) : We provide the drop in User interface for making transactions on all the payment types supported by Veritrans. Watch the video for the default UI flow example.
  2. Core flow : We provide an API only implementation for all payment types, This allows users to Bring your own UI to the mobile App.

Prerequisites

  1. Please familiarize yourself with our documentation
  2. Create a merchant account in MAP
  3. Setup your merchant accounts settings, in particular Notification URL.
  4. Checkout the Veritrans SDK Demo App and walk through the implementation.
  5. Checkout the server implementation reference, and walk through the API's that you may need to implement on your backend server.

Security Aspects

  • There are 2 separate keys CLIENT_KEY and SERVER_KEY (available on MAP)
    • CLIENT_KEY is used for tokenizing the credit card. It can only be used from the Client(mobile device)
    • SERVER_KEY is used for acquiring the token from the Veritrans server. It is not to be used from the device, all API requests that use the SERVER_KEY need to be made from the Merchant Server.
  • We use strong encryption for making connections to Merchant server, please make sure it has valid https Certificate.
  • Please be careful logging payment related information to the logs(especially when using Core flow).

Following are configurable parameters of SDK that can be used while performing transaction -

  1. Merchant server Endpoint- url of server to which transaction data will be sent. This will also be referred to as a merchant server.
  2. Transaction details - contains payment information like amount, order Id, payment method etc.
  3. Veritrans Client Key - token that specified by merchant server to enable the transaction using credit card. Available on the MAP