Introduction

Zip is a credit payment provider that allows customers to spread the cost of their order value over multiple payments. Aurora's integration with Zip allows your customers to make use of Zip's payment plans when placing orders via the Aurora Front-end.

Initial Setup

🚧

The Zip Integration uses the Aurora Microservice (MS) framework, and as such must be set-up in advance by Aurora Commerce before you can use it with your store.

Doing this requires a one-off development to setup and configure your store to use the Zip MS, after which, you can then configure the integration at your own leisure.

If you have not yet had (or do not know if you have had) the Zip MS set up and configured for your store, then please contact Aurora Commerce for more details regarding how to get this done.

In order to configure your Zip MS, you will need to request the following details from Zip:

Request from ZipDetail
Zip API KeyThis needs to be requested from Zip for the global API. The API key within the merchant account settings will not work.
Payment flowThis will either be “Immediate Capture” (PAYMENT) or “Auth and Capture” (RELEASE). This will need to be set within the MS settings and must reflect the account type set up with Zip (Please see the settings under the section Enable the Zip Microservice).

🚧

Please request these details for both Staging (Sandbox) and Production (Live) environments, so that you can test your integration before go live.

Aurora Backend Settings

❗️

The Zip payment options are not usable when placing new orders using the Orders > New Order section of the Aurora Back-end. It may only be used by the customer during checkout on the Front-end.

👍

This section describes how to configure the Zip integration for use on your Store's Front-end once it has been enabled for use on your Store(s).

Once the Zip integration has been enabled for your Store(s) to use, which is a process that requires you to contact your Agency to complete, you can follow these steps to allow your customers to use it on your Store(s) checkout.

Enable the Zip Microservice

Store > Settings > Feeds > Microservice > Proxy Zip

Configure visibility of the Zip payment option (in conjunction with the "Payment Types Accepted at Checkout" setting):

Parameter NameValue for IntegrationNote
Enabled?checkedControls whether the Zip payment option is visible on your checkout page:

checked = accessible and visible

unchecked = not accessible and not visible

Payment Types Accepted at Checkout

Store > Settings > Payment Providers

Configure Aurora to accept orders using the Zip payment type:

Parameter NameValue For IntegrationNote
Zip PaymentscheckedControls whether Zip is on the list of payment types that will be accepted on checkout submission.

checked = Zip is accepted and visible on checkout submission

unchecked = Zip is not accepted and not visible on checkout submission
Validate Payment TypecheckedControls whether the checkout enforces a strict/reduced list of payment types that are accepted on checkout submission.

checked = payment types are enforced to the defined list

unchecked = payment types are not enforced to the defined list

🚧

This 'visibility behaviour' is enforced entirely within the Aurora Front-end Templates and so is the default behaviour offered by the Aurora Demo Example Front-end Templates, but may not be how your own Front-end Templates are configured.

If you run into issues with payment option visibility, please check your Front-end Templates for the appropriate logic.

Microservice Settings

Aurora currently only uses the Zip Global API Endpoint.

The Zip settings (including your Zip API Account details) are configured from the Store > Plugins > Zip > Configure section of the Aurora Back-end. This page controls the settings used by Aurora to contact the Zip service.

Parameter NameValue for IntegrationNotes
Is LiveChecked - for Live
Unchecked - for Sandbox
This controls whether the sandbox mode is enabled for testing the integration.

checked = sandbox mode is not enabled and real payments will be taken
unchecked = sandbox mode is enabled and real payments will not be taken
Payment TypePAYMENT - Takes payment immediately on order placement.

DEFERRED - Only Defers/Authorises payment on order placement.
When using the DEFERRED method, payment must be captured at some point later in your order lifecycle, e.g. during dispatch, which Aurora supports doing automatically for you, should you wish to do this.

The Zip merchant account must be set up correctly for these different flows:

PAYMENT → Immediate Capture

DEFERRED → Auth and Capture
Live API KeyExample value (do not use):

abc.123.xyz
Merchant API Key for live environments.

Contact Zip for this Key directly if using the Global API. It is not the API key that is found within the Zip merchant settings.
Sandbox API KeyExample value (do not use):

abc.123.xyz
Merchant API Key for sandbox environments.

Contact Zip for this Key directly if using the Global API. It is not the API key that is found within the Zip merchant settings.
Aurora API EndpointExample value (do not use):

https://api.aurorademo.com
API endpoint for Aurora instance to collect product data.
Aurora API Version1.5Choose which Aurora API version to be used.

It is recommended that you do not use 'head' as this is subject to changes, that could render your integration inoperable on update.

