Virtual Card Checkout

Plugin icon

Virtual Card Checkout


Items you will need:

  • The Zip Android SDK
  • The Start Checkout call in your Android app
  • An order confirmation endpoint on your server


The Zip Android SDK

  • Our SDK is currently only available privately, please inquire with your Zip Account Manager.

How to start a Zip checkout

Add Zip


to your repositories then add:

implementation 'com.quadpay:quadpay:0.3.7@aar'

to build.gradle

Consult your Account manager about the version you should include!

Initialize the Zip SDK

Your Merchant ID will be provided by your Zip Integrations Engineer.

QuadPay.initialize(new QuadPay.Configuration.Builder("<your-merchant_id>")

Begin the Zip checkout flow

Once presented the customer will be shown the Zip checkout flow.

final QuadPayCheckoutDetails details = new QuadPayCheckoutDetails();
details.amount = "100";
details.customerFirstName = "Zip";
details.customerLastName = "Customer";
details.customerEmail = "[email protected]";
details.customerPhoneNumber = "+15555555555";
details.customerAddressLine1 = "123 Main St";
details.customerAddressLine2 = "10th Floor";
details.customerPostalCode = "10003";
details.customerCity = "New York";
details.customerState = "NY";
details.customerCountry = "US";
details.merchantFeeForPaymentPlan: "0";
details.merchantReference = "<your-unique-order-id>";

QuadPay.startVirtualCheckout(<your activity instance>, details);

Implement the checkout delegate functions:

These functions give your application information regarding the result of the Zip checkout flow.

Register for activity results

public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
   if (QuadPay.handleQuadPayActivityResults(
   )) {
   super.onActivityResult(requestCode, resultCode, data);

Checkout Success

This function returns a token you may exchange to confirm an order has been created.

public void checkoutSuccessful(QuadPayCard card, QuadPayCardholder cardholder, String orderId) {
  // Submit the card and cardholder details through your standard payment processor!

Checkout Cancelled

This function is called when the user cancels the Zip process or is declined.

public void checkoutCancelled(String reason) {
    // A reason describing why checkout was cancelled is returned

Finishing the Zip order

Once you have received a virtual card number in a success delegate you may authorize and capture it up to the value provided at the beginning of checkout. The card that is issued is a standard Visa card and all authorize/capture/refund functionality will work as expected.

More information and frequently asked questions are available at