Skip to main content
added 8 characters in body
Source Link
Jeremy Daalder
  • 7.6k
  • 14
  • 26

I don't think you can do it like that - in Commerce, the order gets completed when a payment is made.

Fortunately, you can use the manual payment mechanism, which automatically completes the order, as the fake 'payment' type to get this to occur. Just go in to Commerce settings and create a new payment type of 'manual' set to 'authorize only', and give it a name like 'Get Quote'.

To actually complete the order, you'll need to post the manual paymentIDpaymentMethodId to a call to commerce/payments/pay. If you're doing this in a contact form, you'll have to intercept the form submit and post this via AJAX I guess.

Alternatively you could write your own controller to complete the order with some plugin code, but the above solution is essentially built in an intended for this sort of thing.

I don't think you can do it like that - in Commerce, the order gets completed when a payment is made.

Fortunately, you can use the manual payment mechanism, which automatically completes the order, as the fake 'payment' type to get this to occur. Just go in to Commerce settings and create a new payment type of 'manual' set to 'authorize only', and give it a name like 'Get Quote'.

To actually complete the order, you'll need to post the manual paymentID to a call to commerce/payments/pay. If you're doing this in a contact form, you'll have to intercept the form submit and post this via AJAX I guess.

Alternatively you could write your own controller to complete the order with some plugin code, but the above solution is essentially built in an intended for this sort of thing.

I don't think you can do it like that - in Commerce, the order gets completed when a payment is made.

Fortunately, you can use the manual payment mechanism, which automatically completes the order, as the fake 'payment' type to get this to occur. Just go in to Commerce settings and create a new payment type of 'manual' set to 'authorize only', and give it a name like 'Get Quote'.

To actually complete the order, you'll need to post the manual paymentMethodId to a call to commerce/payments/pay. If you're doing this in a contact form, you'll have to intercept the form submit and post this via AJAX I guess.

Alternatively you could write your own controller to complete the order with some plugin code, but the above solution is essentially built in an intended for this sort of thing.

Source Link
Jeremy Daalder
  • 7.6k
  • 14
  • 26

I don't think you can do it like that - in Commerce, the order gets completed when a payment is made.

Fortunately, you can use the manual payment mechanism, which automatically completes the order, as the fake 'payment' type to get this to occur. Just go in to Commerce settings and create a new payment type of 'manual' set to 'authorize only', and give it a name like 'Get Quote'.

To actually complete the order, you'll need to post the manual paymentID to a call to commerce/payments/pay. If you're doing this in a contact form, you'll have to intercept the form submit and post this via AJAX I guess.

Alternatively you could write your own controller to complete the order with some plugin code, but the above solution is essentially built in an intended for this sort of thing.