Changing this version number should be done with care and the Zip checkout process tested in full whenever done to ensure it is still operating as expected.
Aurora API Tokensuper_secret_tokenAdd your Aurora API token.

Required methods for the API user are:

SiteTextGet (used for validating access to the API)

Optional methods for the API user are:

ProductGet (used to include the Product URL and Image in Zip).

It is recommended that the Zip integration is issued with its own dedicated Aurora API Token to allow more secure control over its use.

Please see Aurora API User Management for more detail regarding how to manage your Aurora API Users and their Tokens.
HTTP Auth UserExample value (do not use):

http_username
Add your HTTP Auth User for the HTTP authentication.

Use when there is HTTP authentication.
For example all Test instances are secured with HTTP authentication.
HTTP Auth PasswordExample value (do not use):

http_password
Add your HTTP Auth Password for the HTTP authentication.

Use when there is HTTP authentication.
For example all Test instances are secured with HTTP authentication.

Aurora Service Errors

Content > Site Text

User error messages from the Aurora payment service that can be changed and translated using the Aurora Site Text system:

PagePartNote
CheckoutCheckoutPayment proxy-zippay Error: MSRequestInvalidA general error when a request to the payment service cannot be provided.

This may be resolvable if the user tries the operation again.
CheckoutCheckoutPayment proxy-zippay Error: MSResponseInvalidA general error when a response from the payment service cannot be provided.

This may be resolvable if the user tries the operation again.
CheckoutCheckoutPayment proxy-zippay Error: MSConfigurationErrorThe Zip MS has not been configured correctly and is unable to connect to the Zip API.
CheckoutCheckoutPayment proxy-zippay Error: MSPaymentProviderErrorThe Zip API has responded with an unknown error.

More details on these errors can be found within: Tools > Logs > API Integration Log
CheckoutCheckoutPayment proxy-zippay Error: MSPaymentProviderConnectionErrorThe Aurora Zip service was unable to connect to the Zip API.

More details on these errors can be found within: Tools > Logs > API Integration Log
CheckoutCheckoutPayment proxy-zippay Error: MSPaymentRedirectErrorThe Zip API returned an error when we tried to generate a redirect URL for the user.

More details on these errors can be found within: Tools > Logs > API Integration Log
CheckoutCheckoutPayment proxy-zippay Error: MSPaymentCancelledThe customer cancelled payment within Zip and was returned to checkout.
CheckoutCheckoutPayment proxy-zippay Error: MSPaymentDeclinedThe customers payment request was declined by Zip and was returned to checkout.
CheckoutCheckoutPayment proxy-zippay Error: MSVoidFailedThe Zip API returned an error when we tried to void the payment.

More details on these errors can be found within: Tools > Logs > API Integration Log
CheckoutCheckoutPayment proxy-zippay Error: MSVoidFailed_PartialReleaseThe Void failed as the payment has been partially released.
CheckoutCheckoutPayment proxy-zippay Error: MSReleaseFailedThe Zip API returned an error when we tried to release the deferred payment.

More details on these errors can be found within: Tools > Logs > API Integration Log
CheckoutCheckoutPayment proxy-zippay Error: MSRefundFailedThe Zip API returned an error when we tried to refund the payment.

More details on these errors can be found within: Tools > Logs > API Integration Log

Frontend Template Integration

Displaying the Zip Payment Option

In order to use the Zip MS within your checkout, you must simply include the following values within your checkout submission:

NameValue
payment_typeproxy-zippay

Example template:

{if $config.microservice_proxyzippay_live}
    {include file="checkout/zippay/payment-methods.tpl.html"}
{/if}

Find the content of the "checkout/zippay/payment-methods.tpl.html" file within the Aurora Demo Example Front-end Templates.

Gotchas

Payment Flow

As mentioned previously in this document, Zip must set up the payment type to match the setting in Auroras Zip plugin settings.
The merchant needs to contact Zip when setting up the integration to set this as follows:

PAYMENT → Zip merchant account must be on “Immediate capture workflow”

RELEASE → Zip merchant account must be on “Authorise and capture workflow“

The plugin has no way to detect which payment flow the merchant account is on.

Merchant account delay

Orders created in Aurora can take several minutes to appear in the merchant dashboard.

Voiding transactions

Zip does not allow voiding a transaction which has had a partial release.

Notes for Testing

When testing the Zip integration, you should keep the following in mind.

SMS Mobile Phone Verification

During testing, Zip sends an SMS for verification. There is currently no mechanism to bypass this in their sandbox environment so a number must be given to which you have access to.

Dummy card details

During testing you may use the following card details to test a checkout.

Card NumberExpiryCVV
4000 0566 5566 555602/22222