Hello,
This is already achievable in the current WHMCS 5.1.x platform. We leave a modifyable template in each template directory with the file name, "complete.tpl".
Within this file lies a specified area for HTML insertion:{if $ispaid}<!-- Enter any HTML code which needs to be displayed once a user has completed the checkout of their order here - for example conversion tracking and affiliate tracking scripts -->{/if}
This also accepts Hook functions defined here:http://docs.whmcs.com/Hooks:Order_Process#ShoppingCartCheckoutCompletePage
Is a GUI editor required past the currently available usage?
17 Comments
Login to post a comment.
Thanks for your continued feedback on this request.
At present, gateways will all redirect to the order complete page when the payment is completed in real-time. However there are situations where payment doesn't complete immediately, or there is a delay in the gateway sending the notification to your WHMCS installation. In those cases, the visitor will be returned to the unpaid invoice with the notice that payment details will be received soon.
Displaying the order complete page and the ispaid condition as true, regardless of the actual payment status would be quite the assumption and might lead to some false positives. What would be the preferred alternative? Some possible ideas:
1. Always assume the invoice will be paid, even before transaction details are received, and trigger automation
2. Always assume the invoice will be paid, even before transaction details are received, and do not trigger automation
3. Add a holding page displaying an interim message, which waits until the transaction information is confirmed and transmitted by the payment gateway.
4. Something else?
Most e-commerce companies redirect you to payment, then to a "processing" page with some kind of loading icon, then a complete page.
Whilst it drags out the process, I'm sure you can find a way to implement this without too much of an issue - perhaps include logic to fall back how it does currently if the PayPal IPN does not confirm within a reasonable period of time.
Kind Regards,
Lee
I think that the current way things are working is ok (gateways will all redirect to the order complete page when the payment is completed in real-time. or if there is a delay the visitor will be returned to the unpaid invoice with the notice that payment details will be received soon.)
The issue here is to add a configurable, WYSIWYG-editable (like email templates, complete with variable) "thank you" page for completed orders. So only when the client get redirect to the order complete page when the payment is completed in real-time - then we want to be able to configure the "thank you" page.
Whilst the reason for voting isn't the same as the initial poster - having all payment modules follow the same "process" and end at the complete.tpl - where you can add tracking scripts, etc.
Currently, PayPal follows a different route to the Stripe or WorldPay modules - all payment modules should be predictable and follow the same workflow within the system, all landing on the 'complete' page once they have completed.
I see that this feature request is in "In Progress" status for a long time...
We need a way to have a configurable "thank you" page / order completed - for every product (not to change the "thank you" page / order completed for all of them - but to be able to set a different unique page for each product).
In this page we should be able to implement Facebook pixel and google analytic - or any other tracking system.
Thanks!
Ram
As an operator, I should be able to programmatically construct the order complete redirect URL. You could do this with a hook, just provide the order ID (at minimum) and I'll respond back with the URL I want them to go to.
They are pretty easy to do, the only thing your going to have trouble with is how you get your "people who bought this" data, maybe from a new table, or just querying the orders table. which ever way will best suit the needs of your hook you will have to decide.
Although to be fair, i think the order complete page would be the wrong place to do it. If you are going to try to up-sell i would have thought this should be done right before your client enters the order summary or right before they are directed to payment.
To be absolutely frank with you, i think the least distractions from completing their order the better. Worry about repeat/extra business later, your support and good service will see returns.
In any case, If i were to do this i would be looking at the orders table, decide which products you would want to promote and then pull out any data that contains any of those and the product that is being ordered. Put together some nifty joins then assign the data to some template vars and your away, its just then a case of deciding where best to interupt your client :)
1) The client is already in the mood to purchase from you, they made that decision, and if they see a product/service from you will benefit them especially after they have made the purchase the percentage is much greater they will by right then. So perfect time to do a upsell.
2) I agree 100% about the least distractions from completing their order the better. That is why any upsells are done AFTER THEY HAVE PAID for the original product or service. You are just complicating and adding distraction to your new client if the upsells are before you pay, thus the reason a GOOD after the sell page is the perfect place for these offers.
3) I wouldn't want a default upsell page. Because the offer for someone that purchases JUST a domain name might be different from a persone purchasing web hosting, or some other item. So the Thank You /Upsell page should be based on the product /services a client orders, if you really want to get the most out of this.
The page is already editable.
The page is already editable.
To be absolutely frank with you, i think the least distractions from completing their order the better. Worry about repeat/extra business later, your support and good service will see returns.
That's exactly my thinking. Once they have ordered, and paid, with the least amount of distractions possible - that's when I want to be able to tell them about other products.
Never before they have paid.
They are pretty easy to do, the only thing your going to have trouble with is how you get your "people who bought this" data, maybe from a new table, or just querying the orders table. which ever way will best suit the needs of your hook you will have to decide.
Although to be fair, i think the order complete page would be the wrong place to do it. If you are going to try to up-sell i would have thought this should be done right before your client enters the order summary or right before they are directed to payment.
To be absolutely frank with you, i think the least distractions from completing their order the better. Worry about repeat/extra business later, your support and good service will see returns.
In any case, If i were to do this i would be looking at the orders table, decide which products you would want to promote and then pull out any data that contains any of those and the product that is being ordered. Put together some nifty joins then assign the data to some template vars and your away, its just then a case of deciding where best to interupt your client :)
I appreciate the reply. As I mentioned, complete.tpl doesn't always work (sometimes you don't see the page, sometimes "ispaid" is erroneosuly false). The variables I'm asking for don't exist, either.
A new, configurable page, with variables, would be great. The GUI makes sense because you already have the code in place for it.
This is already achievable in the current WHMCS 5.1.x platform. We leave a modifyable template in each template directory with the file name, "complete.tpl".
Within this file lies a specified area for HTML insertion:{if $ispaid}<!-- Enter any HTML code which needs to be displayed once a user has completed the checkout of their order here - for example conversion tracking and affiliate tracking scripts -->{/if}
This also accepts Hook functions defined here:http://docs.whmcs.com/Hooks:Order_Process#ShoppingCartCheckoutCompletePage
Is a GUI editor required past the currently available usage?