Kryptronic Software Support Forum

You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.

#1 02-13-2015 07:11:53

kev
Member
Registered: 03-16-2009
Posts: 399

Sage Pay - version 2.23 Form will not work on July 31st 2015

I've just had an email from Sage Pay saying that version 2.23 Form will be removed on July 31st 2015

Sage Pay Version 3 will be the only option after the above date

Nick - please say that you will be updating the Sage Pay Form Processing Gateway well before this date as most of my orders go through Sage Pay

Offline

 

#2 02-13-2015 10:28:43

zanart
Member
From: bedford
Registered: 04-02-2008
Posts: 1706

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Hi

The email states
    July 31st 2015 -  support for older payments systems (v2.0-2.23 Form) will be removed


I dont think this means it will stop working, just they will stop supporting it??

I think Nick is on it anyway.

Rob


Rob

Offline

 

#3 02-13-2015 15:25:23

kev
Member
Registered: 03-16-2009
Posts: 399

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Hi

I was thinking 'support' meant tech support as well, but when I spoke to Sage Pay support they said that the older versions will stop working.  They also said that version 3 will make Sage Pay Form work on mobile devices and tablets as version 2.0-2.23 do not.

I've read over the tech document and the changes would be quick for Nick to implement with his coding skills.

Offline

 

#4 02-20-2015 10:59:02

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

I've got a job in our system related to this.  Expect the new version in an update.


Nick Hendler

Offline

 

#5 03-20-2015 05:52:07

kev
Member
Registered: 03-16-2009
Posts: 399

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

I hope the update is available before July as I have just had an email from SagePay that states:

"Important – Mandatory changes required on your account
You are not running our latest protocol and need to upgrade to V3. On 31 July 2015 support will be discontinued
for your current version and you may not be able to process payments. To avoid any interruption of service
please visit our website wwwsagepay.com/migrate for instructions on how to upgrade to V3."

Offline

 

#6 03-20-2015 09:03:23

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Yes, we have a couple of ongoing tickets open on this.


Nick Hendler

Offline

 

#7 05-11-2015 09:01:34

Hotplugs
Member
Registered: 07-01-2014
Posts: 23

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Hi, has there been any progression with this?  I'm getting letters and phone calls from Sagepay about this

Offline

 

#8 05-13-2015 04:08:28

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

We are too.  The updates needed for this are on the schedule to be completed next week.  All users with tickets pending in our ticket system will receive a notice that the update is ready, with install instructions.


Nick Hendler

Offline

 

#9 05-27-2015 03:53:59

kev
Member
Registered: 03-16-2009
Posts: 399

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Is there an update yet for the Sage Pay processing gateway code as Sage Pay are sending me emails stating:

"The deadline for upgrading to Sage Pay Version 3 is July 31st 2015, after which you will not be able to process payments and support for your current version of Sage Pay will be discontinued."

Is the update a matter of changing the php code in 'Form Display Code' or does the update involve changes to other code within Europacart ?

Offline

 

