• We switched to SDK 3.5 but callbacks made to the wp/woo api are different, than what this plugin expects (check the proceess_payment method). Did the API payload change or is this a general plugin error?

    1. the plugin expects resultCode, Adyen sends eventCode. So since that field isn’t present always, order might be marked as paid for although they really aren’t.
    2. Example: Adyen sends a response with eventCode:AUTHORISATION and success:false, but the plugin ignores this failed.

    I think one needs to check for success:true or at least check if the $result[‘resultCode] is set.

    as an improvement suggestion or enhancement, I would like to request some sort of database logging. This could be easily added by modifying the PGAWC_Adyen_Logger:log method and adding the necessary maybe_create_table to the plugin activation.

    That said, it would be nice to log the API calls made from WC as well as the Notifications received from Adyen (which is what I did in order to being able to debug something)

    global $wpdb;
    	    if (is_object($message)) {
    	        $message = serialize($message);
    	    }
    	    if (is_array($message)) {
    	        $message = json_encode($message, 384);
    	    }
    	    error_log($message);
    	    $now = new \DateTimeImmutable('now', new \DateTimeZone(get_option('timezone_string')));
    	    $wpdb->insert('wp_adyen_log', ['request' => $message, 'created_at' => $now->format('c')]);

    Edit: I saw that the web hooks are stored to _woocommerce_adyen_payment_data but it seems here too the success field, that the handle() method validates is missing.

    Kind regards.

    • This topic was modified 3 years, 7 months ago by lilmofo.
    • This topic was modified 3 years, 7 months ago by lilmofo.
Viewing 7 replies - 1 through 7 (of 7 total)
  • Hello!
    I have same issue!
    Even if the payment was not processed successfully. Our platform receives a message from Adyen that everything is perfect with payment.
    This puts the order in Processing status ?? .
    Maybe someone help us with this bug.
    Thanks

    Thread Starter lilmofo

    (@lilmofo)

    it turns out to be an erroneous line in the handle_sca_redirect() method inside of class-pgawc-adyen-gateway.php (around line ~320).

    if (!isset($payment_details['resultCode'])) {
    // redirecting
    }

    when the customer causes an invalid 3DS response, the resultCode is actually set, thus the if condition is not met.
    A couple of lines later in the code, the order is erroneously set to completed.
    We fixed this by modifying that said if condition.

    Thread Starter lilmofo

    (@lilmofo)

    Unfortunately, the problem seems to go deeper than just fixing a redirect.
    Additionally to the problem outlined above, where a resultCode is set – and this plugin expects it to be not set – we don’t seem to receive the RedirectShopper request at all. So not only is the customer never redirected to its bank/app/3ds process, Adyen only sends us a 3ds failed, which doesn’t make much sense.

    We are urgently looking forward to a bugfix to this problem.

    Leo

    (@leooosterloo)

    Hi there,

    Sorry to hear that you are having problems with with the Adyen connection when using this plugin. Mayby you know the Pronamic Pay plugin, which also supports Adyen via its Adyen Add-on, included in the Pro license. Maybe you can this plugin a try.

    @leooosterloo Pronamic Pay is amazing ! Thank you !!! You save me a lot time !!!

    We try 2 months to fix this plugin !
    But without success.
    Have many bugs.
    I really recommend Pronamic Pay is the best solution for Adyen !!!

    Leo

    (@leooosterloo)

    Glad i could help, thank you for the recommendation.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Plugin not yet compatible with latest SDK Version? Problems with unpaid CC order’ is closed to new replies.