Are you running the provider in testMode (the testMode setting should be set to 100)? When in test mode it should dump a lot of information to the log file so it might help you narrow down what's going on.
Unfortunately I'm not too familiar with the WorldPay provider and it looks like it was never documented when it was created. From what I can tell it looks like it works via a webhook confirming the order in the system so I'd be checking that that is being called.
For local dev, testing webhooks can be tricky so I recommend using something like ngrok https://ngrok.com/ to create a public URL you can use that will trigger your local instance.
Thanks for the tip Matt. I am running in testMode 100.
using ngrok and some of the payment provider source it now goes to /base/TC/PaymentContinue/... Am not sure how to go from this to finalising the order though.
If it's hitting the PaymentContinue URL, then that should trigger the following workflow:
1) Identify the requests related payment provider (ids are in the URL)
2) Instantiate the provider
3) Call the providers 'GetCartNumber' method to extract the associated cart number of the order
4) If a cart number is returned, fetch the order
5) Call the providers ProcessCallback method, processing info from the request returning an ApiInfo object with transaction details
6) If an ApiInfo object is returned, and the provider is configured to finalize on continue, then trigger finalizing the order
7) Redirect the request to the providers continue URL
If the ngrok request is routing through, you should be able to debug into GetCartNumber to make sure it is extracting the order number correctly, and if that is fine, then into the ProcessCallback method to ensure it is processing the transaction information correctly.
So I think its failing in GetCartNumber looking at the code its expecting the data in request.Form but the request I can see the information is a on the QueryString.
Maybe something has changed :(
Also I cant seem to debug with the PaymentProvider code.
World Pay testing success but not showing as an order
Hi,
I have WorldPay setup using https://our.umbraco.com/packages/website-utilities/tea-commerce/tea-commerce-support/58060-WorldPay-support#comment-198372 as a guide I get confirmation emails (via WorldPay). However my orders stay as CART and initialised in the TC UI.
I can see nothing in the Umbraco log files.
Any help greatly appreciated
Matt
Hey Matt,
Are you running the provider in testMode (the testMode setting should be set to 100)? When in test mode it should dump a lot of information to the log file so it might help you narrow down what's going on.
Unfortunately I'm not too familiar with the WorldPay provider and it looks like it was never documented when it was created. From what I can tell it looks like it works via a webhook confirming the order in the system so I'd be checking that that is being called.
For local dev, testing webhooks can be tricky so I recommend using something like ngrok https://ngrok.com/ to create a public URL you can use that will trigger your local instance.
Thanks for the tip Matt. I am running in testMode 100.
using ngrok and some of the payment provider source it now goes to
/base/TC/PaymentContinue/...
Am not sure how to go from this to finalising the order though.Any pointers?
Hi Matt,
If it's hitting the
PaymentContinue
URL, then that should trigger the following workflow:1) Identify the requests related payment provider (ids are in the URL)
2) Instantiate the provider
3) Call the providers 'GetCartNumber' method to extract the associated cart number of the order
4) If a cart number is returned, fetch the order
5) Call the providers
ProcessCallback
method, processing info from the request returning anApiInfo
object with transaction details6) If an
ApiInfo
object is returned, and the provider is configured to finalize on continue, then trigger finalizing the order7) Redirect the request to the providers continue URL
If the ngrok request is routing through, you should be able to debug into
GetCartNumber
to make sure it is extracting the order number correctly, and if that is fine, then into theProcessCallback
method to ensure it is processing the transaction information correctly.Hope this helps
Matt
So I think its failing in
GetCartNumber
looking at the code its expecting the data inrequest.Form
but the request I can see the information is a on the QueryString.Maybe something has changed :(
Also I cant seem to debug with the PaymentProvider code.
Matt
Ngrok was the solution. As the order is finalized via a webhook.
Matt
is working on a reply...