Visa Checkout

There are two ways to enable Visa Checkout as an alternative payment method on your checkout page:

  1. Hosted Integration Method
  2. Non Hosted Integration Method

Hosted Integration Method

Using this method, you will enable Visa Checkout via BackOffice, Bambora's insights and transaction management tool. Bambora host the Visa Checkout button on your integrated checkout page along with your other payment method options. When the customer is redirected to the Bambora, all payment methods configured on your account will be displayed, including Visa Checkout.

Step 1: Enabling Visa Checkout

You can enable Visa Checkout on your hosted checkout page by following the instructions outlined in the Payment Methods Acceptance Guide.

Step 2: Adding Visa Checkout button

Once you have successfully set up your Visa Checkout account, you must add the following button to the integrated checkout page template so it will appear on your checkout page. Once you have added this to your template, you can send to Bambora for upload to your account.

The button details which need to be added to your integrated checkout page template are:

<img alt="Visa Checkout" src="https://sandbox.secure.checkout.visa.com/wallet-services-web/xo/button.png"/>

Step 3: Creating a Checkout Session

In addition to the standard Integrated Checkout request fields, Bambora’s Visa Checkout implementation allows you to POST additional request fields associated with the payment in the session initiation request. These are in turn passed to Visa Checkout.

The Checkout Session can be created by constructing the following request.

Request

POSThttps://demo.ippayments.com.au/access/index.aspx

{
  -d 'UserName=[API Username]'
  -d 'password=[API Password]'
  -d 'CustRef=[reference]'
  -d 'CustNumber=[customer number]'
  -d 'Amount=[amount value]'
  -d 'SessionId=[SessionId]'
  -d 'SessionKey=[SessionKey]'
  -d 'DL=checkout_v1_purchase'
  -d 'ServerURL=[ServerURL]'
  -d 'UserURL=[UserURL]'
  -d 'AccountNumber=[Account Number]'
  -d 'VisaPromoCode=[String]'
}

Additional Visa Checkout fields

ParameterFormatDescription
VisaPromoCodeAlpha/num(100)Promo code information which can be passed to Visa checkout for processing. Multiple promotion codes are separated by period (.)

Example: VisaPromoCode=P135098

Step 4: Processing Visa Checkout Payment

Once the checkout session is established, Bambora retrieves the card details from Visa Checkout to process the payment as normal and sends to your bank for processing. The transaction response is sent to you through the existing process in two steps detailed in handling responses.

  1. ServerURL - The first step is a server to server post between Bambora and your application providing a more robust and secure way of sending the transaction response data to you.
  2. UserURL - The second step redirects the user back to your website where they are notified of the transaction result.

Non Hosted Integration Method

This process works in a similar way to the hosted integration method where a session is initiated once the Visa Checkout button on your website is clicked. Rather than being directed to an Bambora checkout page, the customer is sent directly to their Visa Checkout login screen.

Step 1: Enabling Visa Checkout

You can enable Visa Checkout on your hosted checkout page by following the instructions outlined in the Payment Methods Acceptance Guide.

Step 2: Adding Visa Checkout button

With the Non Hosted integration method, you can place the Visa checkout button on your websites checkout page rather than the Bambora checkout page. This process works in a similar way to the hosted integration method where a session is initiated once the Visa Checkout button on your website is clicked. Rather than being directed to an Bambora checkout page, the customer is sent directly to their Visa Checkout login screen.

Please refer to Visa Checkout library for further details on how to integrate Visa Checkout button.

Step 3: Creating a Checkout Session

In addition to the standard Integrated Checkout request fields, your server must POST additional request fields that are required when processing a Visa Checkout transaction.

The Checkout Session can be created by constructing the following request.

Request

POSThttps://demo.ippayments.com.au/access/index.aspx

{
  -d 'UserName=[API Username]'
  -d 'password=[API Password]'
  -d 'CustRef=[reference]'
  -d 'CustNumber=[customer number]'
  -d 'Amount=[amount value]'
  -d 'SessionId=[SessionId]'
  -d 'SessionKey=[SessionKey]'
  -d 'DL=checkout_v1_purchase'
  -d 'ServerURL=[ServerURL]'
  -d 'UserURL=[UserURL]'
  -d 'AccountNumber=[Account Number]'
  -d 'VisaCheckoutCallID=[String]'
}

Additional Visa Checkout fields

ParameterFormatDescription
VisaCheckoutCallIDAlpha/num(48)The unique Call ID generated for each customer which will be passed to Visa Checkout for processing.

Step 4: Processing Visa Checkout Payment

Once the checkout session is established, Bambora retrieves the card details from Visa Checkout using the VisaCheckoutCallID to process the payment as normal and sends to your bank for processing. The transaction response is sent to you through the existing process in two steps.

  1. ServerURL - The first step is a server to server post between Bambora and your application providing a more robust and secure way of sending the transaction response data to you.
  2. UserURL - The second step redirects the user back to your website where they are notified of the transaction result.

1st Response POST to SeverURL

The Bambora server POSTs the response to your server using the ‘ServerURL’ as supplied by you in the checkout session initiation. Bambora will post the standard response values detailed in handling responses, as well as the below additional response values which relate specifically to Visa Checkout transaction. The response data should be stored in your database and made accessible to your website.

Parameter Length Description
VisaCallID 48 The unique Call ID generated for each customer which will be passed to Visa Checkout for processing.
VisaCustomerID 64 This is a unique customer identifier provided by Visa only for a successful transaction.