Zip

Zip offers one of the leading buy now, pay later services in Australia through their Zip Pay and Zip Money products. With Zip, consumers have the flexibility to customise their repayments schedule - from weekly, two-weekly, or monthly payments. After consumers select the Zip payment method, they are redirected to Zip’s website to sign into their Zip account. This page contains information on both Zip Pay and Zip Money.

Payment Method Properties

Available country codesAU
Processing (Presentation) currenciesAUD
Settlement currenciesAUD
Consumer currenciesAUD
Channel member tagzip
Scheme name in the settlement fileZIP
Minimum transaction amountAUD 0.01
Maximum transaction amountZip Pay: Credit limit up to AUD 1,000 / Zip Money: Credit limit up to AUD 50,000

The approved credit limit depends on the user's eligibility.
Session timeout168 hours 20 minutes
RefundFull
Partial
Multiple partial
Refund ValidityNo time limit on refund
ChargebackYes
Integration TypeAsynchronous
SandboxPPRO-hosted

👍

Chargebacks

A consumer could dispute a transaction when they are unable to resolve the situation directly with the merchant. A consumer files a chargeback with Zip who subsequently submits a request to PPRO inquiring about the transaction. PPRO notifies the PSP/merchant to provide full details and supporting documents for dispute/complaint. The PSP/merchant is required to provide a response to PPRO within 10 business days. If the dispute is confirmed as a legitimate chargeback by Zip, the funds for the chargeback will then be deducted from one of PPRO’s next settlements. For more information see the Zip Chargebacks.

Transaction Flow

  1. The consumer goes to the merchant's checkout page and selects ZIP as the payment method.
  2. The merchant or Payment Service Provider (PSP) sends a ZIP transaction request to PPRO.
  3. PPRO creates a checkout request to ZIP.
  4. ZIP returns the checkout response and the redirect URL.
  5. PPRO returns the redirect URL to the ZIP payment page.
  6. The merchant/PSP forwards the redirect URL to the consumer.
  7. Consumers use their account credentials to login, or sign up for a new ZIP account.
  8. ZIP returns the application result to PPRO.
  9. PPRO creates a charge request and sends it to ZIP.
  10. ZIP returns the charge status to PPRO.
  11. PPRO forwards the charge status to the PSP or the merchant.
  12. The consumer is redirected back to the merchant's return URL.

👍

Note

In Step 11 above, if the transaction status is unknown, PPRO sends a check status call to ZIP. ZIP then checks the status and returns the result.

Integration

Specific input parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
specin.phoneOStringStandard phone number validationThe consumer’s phone number. For USD, the phone number will be auto-populated on Zip’s checkout page which will be used for receiving OTP.
specin.billingaddrline1OString.*Line 1 of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrline2OString.\*Line 2 of the billing address.
specin.billingaddrcityOString.\*City of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrstateOString.\*State of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrpostcdeOString.\*Postal code of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrcntryOString.\*Country of the billing address. Only ISO 3166 alpha-2 format is accepted. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrfirstnameOString.\*First name of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.billingaddrlastnameOString.\*Last name of the billing address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.shippingpickupOBoolean(false|true)Accepted value is true or false:

true = item is for for pickup

false = item is for shipping

If this parameter is not passed, the default that will be passed to Zip is 'false' unless the consumer chooses self pickup.
specin.shippingaddrline1OString.\*Line 1 of the shipping address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.shippingaddrline2OString.\*Line 2 of the shipping address.
specin.shippingaddrcityOString.\*City of the shipping address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.shippingaddrstateOString.\*State of the shipping address. Recommended field to pass as it may help in investigation, if any dispute arises
specin.shippingaddrpostcdeOString.\*Postal code of the shipping address. Recommended field to pass as it may help in investigation, if any dispute arises.
specin.shippingaddrcntryOString.\*Country of the shipping address. Only ISO 3166 alpha-2 format is accepted. Recommended field to pass as it may help in investigation, if any dispute arises.
transientin.orderitemsOStringStringified JSON arrayAn array of items in the customer's cart that is being purchased, where each item has the following attributes:

name : the name of the item

amount: the amount being paid for this item in major units

quantity: the quantity of the item

type - one of sku, tax, discount or shipping

[{"name":"pen","amount":2.00,"quantity":1,"type":"sku"},{"name":"pencil","amount":1.00,"quantity":1,"type":"sku"}]
Note: amounts should be in major units, accepted values for type are sku, tax, shipping and discount.

Recommended field to pass as it may help in investigation, if any dispute arises.

For standard input parameters, see Input parameters for the TRANSACTION call.

Specific output parameters for the TRANSACTION call

Field NameTypeDescription
specout.receiptNumberStringZip transaction receipt number
specout.productStringZip product name e.g. ZipPay, ZipMoney3, ZipMoney6, ZipMoney12, ZipMoney24, ZipMoney36
specout.customerEmailStringCustomer's email address
specout.customerFirstNameStringCustomer's first name
specout.customerIdStringZip customer details
specout.customerLastNameStringCustomer's last name/surname

For standard output parameters, see Output parameters for the TRANSACTION call.

Specific input parameters for the REFUND call

The refunded amount is credited to the consumer’s Zip balance who paid for the original transaction.

Field NameM/O/CTypeRegexDescription
specin.refundreasonOString\*The reason for the refund. If this parameter is not passed, the default that will be passed to Zip is refund.

TRANSACTION call input

tag=zip
&txtype=TRANSACTION
&countrycode=AU
&currency=AUD
&amount=350
&merchanttxid=sale1001
&login=clientlogin
&password=pass123
&contractid=ZIPLTD
&channel=livechannel
&merchantredirecturl=https%3A%2F%2Fwww.example.org%2Ffeedback.php
&notificationurl=https%3A%2F%2Fwww.example.org%2Fnotification.php
&accountholdername=jon+dow
&specin.email=test.tester%40testing.com%0A
&specin.phone=0400000000
&specin.shopperfirstname=jon
&specin.shopperlastname=dow
&specin.shippingpickup=true
&specin.shippingaddrline1=535+Geelong+Road
&specin.shippingaddrcity=Brooklyn
&specin.shippingaddrpostalcde=3141
&specin.shippingaddrstate=VIC
&specin.shippingcntrycde=AU
&specin.billingaddrline1=10+Spring+Street
&specin.billingaddrcity=Sydney
&specin.billingaddrpostalcde=2000
&specin.billingaddrstate=NSW
&specin.billingcntrycde=AU
&specin.billingaddrfirstname=jon
&specin.billingaddrlastname=dow
&transientin.orderitems=%5B%7B%22name%22%3A%22pen%22%2C%22amount%22%3A3.50%2C%22quantity%22%3A1%2C%22type%22%3A%22sku%22%7D%5D&returnmode=urlencodeexttag=zip
22pen%22%2C%22amount%22%3A3.50%2C%22quantity%22%3A1%2C%22type%22%3A%22sku%22%7D%5D
&returnmode=urlencodeext

TRANSACTION call output

STATUS=SUCCEEDED
&TXID=123887123
&ERRMSG=
&CHANNEL=livechannel
&MERCHANTTXID=sale1001
&TAG=zip
&SPECOUT.RECEIPTNUMBER=174123075
&REDIRECTSECRET=dcn94nd2oud8eedhg38dkhed
&FUNDSSTATUS=WAITING

Test Data

For test consumer account credentials, click here.