Since Updating To 4.14.2 From 4.11.2 Sagpay Form Orders Are Sat As Unpaid Not Paid?

Hi - this must be a small fix, orders are sat with status 'O' not 'P' when successfully paid via sagepay form?


OK I compared the old code vs new and for some reason this line was removed from line 40 -

$pp_response['order_status'] = 'P';

I put it back in and it works. :confused:


I am afraid, but there never was such a code there. The order_status is defined here:

    $result = decryptAes($_REQUEST['crypt'], $processor_data["processor_params"]["password"]);
    preg_match("/Status=(.+)&/U", $result, $a);
if (trim($a[1]) == "OK") {
    $pp_response['order_status'] = ($processor_data["processor_params"]["transaction_type"] == 'PAYMENT') ? 'P' : 'O';

Please check if there are any changes in the app/payments/sagepay_form.php file of your installation, compared to the original file from the installation package.