#10 05-27-2015 05:41:49

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Hi kev.  Please submit a support ticket on this (https://kryptronic.com/Form/TECHTICKET) and I'll get you on the notification list for when these updates are available.  I'm working on it currently and hope to have it finished up and ready sometime next week, but it will definitely be ready within two weeks.  Just get on the list by submitting a ticket and you'll be the first to know it's ready.


Nick Hendler

Offline

 

#11 06-02-2015 10:48:50

zanart
Member
From: bedford
Registered: 04-02-2008
Posts: 1706

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Nick FYI,
The code you posted right at the end of this post:
https://forum.kryptronic.com/viewtopic.php?id=30659
encrypts the data correctly and Sagepay 3.0 payment form works, after adding the additional fields.


Rob

Offline

 

#12 06-04-2015 08:00:49

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Thanks.  I was aware, but hadn't fully tested it yet.  So it's your impression that this is a drop-in replacement for V3?  You've tested it?


Nick Hendler

Offline

 

#13 06-04-2015 09:06:57

zanart
Member
From: bedford
Registered: 04-02-2008
Posts: 1706

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

I went live with it a few hours ago.
All customers that used sagepay form method had no issues.
All payments have been received.

I only use the form method, not the server method so didn't try anything with that.
The following fields were enough for me. Again, there are more optional ones that didn't matter to me.

Code:

$stuff  = "VendorTxCode=" . $order['order']['id'] . "&";
$stuff .= "Amount=" . $order['order']['ordertotal'] . "&";
$stuff .= "Currency=" . $this->globals('core_settings.core.basecurrency') . "&";
$stuff .= "Description=" . "Online Order" . "&";
$stuff .= "SuccessURL=" . $url_ok . "&";
$stuff .= "FailureURL=" . $url_bad . "&";
$stuff .= "CustomerEmail=" . $order['order']['email'] . "&";
$stuff .= "VendorEmail=" . $this->globals('core_settings.core.siteowneremail') . "&";
$stuff .= "BillingSurname=". $order['order']['lname'] . "&";
$stuff .= "BillingFirstnames=" . $order['order']['fname'] . "&";
$stuff .= "BillingAddress1=" . $order['order']['addone'] . "&";
$stuff .= "BillingAddress2=" . $order['order']['addtwo'] . "&";
$stuff .= "BillingCity=". $order['order']['city'] ."&";
//$stuff .= "BillingState=". $order['order']['stateprov'] . "&";
$stuff .= "BillingCountry=". $order['order']['countryabb'] . "&";
$stuff .= "BillingPostCode=" . $order['order']['postalcode'] . "&";
$stuff .= "DeliverySurname=". $order['items'][0]['lname'] . "&";
$stuff .= "DeliveryFirstnames=". $order['items'][0]['fname'] . "&";
$stuff .= "DeliveryAddress1=" . $order['items'][0]['addone'] . "&";
$stuff .= "DeliveryAddress2=" . $order['items'][0]['addtwo'] . "&";
$stuff .= "DeliveryCity=". $order['items'][0]['city'] ."&";
$stuff .= "DeliveryCountry=". $order['order']['countryabb'] . "&";
$stuff .= "DeliveryPostCode=" . $order['items'][0]['postalcode'] . "&";

I assume I can get rid of the simpleXor function at the bottom??


Rob

Offline

 

#14 06-04-2015 09:09:11

mixer25
Member
From: Ireland
Registered: 04-02-2006
Posts: 601

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Offline

 

#15 06-05-2015 05:47:09

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

I assume I can get rid of the simpleXor function at the bottom??

Doesn't appear that way.  I have to review the code, but I thing further down $stuff is run through that function.


Nick Hendler

Offline

 

#16 06-05-2015 14:04:06

mixer25
Member
From: Ireland
Registered: 04-02-2006
Posts: 601

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Nick will you be running this in an update?

Offline

 

#17 06-08-2015 13:16:31

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Yes, we will.  Just have to fully test it before we bless it, if you know what I mean.


Nick Hendler

Offline

 

#18 06-09-2015 10:44:42

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

This is the code we have used for the past 18 months. There are a few differences to the code above like removing none alphanumeric characters from the postcode (that will stop SagePay proceeding).

Code:

<?php

// +--
// | Get a few global variables.
// +--

$eol      = $this->globals('core.eol');
$order    = $this->globals('ecom.order_summary');

// +--
// | Create the SHIPPING address array.
// +--

$ship_addy = array('lname'      => $order['order']['lname'],
                   'fname'      => $order['order']['fname'],
                   'addone'     => $order['order']['addone'],
                   'addtwo'     => $order['order']['addtwo'],
                   'city'       => $order['order']['city'],
                   'stateprov'  => $order['order']['stateprov'],
             'postalcode' =>$order['order']['postalcode'],
                   'country'    => $order['order']['country']);

foreach ($order['items'] as $num => $item) {

     if ($item['shipstatus'] != 'N') {

          $ship_addy = array('lname'      => $item['lname'],
                             'fname'      => $item['fname'],
                             'addone'     => $item['addone'],
                             'addtwo'     => $item['addtwo'],
                             'city'       => $item['city'],
                             'stateprov'  => $item['stateprov'],
                             'postalcode' => $item['postalcode'],
                             'country'    => $item['country']);

          break 1;

     } // End of if statement.

} // End of foreach statement.


// +--
// | Load delivery country abbreviation
// +--

$CORE_App =& $this->quick_object('CORE_App','core');

$stateprovabbs = $CORE_App->get_stateprov_abbs();
$countryabbs   = $CORE_App ->get_country_abbs();

if (!(empty($stateprovabbs[$ship_addy['stateprov']])))      {$ship_addy['stateprov']      = $stateprovabbs[$ship_addy['stateprov']];}
if (!(empty($stateprovabbs[$order['order']['stateprov']]))) {$order['order']['stateprov'] = $stateprovabbs[$order['order']['stateprov']];}

if (!(empty($countryabbs[$ship_addy['country']])))      {$ship_addy['country']      = $countryabbs[$ship_addy['country']];}
if (!(empty($countryabbs[$order['order']['country']]))) {$order['order']['country'] = $countryabbs[$order['order']['country']];}

// +--
// | Printable form instructions.
// +--

$instructions = "After verifying your order information and clicking the 'Continue' button, you will be directed to our online processing partner's secure site to enter your payment information. Once your payment information is entered and verified, you will be directed back to this web site for your order confirmation.";

// +--
// | Create our relay URL.
// +--

$url_relay  = $this->globals('core.url_ssl') . '/utilities/ecomrelay.php';
$url_bad    = $url_relay . '?PROTXtrans=' . $order['order']['id'] . '&PROTXresp=FAILED';
$url_ok     = $url_relay . '?PROTXtrans=' . $order['order']['id'] . '&PROTXresp=OK';

// +--
// | Set up the olpform array.
// +--

$olpform = array('url'    => 'https://live.sagepay.com/gateway/service/vspform-register.vsp',
                 'button' => 'Continue',
                 'fields' => array());

// +--
// | Create the SagePay Form Hash Field.
// +--

$stuff  = "VendorTxCode=" . $order['order']['id'] . "&";
$stuff .= "Amount=" . $order['order']['ordertotal'] . "&";
$stuff .= "Currency=" . $this->globals('core_settings.core.basecurrency') . "&";
$stuff .= "Description=" . "Online Order" . "&";
$stuff .= "SuccessURL=" . $url_ok . "&";
$stuff .= "FailureURL=" . $url_bad . "&";
$stuff .= "CustomerName=" . $order['order']['fname'] . ' ' . $order['order']['lname'] . "&";
$stuff .= "CustomerEmail=" . $order['order']['email'] . "&";
$stuff .= "VendorEmail=" . $this->globals('core_settings.core.siteowneremail') . "&";

$stuff .= "BillingSurname=" . $order['order']['lname'] . "&";
$stuff .= "BillingFirstnames=" . $order['order']['fname'] . "&";
$stuff .= "BillingAddress1=" . $order['order']['addone'] . "&";
$stuff .= "BillingAddress2=" . $order['order']['addtwo'] . "&";
$stuff .= "BillingCity=" . $order['order']['city'] . "&";
$stuff .= "BillingState=" . $order['order']['stateprov'] . "&";
$stuff .= "BillingPostCode=" . substr(preg_replace('/[^A-Za-z0-9]/','',$order['order']['postalcode']),0,10) . "&";
$stuff .= "BillingCountry=" . $order['order']['country'] . "&";

if ($order['order']['phone']) {  $stuff .= "BillingPhone=" . $order['order']['phone'] . "&";}

$stuff .= "DeliverySurname=" . $ship_addy['lname'] . "&";
$stuff .= "DeliveryFirstnames=" . $ship_addy['fname'] . "&";
$stuff .= "DeliveryAddress1=" . $ship_addy['addone'] . "&";
$stuff .= "DeliveryAddress2=" . $ship_addy['addtwo'] . "&";
$stuff .= "DeliveryCity=" . $ship_addy['city'] . "&";
$stuff .= "DeliveryState=" . $ship_addy['stateprov'] . "&";
$stuff .= "DeliveryPostCode=" . substr(preg_replace('/[^A-Za-z0-9]/','',$ship_addy['postalcode']),0,10) . "&";
$stuff .= "DeliveryCountry=" . $ship_addy['country'] . "&";
$stuff .= "AllowGiftAid=0&ApplyAVSCV2=0&Apply3DSecure=0";

$blockSize = 16;
$padd      = "";
$length    = $blockSize - (strlen($stuff) % $blockSize);

for ($i = 1; $i <= $length; $i++) {$padd .= chr($length);} $stuff .= $padd;

$crypt  = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $order['gateway']['transkey'], $stuff, MCRYPT_MODE_CBC, $order['gateway']['transkey']);
$crypt = "@" . strtoupper(bin2hex($crypt));

