• Resolved horgster

    (@horgster)


    Hi!

    We are an voluntary organization, and 90% of our products that we shell is pre-paid virtual products, such as “Memberships” and tickets to planned trips.
    VIPPS is fully aware of this and have accepted that we operate like this in our org.

    For us it do not make any sense that these products shall be out “on-hold” as it is according to regular physical products (clothes, shoes etc). This just increase our voluntary administration, as we have limited resources.

    It would be great and would ease our administration if “VIPPS Checkout” could add and additional drop down menu for virtual and downloadable products. The goal here is that these purchases should be set to “Completed” right away.

    So to sum up, the plugin should have these settings:
    Order status on return from Vipps for physical products
    Order status on return from Vipps for virtual products

    The Virtual Products should have the possibility to set Completed right away.

    Best Regards
    Horgster

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Iver Odin Kvello

    (@iverok)

    You can choose “Processing” instead of “On-Hold” if that is more convenient. If you do, capture of funds will only occur on “Completed”, or manual capture.

    However, your issue for virtual products can probably be solved easier. WooCommerce has two concepts for an order/the products in an order, which are “needs shipping”, and “needs processing”.

    If a product is “Virtual” it does not “need shipping”. However, it can still require “processing”, which can be any type of neccesary work to be done before the product is “delivered”.

    The only standard way in WooCommerce to note that a product does not need “processing”, because it is delivered as soon as the purchase is completed, is to mark the product as “Downloadable”. If you have an order of products that are all “virtual” and “downloadable”, the order will go straight to Completed, and the funds will be capitalized at once.

    If I understand you correctly, the products you are referring to above do not in fact “need processing” and can therefore go directly to “Completed”.

    However to accomplish this, you must either mark them as “downloadable”, or you will need to hook into the standard WooCommerce filter

    'woocommerce_order_item_needs_processing'

    which takes the arguments ($needs_processing, $product, $orderitemid)

    Now, if you do mark the products in question as “Downloadable”, you don’t actually need to add any downloadable content to them, so I would guess this should give you the behavour you want.

    This is not very intuitive of course, but it is all standard WooCommerce rules.

    Thread Starter horgster

    (@horgster)

    Hi @iverok

    Thanks for god explanation. Agree that this was not very intuitive.

    Yes, marked one product to “downloadable” and the behavior is correct and after purchase the order goes straight to “completed”.

    I guess this will work for us.

    Cheers
    Horgster

    Plugin Author Iver Odin Kvello

    (@iverok)

    Yes, the issue is that one has to mark products that don’t have any “downloads” as “downloadable” to get the default “does not need processing” behaviour. But thats the current Woo mechanism.

    Thread Starter horgster

    (@horgster)

    I am not sure if if this could be an good idea?
    What if you add the processing options in the VIPPS section of all products as an override?

    Example:

    As an voluntary organization we sometimes has to require pre-payment in scenarios where we are ordering an new batch of merchandise (e.g hoodie) with logo from factory.

    In this case this will be an physical product which also needs shipping (in the end).

    In these cases, full pre-payment must be carried out in advanced.

    Hence here “On-Hold” is not sufficient.

    Believe more org, like us would need this.

    Thanks
    Horgster

    Plugin Author Iver Odin Kvello

    (@iverok)

    This is actually regulated by law and your agreement with Vipps; and “pre-payment” is exactly the issue. If you capture the funds before sending the merchandise (which makes it pre-payment), this must be explicitly agreed to by the customer and your payment processor must allow it. That is way the logic is at is is with reserve/capture.

    (It is possible to have an agreement with Vipps which captures the funds at once, but I’m not sure about the details. Also I think it would then do that for all products).

    In this case, you would need to ensure your agreements with Vipps and the customer (in your terms-and-conditions) allow pre-payment, and then implement your own logic for this. There are then several ways to do this, but the easist is to just capture the funds for these orders (setting their status to “Processing” if neccessary. To do so, just call

    Vipps::instance()->gw()->maybe_capture_order($orderid);

    For the orders in question. For manual capture, there is the big orange button.

    As for the “on-hold” status: You can instead use the “Processing” status if you prefer, but the funds will then only be captured on “Complete” (or manually, or using the above mechanism). The reason “on-hold” is used is because I used reference documentation from WooCommerce for this logic that did so for reserve/capture flow; normally however “Processing” is a much more useful state since “On-hold” has the secondary meaning of “a problem exists with the payment of the order”. There is also a small error condition that is avoided, but that appears to never occur in practice.

    Thread Starter horgster

    (@horgster)

    Hi @iverok

    We have informed VIPPS, that in some cases that we must and have to perform pre-payment as we are an “voluntary organizations” and don’t have the economic strength to the take risk to order produce “merchandise” with logo print.

    Hence in our “Salgsvilkår” we have clearly in §5 stated that “Varer som selges som en del av en felles samlebestilling kan selger kreve forhåndsbetaling fra det tidspunktet varen er bestillt fra kjøper.” ref: https://www.oslokiteklubb.no/?page_id=4153

    VIPPS has approved our “Salgsvilkår” and hence we have the production keys to VIPPS.

    If VIPPS was to reject this, organizations like us can’t operate.

    That is way I think that this function is needed and should be possible to flag on the product it self.

    Cheers
    Horgster

    • This reply was modified 5 years, 8 months ago by horgster.
    • This reply was modified 5 years, 8 months ago by horgster.
    Plugin Author Iver Odin Kvello

    (@iverok)

    If you have the neccessary agreement with Vipps, you can arrange for the capture to happen automatically (with SALE instead of RESERVE). This does not require any configuration in the plugin. It will however make all purchases “forhåndsbetaling”. You will need a special agreement with Vipps for this.

    As for the plugin, if you have the neccessary agreements you can modify the behaviour of the plugin as you see fit (by adding plugins, child theme etc), but the standard mode of operation is to not allow automatic capture of products that “need processing”, and we don’t add further ‘product states’ to the standard WooCommerce setup – that would be beyond the scope of this plugin.

    You can also capture the funds manually for all orders that are on-hold or processing; you do not need to set the order status to “complete” to do so. There is a button for this on each order (that is not yet captured). If you have a large enough volume of orders, automating this can be done as sketched above.

    We don’t yet support *partial* capture, but it is possible to do so and will happen at some point. The issue is that Woo does not have a user interface for this to extend.

Viewing 7 replies - 1 through 7 (of 7 total)

The topic ‘Order status on return from Vipps for Virtual Products’ is closed to new replies.