• Resolved Marco1970

    (@marco1970)


    Hi,

    really confusing here. Why some payments come back to webshop as ‘Reserved’ instead of ‘Captured’? Does that depends on user app settings?

    This complicates things because I will never know if payment was OK. Customers have actually paid, but payment is marked as reserved, and order as ‘p? vent’.

    And to make it processing, I have to capture explicitly, but then customer might be charged twice.

    Very very confusing

    m

Viewing 4 replies - 1 through 4 (of 4 total)
  • Thread Starter Marco1970

    (@marco1970)

    Hi just want to add that

    1) some payments are captured, some not. so it is not a general consistent behaviour

    2) my products are virtual, so no shipping involved

    that is, it seems to me it is either random or depends on user app

    which is not ideal

    m

    Plugin Author Iver Odin Kvello

    (@iverok)

    This is due to norwegian law, european law, best practice for e-commerce as interpreted by Forbrukerr?det and the agreements you have with the payment providers.

    Long story short: you can normally capture the payment for orders when the orders are (in the process of being) sent or delivered. Before that, you can only reserve the funds from the customers’ account. Based on the documentation available from WooCommerce for payment gateways with this feature, this was interpreted as being possible in the “Processing” status, with the “On-hold” status being used for orders not yet captured.

    When the order is set to “Processing” it will be captured automatically. It is only possible to capture the payment once, so there will be no duplicate charges. You can refund after capture, but you cannot re-capture funds that have been refunded.

    A special case: Orders that are delivered as soon as the order is completed, will be captured at once. In WooCommerce, by default, these are orders where all items are both “virtual” and “downloadable”. You can extend this by modifying the “needs_processing” filter on the order. If it doesn’t need processing, it will be automatically captured.

    As the “On-hold” status has other meanings, one of which “There is a problem with your order”, very many payment gateways use the “Processing” status instead of on-hold after the order has been processed, with the money being captured only when the order is set to “Complete”. You can select this for Vipps too in the payment gateway settings, which you will find in WooCommerce/Settings/Payment/Vipps (/wp-admin/admin.php?page=wc-settings&tab=checkout&section=vipps)

    If you do this, you should complete shipping only after setting to complete (or manually capturing) to avoid any chance of the capture failing. This seems to basically never happen, but still. Keeping that in mind, you may prefer this flow.

    If you need to capture all order payments automatically, even if they require shipping/processing, this counts as pre-payment of the order, and will require explicit consent from the customer (in your terms and condition) and a special agreement with Vipps.

    Currently, partial capture of orders is not possible, but this can be implemented at some point.

    So to sum up; you may want to choose “Processing” as your end-state in the Vipps settings, you cannot charge the customer twice, and capture will happen automatically either in the “Processing” stage or the “Complete” stage.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Hi just want to add that

    1) some payments are captured, some not. so it is not a general consistent behaviour

    2) my products are virtual, so no shipping involved

    that is, it seems to me it is either random or depends on user app

    which is not ideal

    Yeah, “Virtual” in WooCommerce means “does not need shipping”, but not neccessarily not “Needs processing”. If you mark the products as “Downloadable” they will however not “need processing”. If your products in general do not “need processing”, which would mean that they are delivered as soon as/at the same time that they are purchased, you will need to either tick of the “downloadable” thing or modify a filter.

    Otherwise you will need to manually set the orders to “Complete”, or automate this somehow. As previously stated, you don’t need to use the ‘on-hold’ status if you would prefer not to do so.

    Just to be complete, to make your order items not “need processing” without using the “downloadable” checkbox, you need to modify this filter:

    'woocommerce_order_item_needs_processing'

    It takes three arguments, the first being if it is currently known to need processing, the WC_Product object, and the order item id. You can for instance make a new checkbox for this, if all your products are like that, just return false.

    Thread Starter Marco1970

    (@marco1970)

    WOW,

    thanks a million, lengthy and superb explanation, thanks!!

    ok, I will make the product (only one..) downloadable, and that should be enough then.

    m

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Reserved versus captured’ is closed to new replies.