// +--
// | Create the HIDDEN fields for the form.
// +--

$olpform['fields']['HIDDEN'][] = array('name'  => 'VPSProtocol',


                                       'value' => '3.00');

$olpform['fields']['HIDDEN'][] = array('name'  => 'TxType',
                                       'value' => 'DEFERRED');


$olpform['fields']['HIDDEN'][] = array('name'  => 'Vendor',
                                       'value' => $order['gateway']['userid']);


$olpform['fields']['HIDDEN'][] = array('name'  => 'Crypt',

                                       'value' => $crypt);


// +--
// | Create the DISPLAY fields for the form.
// +--

$olpform['fields']['DISPLAY'][] = array('type'   => 'PAYFORMCONTINUE',
                                        'params' => array('name'     => 'ecom_continue',
                                                          'required' => 1,
                                                          'display'  => 'Payment Information',
                                                          'desc'     => $instructions,
                                                          'option'   => 'Enter Payment Information'));

// +--
// | Globalize the $olpform array and return.
// +--

$this->globals('ecom.olpform',$olpform);

?>

Last edited by sdn (08-04-2015 10:43:21)


Simon

Offline

 

#19 06-23-2015 08:16:06

kev
Member
Registered: 03-16-2009
Posts: 399

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Any word on a release date as the messages from Sage Pay keep coming:

