We have scenarios where the order could be zero. How does vendr handle this? Will it still complete the order as if it was paid for or would we need to do some manual (in code) updates?
We recently had to implement this in the Vendr.Checkout package and the way we have done it is that in Vendr we now ship a "Zero Value" payment provider with the core. This payment provider essentially just lets the payment through, marking the order as paid, and sends you to the continue URL.
To use it, you'd have to setup a zero value payment method (probably hiding it on your payment providers list on the front end) but then when you get to the payment stage of the checkout (which should be the last stage) if there is nothing to pay, then force the selection of the Zero Value payment provider, otherwise let the person choose.
There may be a nicer way to do this in future, but this is how TC did it and we just needed to get something in place, so for now, this is the approach you'd need to follow.
In addition to that we need to create a new payment provider (sagepay direct) because the client is adamant they want to take cc details on the site without redirecting the user to (qoute) 'one of those ugly payment pages'. :D
Lol. SagePay is definitely on our list, however we'd be going the hosted page route.
Inline is certainly possible, but it's just not the route we are focused on for our core supported payment providers, purely due to the amount of integration work we find they need (The Inline Stripe provider for TC has been an absolute nightmare to maintain).
Would love to hear how you get on with it though 👍
How does vendr handle zero value orders?
Hi Matt
We have scenarios where the order could be zero. How does vendr handle this? Will it still complete the order as if it was paid for or would we need to do some manual (in code) updates?
Thanks
Hey Sean,
We recently had to implement this in the Vendr.Checkout package and the way we have done it is that in Vendr we now ship a "Zero Value" payment provider with the core. This payment provider essentially just lets the payment through, marking the order as paid, and sends you to the continue URL.
To use it, you'd have to setup a zero value payment method (probably hiding it on your payment providers list on the front end) but then when you get to the payment stage of the checkout (which should be the last stage) if there is nothing to pay, then force the selection of the Zero Value payment provider, otherwise let the person choose.
There may be a nicer way to do this in future, but this is how TC did it and we just needed to get something in place, so for now, this is the approach you'd need to follow.
Hope that helps
Matt
As some additional reference, here is the code we use for the Vendr.Checkout packages "Payment Method" selection page
https://github.com/vendrhub/vendr-checkout/blob/dev/src/Vendr.Checkout/Web/UI/App_Plugins/VendrCheckout/Views/VendrCheckoutPaymentMethodPage.cshtml
Matt
Thanks Matt thats helpful.
In addition to that we need to create a new payment provider (sagepay direct) because the client is adamant they want to take cc details on the site without redirecting the user to (qoute) 'one of those ugly payment pages'. :D
Lol. SagePay is definitely on our list, however we'd be going the hosted page route.
Inline is certainly possible, but it's just not the route we are focused on for our core supported payment providers, purely due to the amount of integration work we find they need (The Inline Stripe provider for TC has been an absolute nightmare to maintain).
Would love to hear how you get on with it though 👍
Matt
is working on a reply...