Skip to content

Getting started with the Veritrans SDK

Dinda edited this page Nov 11, 2016 · 24 revisions

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

Transaction Flow

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

  1. Merchant Server: The merchant backend implementation
  2. Customers
  3. Veritrans Backend(Payment Processor)
  4. Veritrans Mobile SDK

Transaction flow

Checkout

  1. Customer clicks the Checkout button on the Host application and the app makes a request to the Merchant Server

Token Negotiation

  1. Merchant Server makes a request to Veritrans server with Order Information
  2. Veritrans responds with a valid transaction token to Merchant server
  3. Merchant server forwards the token to the Mobile SDK

Retrive Payment Information

  1. Mobile SDK requests payment/merchant information based on the token
  2. Mobile SDK renders the payment Options and payment information to make the payment

Payment

  1. Customers selects the payment method and the payment details and clicks "Pay"
  2. Mobile SDK sends the Charge request to the Veritrans Backend for payment Processing.

Payment Confirmation

  1. Mobile SDK receives the response from the Veritrans Backend and triggers the handler on Mobile App with success/failure/pending status
  2. Veritrans Backend sends a notification to the Merchant backend confirming the completion of transaction.

Transaction Flow Figure

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 (can be downloaded from README) 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
Clone this wiki locally