Charge a payer but don't let the merchant withdraw the funds to their bank account until some trigger condition is met. Note, this is different from Tipping Point Payments where payers' credit card information is collected but not charged until a tipping point or trigger condition is met.
Assume you are a platform that helps small businesses sell their goods. Someone orders a physical good from one of your small businesses. You want to charge the payer immediately, but you don't want to release the funds to the small business until the item is shipped.
At WePay, the small business is the merchant and buyers are payers and we'll use those terms below.
You will charge the customer like normal with the /checkout/create call, and set the auto_capture flag to false to indicate that you want the payment reserved. Once you want the payment to be made available to the merchant, you will make another API call (/checkout/capture).
There are two options to facilitate charging the card for delayed payouts.
- iFrame - iFrame uses the /checkout/create API call to obtain a checkout_uri which will be embedded on your site to let the payer complete the payment. This method lets you use WePay's pre-built and optimized form to collect credit card information. As information is shared securely between the browser and WePay, any PCI compliance is avoided.
- Tokenization - Tokenization uses WePay's tokenization.js to obtain a credit card token which can then be used to charge the card with the /checkout/create API call. This method lets you use your own form to collect credit card information. As there is exposure to developer error or fraud, some PCI compliance is required.
Important Note: It is important to know that you can only delay payout for 14 days. If the payment has not been captured 14 days after initial payment, it will be refunded. If your use-case needs to delay payout for longer than 14 days, then you might want to take a look at tipping-point payments.