craigchristenson / woocommerce-2checkout-api

2Checkout Payment API WooCommerce Payment Module
MIT License
57 stars 43 forks source link

Notify URL input? #44

Closed KoolPal closed 5 years ago

KoolPal commented 5 years ago
if ( ( 'yes' == $this->debug) && ($this->notify_url) && ($this->notify_url !=='') )

as the equality test alone would error if the property is undefined..

Originally posted by @Jon007 in https://github.com/craigchristenson/woocommerce-2checkout-api/pull/32#issuecomment-399343852

Where are you asking for this notify URL input? I cannot see this field in 2checkout API settings at all.

Jon007 commented 5 years ago

We can't find it either, it seems to be an error in the source code.

This line in the source code causes an error when run in debug because notify_url is not set: https://github.com/craigchristenson/woocommerce-2checkout-api/blob/master/twocheckout/wc-twocheckout.php#L366

and indeed notify_url does not seem to be used.... which may be a shame since 2Checkout does seem to have some sort of notify / IPN mechanism, sadly none of the plugins implement this (or any useful logging), not even the paid one from WooCommerce.

This, along with some of the bizarre little-documented rules implemented by 2Checkout make 2Checkout a very painful experience compared to some of the alternatives. [phone number is mandatory for 2Checkout but optional in WooCommerce and not enforced by the plugin and not recommended for Paypal (nor advisable under European law), customers from some countries are silently unsupported (if 2Checkout is unsupported, the 2Checkout option should not be available at checkout rather than returning meaningless error), any error at all results in the same cryptic error message with no clue as to the real error - albeit that's the fault of 2Checkout not this plugin].

KoolPal commented 5 years ago

Thanks for your response.

I agree with the complexity of trying to make 2checkout work.

My experience in last 2 weeks to see ONE successful test transaction using sandbox and different plugins has been bizarre (to put it mildly).

I am waiting for a reply from 2checkout for next steps.

Having said that I realized I will have to drop this plugin as it requires my Woocommerce store to be PCI compliant. I cannot afford to add another layer of complexity to my work for now.

Thanks.

Jon007 commented 5 years ago

good to see I'm not the only one, indeed first successful transaction took weeks and many support calls to both woocommerce and 2checkout. And then the one successful transaction got cancelled, with stern warnings from 2checkout about cardholder-present transactions not being allowed (yes, I tested using my own card from my own computer, and yes since the sandbox/test environment was so unreliable I had given up on that to have a go in live).
All in all a frankly unbelievable saga. Especially compared to how easy it is to setup other payment providers. And yes, tried several different plugins, all equally bad, really has a lot to do with the poor error handling, bizarre rules and scanty documentation from the 2checkout side.

KoolPal commented 5 years ago

@Jon007 What Payment provider have you finally settled with?

In case you have managed to make 2checkout work, are there any notes you can share?

Thanks.

Jon007 commented 5 years ago

To get 2checkout working, as I recall:

This isn't the place to discuss other providers but Stripe admin UI and plugin is an absolute joy to use, compared to both paypal and 2checkout. Stripe only supports shops based in a limited range of countries though, so some shops will need other options. But if your shop country is supported by Stripe you'd be insane not to use that. They even do PCI for you.

KoolPal commented 5 years ago

@Jon007 Thanks a lot for your tips. I shall play around with them.

So far Stripe has not yet launched in my country. I am waiting for them.

Till then I am stuck with dealing with the likes of PayPal and 2 checkout!