Create a transactions
To create a Zip transaction, set themethod
to zippay
and the redirect_url
to the endpoint of your application that can handle the customer returning once they’ve completed approving the transaction on the Zip site.
See the POST /transactions
API endpoint for more details.
status
set to buyer_approval_pending
as well as a payment_method.approval_url
.
About tokenization
If your Zip account supports recurring payment, then you can pass thestore=true
parameter to each request to vault a Zip agreement for future use.
Once stored, you can use the vaulted Zip agreement for future transactions without redirecting the buyer to Zip.
Handle redirect to Zip
Your application will need to redirect your customer to Zip where they will be required to approve the payment. To do so, redirect the customer to thepayment_method.approval_url
. After they’ve authenticated themselves, the customer will be redirected back to the redirect_url
that you set when creating the transaction.
If the customer abandons the checkout or somehow experiences network
connection issues, the transaction state can get out of sync between your
application and ours. We recommend the following best
practices in handling these situations.
Handle the return to your app
When the customer is redirected back to your app, the transaction status is not known. Your application will therefore need to call our API to get the latest transaction status. To do this, yourredirect_url
will be appended with the transaction_id
.
Although we also provide the
transaction_status
in this callback, it’s
recommended to also fetch the latest status via the API, as the status may
have changed since.Fetch the latest status
Finally, after the transaction has been created your application can get the latest details and status using the transaction ID received via the callback to the redirect URL, or on direct callback from the API.Visit the API reference documentation for full details about the
transaction resource, and any other API.