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:
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.
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.
To charge the card stored in Visa Checkout, you only need to provide an extendedpayMethods
object andextOrderId
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.
{ "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
{ "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" } ] } } }
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.
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