"Upgrade to Sage Pay Version 3 or cease trading

It is essential you upgrade to Sage Pay Version 3 to continue trading. These mandatory changes must be completed before July 31st 2015.

Failure to take action before this deadline means that you will not be able to process payments through your website and all support for your current version of Sage Pay will be discontinued."

Offline

 

#20 06-29-2015 15:10:30

mixer25
Member
From: Ireland
Registered: 04-02-2006
Posts: 601

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

kev wrote:

Any word on a release date as the messages from Sage Pay keep coming:

"Upgrade to Sage Pay Version 3 or cease trading

It is essential you upgrade to Sage Pay Version 3 to continue trading. These mandatory changes must be completed before July 31st 2015.

Failure to take action before this deadline means that you will not be able to process payments through your website and all support for your current version of Sage Pay will be discontinued."

I have had the same and am starting to get customers asking when will it be updated for fear of not getting payments from July 31st.

Offline

 

#21 07-01-2015 09:20:57

dansmith490
Member
From: Barrow, Bury St Edmunds
Registered: 11-10-2008
Posts: 154
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Any news on a patch for this?

Offline

 

#22 07-02-2015 05:56:55

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

The patch is linked to in this thread, and an update is being released within the next two weeks containing the patch.


Nick Hendler

Offline

 

#23 07-24-2015 08:57:51

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Sage Pay - version 2.23 Form will not work on July 31st 2015

Kryptronic has released updated code for SagePay V3.  Please review the link below for information on how to apply the updated code to your gateway integration:

https://central.kryptronic.com/public/n … 2015A.html


Nick Hendler

Offline

 

Board footer