Partial Payments Logic #
For smooth operations, it is important to understand the logic of partial payments added by our plugin.
Our plugin adds a custom post type ( slug : wcdp_payment ) which is similar to standard woocommerce orders, these posts are named “Partial Payments”.
Once order is created, if order has a deposit, Partial payments will be created as children posts of the main order, these partial payment posts only serve one purpose which is to be forwarded to checkout and gateways at the time of making payment, the amounts are automatically synced with any changes made to parent order.
Order Editor #
Adding / Recalculating Deposit #
It is possible to add deposit to a non-deposit order or to recalculate existing deposit values for an orders by clicking on the button “Recalculate Deposits”.
Clicking “Recalculate Deposit” will open up an interface to set new values for deposit. You can set new values to calculate deposit and click “Save” .
Enable Deposit: when checked, a deposit will be calculated for this product. If left unchecked, full amount will be charged in deposit (first payment).
Order Item: name of order item.
Amount Type: type of deposit.
Deposit: either deposit amount or a payment plan (if Amount Type is set to payment plan).
Additional Settings : settings that affect the calculation of Fees, Taxes, Shipping, Coupons handling.
For more information, please refer to settings section.
If you wish to remove all existing deposit data you should click the button “remove order deposit data”.
Partial Payments details #
All the partial payments for order are displayed in meta box “Partial Payments”, you can click on any of these partial payments to navigate to the single partial payment page.
The structure of Partial payments can be either an itemized list inherited from main order items or it can be a single line fee.
This behavior can be adjusted from the option ” Partial Payments Structure ” in plugin settings. For more information, please refer to settings section.
In Edit Partial Payment interface , you can find “Partial Payments” metabox in side bar. In that box you can find date value to set or change due date for payment.
Handling refunds #
The right way to have refund recorded through woocommerce is to issue refund for the main order and then set status to refunded , this is to set numbers right in woocommerce but it does not actually refund any payment through gateway.
To refund payment through gateway you need to navigate to partial payment post from “Partial payments” metabox and issue refund through the gateway for the total / partial amount.
The partial payments post role is to make sure the amount forwarded and charged by gateway is correct at each payment and to make it easy to refund that payment fully / partially.