Admins can let users pay with a deposit for all shop products or only a part of them. In the first case, you have to activate the “Enable deposit” option, in YIT Plugins -> Deposits and Down Payments.
At the same time, set the amount requested with the “Deposit Amount” option.
Now users will be free to pay the complete order immediately, or pay with a deposit, as showed in the following image.
On the contrary, if you want to force users to pay a deposit, activate the “Force deposit” option you can find in YIT Plugins -> Deposists and Deposits Payements.
In this case, when users add a product to their cart, they will have to pay the amount of the deposit, and not the complete price of the product.
The options “Enable deposit” and “Force Deposit” can be overwritten within any shop product. The plugin shows to administrators the “Deposit” section in the product page.
Shipping fees are added to the latter part of the order, as they are not paid with the deposit. The shipping method can be selected by the administrators or by users in the cart page. This can be set with the “Shipping Handling” option, in YIT Plugins -> Deposit and Down Payments.
About shipping fees you can:
- Use the default shipping method (the first active one of the list in “WooCommerce -> Settings -> Shipping”
- Select the shipping method among those already activated
To let users decide which shipping methid they want to use, you have to select the “Show shipping selection form to users on single product page” option. In this way, in the product page users will find the related selection form.
Let’s analyze what happens during a purchase with a deposit, describing all steps. In our example, the user adds two different products to the cart and decides to pay one product completely, and the other one (“UNCHARTED 4”) with a deposit: the deposit is 5£ (amount set in the option panel).
In addition to the order total, shipping fees will be added for an amount of 10£.
The cart will look like the following image.
The total amount of the order will be composed by:
- the amounts of the products for which no deposit is requested (50£)
- the total of the deposits available in the cart (5£)
- the shipping fees, if available (10£)
The order total of our example will be 65£.
Once sent, the total will be available in the “Thank You” page, explaining in detail the already paid amount and the remaining due payment.
For each order request the plugin creates a parent order and a specified number of child orders, as many as the deposits paid for parent order.
In this case, one parent and one child order will be generated.
In each child order, you will see the product for which a deposit has been paid.
Parent order refers to the payment request sent already by the customer. As it happens for any other order in the shop, the order takes on the status “On hold” in case of bank transfers or cheques, or the status “Processing” for PayPal payments.
On the contrary, the child order refers to the product for which the deposit has been paid and its amount will be equal to the remaining amount to be paid for the product. If the product is not a “virtual” one, it will also include th shipping fees.+ In our example, the order amount is equal to 74£ divided in this way:
- 64£: remaining amount to pay (69£, minus the 5£ deposit)
- 10£: shipping fees of the product
Users can complete their payment in their “My Account” page.
In the “My Orders” section of the “My Account” page, users can track the status of their orders. When an order contains products paid with a deposit, users will see a screen like the following one with two buttons.
Both buttons let you access to the order detail page.
In our example image you can see only one button as we have paid the deposit for just one product.
In this page, users can complete their payment or cancel it. For the latter, the plugin does not include any refund activity for the possible paid deposit, even if this has been paid through PayPal. This means that admins have to manage refunds manually.
By the way, in this case, the child order will get the “cancelled” status.