Here are some questions about order processing behavior that we've answered in this documentation.
When does FunnelKit charge users for primary order?
FunnelKit (formerly WooFunnels) charges the buyer for the primary order right away and presents the upsell offer. It does not wait for buyers to accept or reject upsell offers or complete the funnel.
We have built FunnelKit in a way that under no circumstances you'll lose the initial sale.
If the buyer accepts the upsell, he is charged the offer amount. If he rejects, nothing happens. This process is repeated for all offers in the funnel.
How is FunnelKit able to charge users with a single click?
FunnelKit uses your gateway plugin to send a tokenization request. The gateway returns a surrogate value or algorithmically generated number called a "token". This token is stored in WooCommerce by your gateway plugin.
Upsell then creates a charge against that token if the buyer accepts the offer.
What happens when the funnel is not fully completed?
FunnelKit waits for an interval for the funnel to complete (default 15 mins).
If the user does not complete the funnel within this, it will forcefully end the funnel.
You can manage this time interval from Global Settings > One Click Upsells > Order Statuses.
The order status will switch from Primary Order Accepted to Pending / Processing / Completed depending on where the original order was supposed to go.
Can we merge the upsell order items with the original order or create a separate order?
Absolutely! Based on your Funnel Settings you can manage this behavior:
1. You can merge the upsell order with the primary order
Here is how the complete under the hood process works:
While the user is in the upsell funnel, the order status is moved into a custom order status.
It is an intermediary state when the funnel is running. Once a user completes the funnel or the time of offer has expired, the order status is automatically switched to successful order status.
The label of this custom order state can be managed from Global Settings > One-Click Upsell > Order Statuses
Note: This order state is not visible to your end-user. No emails are sent to your customer. It is only used for internal switching to a successful order state.
Why is it needed?
There can be additional processes such as sending of data to external CRMs which can trigger when the order is successful. By having an intermediate order state, we wait for the upselling funnel to get complete.
Once it is done order status automatically moves to a successful order state. This method enables additional processes to process correct order data.
2. You can create a separate order
If you choose to create a separate order, a new order containing upsell items is created.
There is an additional case where you may want to cancel the original order when a new order is created.
You control these behaviors from the Settings tab within the Upsell Page in the funnel.
Does this behavior change for different gateways?
No. It remains consistent for all supported gateways.
We hope that this document answers all your queries about One-click Upsells in FunnelKit (formerly WooFunnels).