Visa Checkout

1 Visa Checkout

Visa Checkout is a digital wallet in which the user may store card data and other information like shipping address.

It is available from the PayU payment page - in such case it does not require any changes in the integration with PayU and is simply another payment method available to the payer.

It is also possible to invoke Visa Checkout's lightbox directly on the payment recipient's website (online store). Following description refers to this service.

Please note that to integrate Visa Ceckout you need to:
  • apply and be approved for a Visa Checkout Merchant Services account,
  • integrate with PayU using the REST API protocol.

VIsa Checkout works as follows:

  1. Payer select Visa Checkout payment method, then logs in to his accout via lightbox invoked over store's website.
  2. (optional) Confirms his data on the store's website.
  3. Pays after placing an order.

Information related to testing this service can be found in Sandbox section.

More information about Visa Checkout can be found on Visa Checkout Developer Center website.

2 Lightbox configuration

Instructions on invoking lightbox over store's page can be found on Visa Developer website.

callId parameter, which is returned by lightbox, is key element for further integration with PayU.

callId parameter should be sent to your payment service provider (i.e. PayU) so that the encrypted card data can be securely retrieved from Visa Checkout and used for payment.

3 Order

To charge the card stored in Visa Checkout, you only need to provide an extended payMethods object and extOrderId in the OrderCreateRequest

The payMethod section must include authorizationCode field, which contains callId value.

Optionally, you may also provide specificData array, depending on agreement between you, PayU and Visa Checkout.

Example of the payMethods object for Visa Checkout payment

            
            {
              "payMethods": {
                 "payMethod": {
                     "type":"PBL",
                     "value":"vc",
                     //tutaj należy wstawić callId
                     "authorizationCode":"7111023008968028002",
                    }
                 }
            }
            
      

Further processing of the order follows the standard process described in REST API documentation. Please note that a redirection to 3D Secure authentication page may occur.

Since such orders will be settled as standard card payments, you may consider to integrate transaction data retrieve endpoint to distinguish between cards entered on a PayU hosted form and those retrieved from Visa Checkout

Example of the enhanced payMethods object with optional data

      {
        "payMethods": {
           "payMethod": {
               "type":"PBL",
               "value":"vc",
               //tutaj należy wstawić callId
               "authorizationCode":"7111023008968028002",
               //dane opcjonalne
               "specificData": [
                  {
                   "name":"subtotal",
                   "value":"1000.00"
                  },{
                   "name":"shippingHandling",
                   "value":"100.00"
                  },{
                    "name":"discount",
                    "value":"200.00"
                  },{
                    "name":"promoCode",
                    "value":"promo code"
                  },{
                    "name":"reason",
                    "value":"reason text"
                  },{
                    "name":"tax",
                    "value":"2.00"
                  },{
                    "name":"giftWrap",
                    "value":"2.00"
                  },{
                    "name":"misc",
                    "value":"1.00"
                    }
                ]
              }
           }
      }
                

4 Payment data

After the callId is returned by the Visa Checkout lightbox, the optional step is to retrieve the "Payment Data" from PayU.

The data returned will be in "summary" format meaning that it will be unencrypted and WILL NOT include a full card number, but only the last six digits. It may be used for informational purposes and to obtain the shipping address or other data connected with the purchase.

To get the data, simply make a HTTP GET call to:

/api/visa-checkout/proxy/payment/data/{callId}

The call should be authorized as all other REST API calls (see. signing API calls).

PayU acts as a proxy between you and Visa Checkout and the payment data are returned "as is". To learn more about the data available, chec Get Payment Data API.

5 Sandbox

Transparent Visa Checkout is also available on the sandbox environment

In order to test Visa Checkout follow the steps described in the official Visa Checkout documentation. At this stage Visa, should also assign an implementation supervisor to your case.

After you create Visa Checkout Project Sandbox account, please remember to create a link (so-called relationships) with PayU account. It will allow PayU to authorize transactions in your name.

Since Visa Checkout is not a default payment method, please contact our IT Support team after registering in Sandbox Environment, but before proceeding with the integration using Visa Checkout payment method