This guide will help you build a payment workflow to manage coupons, vouchers or discounts.
Once you've built your online platform and are successfully accepting and disbursing payments, you might want to provide an incentive to increase the rate of adoption amongst your customer base.
There are a number of ways that we see people achieve this, and the three most common terms used in this approach are coupons, vouchers or discounts. Each approach is usually geared towards the same objective: you want to reduce cost on the inbound side, without diminishing value on the outbound side.
Regardless of which terminology you use to describe the activity, Zai recommends the following approach to make this a more seamless experience. I will use the term voucher from hereon to describe this activity.
Managing Vouchers with Zai
In the example below, I have assumed the following:
- $100 transaction value overall on the inbound side from the buyer
- $20 coupon value
- $10 platform fees
- $90 needs to be paid to the seller on the outbound side
In this example, we also have the following actors:
- Platform (you)
- Voucher User (a generic user used to fund the cost of your vouchers)
- Holding User (a generic user who will hold funds for them to be used in further transactions)
- Seller (a pay-out user)
- Buyer (a pay-in user)
The Voucher Workflow
- Create a User called Voucher User, or similar.
- Create a User called Holding User, or similar.
- Add a bank account to the Voucher User.
- Create an Item for $20 between the Voucher User and the Holding User. (you could also pre-fund the Holding User and have it hold a voucher float of say $1,000). Call make_payment on this Item.
- Release the payment on this Item to the Holding User. The funds are now sitting in the Holding User's digital wallet. (Total $20).
- Create an Item for $80 between your Buyer (inbound payment user) and the Holding User. Call make_payment on this Item.
- Release the payment on this Item to the Holding User. The funds are now sitting in the Holding User's digital wallet. (Total $100).
- Create an Item between the Holding User and your Seller (outbound payment user) for $100. Add your fee for $10 to this Item.
- Release the payment of this Item to your Seller, $90 will be disbursed to them and $10 will be taken as the platform fee.
Don't add a bank account to your Holding User. This user should not have any payment methods at all, if they have an outbound payment mechanism, any funds sitting in their Digital Wallet will be automatically disbursed. We can turn this off, but it means you will need to manually request the funds to be released from your seller's digital wallets to their bank accounts.