Visa Checkout SDK v6.3.0
To operate effectively, Visa Checkout SDK supports the following technologies:
- iPhone 5 or later devices
- Xcode 9.0 or later
- iOS 9.0 or later
Native Applications
The Visa Checkout SDK for iOS enables you to integrate a Visa Checkout payment flow into your iOS app. The consumer taps the checkout with Visa Checkout button in your app, which launches the Visa Checkout flow. The consumer then logs into Visa Checkout to confirm the payment information and shipping address and continue with the purchase, possibly changing shipping or payment information before continuing back to your app. At that point, your app confirms the successful purchase with Visa Checkout.
After following the integration steps described in this document, your customer can checkout and pay with Visa Checkout:
When the customer taps the Visa Checkout button, Visa Checkout executes the following flow:
- Visa Checkout displays the Sign In screen, which allows your customer to:
- Sign in by entering an e-mail address and a password.
- Create a Visa Checkout account and specify payment information and shipping details to be securely stored in Visa Checkout.
- Visa Checkout presents the Review and Continue screen.
Note: At this point, the customer can add or change the payment method, billing address, and shipping address. - After the customer taps Continue, Visa Checkout returns the call ID, which identifies the payment request, an encrypted payload and other information, then returns control to your app.
After control is returned to your app, you pass the encrypted payment payload to your server for authorization and capture. Once done, your server must update the payment information in Visa Checkout.
Hybrid Applications
Visa Checkout provides a plugin that enables biometric authentication for your hybrid mobile app. With the plugin, consumers can use Visa Checkout with minimal friction during checkout. The Visa Checkout plugin provides consumers a streamlined, two-touch secure checkout experience, when you integrate the plugin with your hybrid mobile app. When Enable Touch ID and Remember me are checked, an existing consumer can use Touch ID to log into Visa Checkout:
A new consumer can check Enable Touch ID and Remember me when enrolling in Visa Checkout. The consumer can choose to cancel Touch ID and enter a password at any time. A consumer also can uncheck Enable Touch ID to disable it without disabling Remember me; however, both must be checked to enable Touch ID.
Technical Notes About the iOS Hybrid App Plugin
The plugin presents the Visa Checkout flow as a native view controller. When the consumer taps the Visa Checkout button, your app invokes the plugin.
- The plugin invokes the JavaScript SDK, which integrates with your website. Your existing JavaScript integration with Visa Checkout does not require modification.
- The hybrid integration consists of including the plugin in your app and initializing it with message handlers, which requires minimal coding.
- The size of the plugin is less than 200KB.
Getting Started
To integrate the iOS Visa Checkout SDK, review the Installation guide. Then, refer to either the Native Apps or Hybrid Apps usage guide.
What’s new in 6.3.0
- Support for users staying remembered when upgrading from 4.x or 5.x
What’s new in 6.2.0
- Redesigned look
- Prefill enrollment information for user upon user consent
- API changes
Upgrading
If no specific upgrade instructions are given for your current version, you should be able to simply replace the VisaCheckoutSDK.framework file.
Installing 6.3 for the first time
- Review the Installation guide for detailed instructions. Then, refer to either the Native Apps or Hybrid Apps usage guide.
Native apps upgrading to 6.x from 4.x or 5.x
- Delete TrustDefender.framework from your project.
- Delete VisaCheckoutButton.swift or VisaCheckoutButton .h and .m source files from your project (depending on if you have a Swift or Objective-C app).
- Delete VisaCheckoutSDK.framework from your project.
- Drag the new VisaCheckoutSDK.framework into your project’s Embedded Binaries section.
- Remove any existing VisaCheckoutSDK.configure() call (probably in your AppDelegate).
- If you’re using an instance of VisaCheckoutButton, use our new checkoutButton.onCheckout(profile:purchaseInfo:presenting:completion) method instead of one of the old onCheckout methods.
- If you’re manually invoking Visa Checkout, use our new VisaCheckoutSDK.configureManualCheckoutSession(profile:purchaseInfo:presenting:onReady:result) method instead of the old VisaCheckoutSDK.checkout() method.
- If you referenced a
VisaCheckoutButton
in a Storyboard or Xib file, you will need to give the button height and width constraints as well now (assuming you’re using Auto Layout). - You may also need to clear out and reset the
UIView
‘s Custom Class for the button in Storyboard. Just set it back toUIView
then reset it back toVisaCheckoutButton
.
Hybrid apps upgrading to 6.x from 5.x
- Replace the VisaCheckoutHybrid.framework with VisaCheckoutSDK.framework.
- Change any
import VisaCheckoutHybrid
toimport VisaCheckoutSDK