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.
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
Edit the 'Form Content' section in your WorldPay setup under Store > Commerce > Processing Gateways. There, change:
$olpform = array('url' => 'https://select.worldpay.com/wcc/purchase', 'button' => 'Continue', 'fields' => array());
To use the test server URL, and add this:
$olpform['fields']['HIDDEN'][] = array('name' => 'testMode', 'value' => '100');
When done, remove the hidden field you added, and change the URL back.
Offline
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
They say they have no software that would do that, just virus scanners.
This is what I have for the code, is it correct?
<?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
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.
Offline
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
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.
Offline
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
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.
Offline