The set of rules that comes with Commerce Node Checkout is being triggered on the event 'Completing the checkout process'. Even if the customer selects the payment method 'bank transfer' (https://www.drupal.org/project/commerce_bank_transfer), the order is set to 'completed' and the nodes are being published as soon as the order is submitted - instead of when the payment is received, which might be several days later, or maybe never.

In order to fix this, I suggest triggering the set of rules on the Commerce Payment event 'When an order is first paid in full', which triggers automatically is the customer pays by credit card etc. and may be triggered manually when the customer pays by bank transfer, check and alike.

Comments

luxpir’s picture

Just chiming in to agree with this - is still the case at end of 2016.

You can abandon the cart and still have the node published.

Added the condition:

Order balance comparison
Parameter: Order: [commerce_order], Operator: =

To the Publish the nodes that were purchased to ensure payment in full before publishing. I used the value 0, as indicated in the help text.

Testing. Will edit if there is an issue with this, but it should do the trick. Anyone else do anything different?

EDIT: Nope, that doesn't work. Back to drawing board. Will report on any solutions found.

luxpir’s picture

Solution found. The module still works as intended.

I didn't make the content type unpublished by default. So go to your content type, do that, and then abandoned carts don't result in published nodes. Not sure if original query is answered though - I don't allow bank transfer as a payment method.