Skip to main content
Zip is a buy now, pay later (BNPL) payment method that allows buyers to split purchases into installments. Zip uses a redirect flow where the buyer approves the payment on the Zip hosted page.

Setup

To sign up for an account, visit the Zip sign-up page and fill in the details.

Credentials

When setting up Zip in the dashboard, configure the following credentials:
  • API key - The API key provided by Zip. This can be found in the Zip dashboard or is provided to you via email.

Features

Zip supports the following features:
  • Delayed capture - Authorize a payment and capture it at a later time
  • Partial capture - Capture a portion of the authorized amount
  • Partial refunds - Refund a portion of the captured amount
  • Refunds - Refund transactions in full
  • Void - Cancel an authorized transaction before capture
  • Zero auth - Zero-dollar verification transactions

Supported countries

Zip supports transactions from buyers in the following countries:
Country codeCountry codeCountry codeCountry codeCountry codeCountry codeCountry codeCountry code
AUCAGDGEMXNZUS

Supported currencies

Zip supports processing payments in AUD, NZD, and USD.

Limitations

The following features are not supported by this connector:
  • Over capture - Capturing more than the authorized amount is not supported
  • Partial authorization - Accepting a partial amount when the full amount cannot be authorized is not supported
  • Network tokens - Network tokenization is not supported
  • 3-D Secure - 3DS authentication is not applicable
  • Transaction sync - Automatic transaction status synchronization is not supported
  • Settlement reporting - Automatic settlement reporting is not supported

Integration

The default integration for Zip uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "AUD",
    Country = "AU",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "zippay",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes a payment_method.approval_url and the status is set to buyer_approval_pending. The approval URL expires after 30 minutes.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.gr4vy.com/connectors/..."
  },
  "method": "zippay"
}
Redirect the buyer to the approval_url (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to an authorization_succeeded or capture_succeeded state.