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-02-2016 07:40:52

Graham
Member
Registered: 09-30-2004
Posts: 981
Website

Trying to set up Worldpay

I want to use the Worldpay Gateway on Europa Cart 8, but I'm having trouble with the setup.

WorldPay say they need to complete a test transaction and I should include the following to use the Test Server, rather than the Live one.

<input type=hidden name="testMode" value="100">

But I'm not sure where or how to add it. I tried putting it in the Form Display Code, but that didn't work.

I've found another post which mentioned there being instructions in the Wiki, however although it now says that information has been moved to the Kryptronic Blog, I can't find it there.

Please can someone help.

Offline

 

#2 02-03-2016 06:47:34

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

Re: Trying to set up Worldpay

Edit the 'Form Content' section in your WorldPay setup under Store > Commerce > Processing Gateways.  There, change:

Code:

$olpform = array('url'    => 'https://select.worldpay.com/wcc/purchase',
                 'button' => 'Continue',
                 'fields' => array());

To use the test server URL, and add this:

Code:

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

When done, remove the hidden field you added, and change the URL back.


Nick Hendler

Offline

 

#3 03-29-2016 07:25:37

Graham
Member
Registered: 09-30-2004
Posts: 981
Website

Re: Trying to set up Worldpay

I think I've got this set up ok, but when I activate the Worldpay Gateway, it comes up with the Radio Button to click on, however if I select it it says "An error was encountered while processing the information submitted. Please try again."

This only happens on the Worldpay Gateway, if I select my usual offline credit/ debit card payment options or Pay by Paypal, they work fine.

I can't see why this is happening as it should have all the information it needs.

Offline

 

#4 03-29-2016 07:47:31

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

Re: Trying to set up Worldpay

Ask your host if they have anything running (security software) which might modify form posts with certain PHP content.  If so, have them whitelist admin.php.


Nick Hendler

Offline

 

#5 03-30-2016 06:03:44

Graham
Member
Registered: 09-30-2004
Posts: 981
Website

Re: Trying to set up Worldpay

They say they have no software that would do that, just virus scanners.

This is what I have for the code, is it correct?

Code:

<?php 

// +--
// | This processor integration references an external
// | URL for processing.  All external processing gateways
// | work in the same manner.  An order information array
// | is made available globally under the the global name
// | 'ecom.order_summary'.
// |
// | This must set a global variable named 'ecom.olpform'
// | which contains the form information to be posted to
// | the external gateway URL.
// |
// | Anything printed within this code will be printed
// | above the form instructions on the payment information
// | page.
// +--

// +--
// | THERE IS NO NEED TO EDIT THE CODE BELOW THIS POINT TO 
// | ACTIVATE THIS INTEGRATION.  ONLY EDIT THIS CODE TO MODIFY
// | HOW THIS INTEGRATION WORKS.  BE SURE YOU KNOW WHAT YOU'RE 
// | DOING!
// +--

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

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

// +--
// | 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/ecomrelaymeta.php';

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

$olpform = array('url'    => 'https://select.worldpay.com/wcc/purchase',
                 'button' => 'Continue',
                 'fields' => array());

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

// Added the following for test mode - Worked, so now commented out
// $olpform['fields']['HIDDEN'][] = array('name'  => 'testMode',
                                       'value' => '100');
// End of added code

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

$olpform['fields']['HIDDEN'][] = array('name'  => 'cartId',
                                       'value' => $order['order']['id']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'M_trusr',
                                       'value' => $this->globals('core_session.sid'));

$olpform['fields']['HIDDEN'][] = array('name'  => 'amount',
                                       'value' => $order['order']['ordertotal']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'name',
                                       'value' => $order['order']['fname'] . ' ' . $order['order']['lname']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'address',
                                       'value' => $order['order']['addone'] . ' ' . $order['order']['addtwo']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'country',
                                       'value' => $order['order']['countryabb']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'postcode',
                                       'value' => $order['order']['postalcode']);

$olpform['fields']['HIDDEN'][] = array('name'  => 'tel',
                                       'value' => $order['order']['phone']);

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

$olpform['fields']['HIDDEN'][] = array('name'  => 'desc',
                                       'value' => 'Online Order');

$olpform['fields']['HIDDEN'][] = array('name'  => 'currency',
                                       'value' => $this->globals('core_settings.core.basecurrency'));

// +--
// | 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);

?>

Offline

 

#6 03-30-2016 06:18:58

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

Re: Trying to set up Worldpay

That looks correct.  If you can POST one set of data, and can't POST another set of data, then there's something running server side preventing you from doing so.  If it's not a security setting, it may be a POST size limitation.  Throw back on your host for resolution.


Nick Hendler

Offline

 

#7 03-30-2016 15:55:30

Graham
Member
Registered: 09-30-2004
Posts: 981
Website

Re: Trying to set up Worldpay

I can't see why it should be something server side.

Here's a link to a picture which shows what I get: wwwaffordable-leather.co.uk/worldpay-1.jpg

The top option is the Worldpay gateway and gives the message shown. If I select any of the other three payment options, Offline credit card, Offline debit card and Paypal, they all work fine.


The data in the fields for the Gateway are:

Response Field Name: Response Code* - transStatus

Response Field Name: Order Number* - cartId

Request Field Name: Order Total* - amount

Under the Security link I have:

Response Codes* - Y

Referring URL String* - worldpay

Transaction Key/Password - [blank]

Gateway User/Store ID* - 1xxxxx9

Last edited by Graham (03-30-2016 15:56:22)

Offline

 

#8 03-31-2016 07:20:33

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

Re: Trying to set up Worldpay

I can't see why it should be something server side.

If the software works for one method, and not another, the only difference is the data being submitted.  It could be the post contains code that security software doesn't like, or the post could be too big (more data in this one than others) for the server/PHP configuration.


Nick Hendler

Offline

 

#9 03-31-2016 09:53:30

Graham
Member
Registered: 09-30-2004
Posts: 981
Website

Re: Trying to set up Worldpay

At this point, it has not even submitted any data.

This error happens when I select the Worldpay Gateway option, but not when I select PayPal or Offline Credit Card etc.

It doesn't even get to the payment stage, Europacart is flagging an error as soon as I say I want to use the Gateway, so it seems there's got to be something missing or incorrect being passed to the card payment subroutine.

ADDENDUM: I think I may have just found the problem - I have a test item which is priced at £0.01 which I was using to check out the Gateway with a live transaction at minimum cost.

I tried again using a different item at a regular price and it seemed to not have a problem, so it appears there's a check for a minimum value that I wasn't aware of.

Last edited by Graham (03-31-2016 10:03:48)

Offline

 

#10 04-01-2016 07:06:53

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

Re: Trying to set up Worldpay

I was responding to your posts under the assumption that you were having trouble updating your WorldPay payment gateway configuration using the management interface.  I had no idea you had that all set up and were having an issue trying to process a transaction.  Now I understand why you were confused with my responses.


Nick Hendler

Offline

 

Board footer