Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Screwed by 2CheckOut!


Recommended Posts

Well, 2CO has been making a lot of changes and came up with a new system. It looks quite good, but will be causing a lot of trouble for osC users. I was on the old system and used 2CO for my osc processing without trouble. Then recently I opened a new account with 2CO and got put on their new system. Current 2CO accounts will be switched by the end of April.


The problem is, all 2CheckOut contributions and payment modules call for this routine:




But all new accounts MUST use this new routine:




So I figure, okay I'll just change the url in the payment module to reference the new routine. It worked fine and took me to 2CO's nice new payment page. And then after payment is made, it just STOPS! That's right, there is no more CLICK TO FINISH button. It just stops on a "Your card has been processed" page.


To make things worse, users of their new system no longer have the option to put the 2CO cart into TEST MODE, instead they insist that this "demo mode" must be defined in the string sent to 2CO. Because of their new payment routine which we MUST use, it no longer recognizes the OSC modules "Test" mode! So here I am all night trying to get it to work having to place live transactions!


Now I am stuck with 2CO that I can use to accept payments, but the customers never get sent back to OSC to complete their order!


AARRGG!! Anyone else using a new 2CO account with OSC and have this figured out yet? Your account is new if your vendor number is higher than 200000.



Link to comment
Share on other sites

  • Replies 195
  • Created
  • Last Reply

Can you get hold of a copy of the integration guide for 2CO?

Mark Evans

osCommerce Monkey & Lead Guitarist for "Sparky + the Monkeys" (Album on sale in all good record shops)



Software is like sex: It's better when it's free. (Linus Torvalds)

Link to comment
Share on other sites

Yes, there isn't really an integration guide but if you have a new account with them, they give you llinks to pages that show all of the recognized passback parameters.

Payment Routine




Take the time to locate the shopping cart code file(s) and change the Authorize.net

url to the above path.


Change https://secure.authorize.net/gateway/transact.dll to



Then continue to set up your cart as if you had an Authorize.net account.



Parameters To Change

x_login - your 2checkout vendor account number

Recognized Parameters

x_amount - the total amount to be billed, in decimal form,

with no currency symbol.

x_invoice_num - a unique order id from your system.

x_First_Name - buyers first name

x_Last_Name - buyers last name

x_Phone - buyers phone number

x_Email - buyers email address

x_Address - buyers address

x_City - buyers city

x_State - buyers state

x_Country - buyers country

x_Exp_Date - expiration date of credit card








Return Parameters

You can recieve back all of the parameters that were passed in.


To recieve these parameters, you must specify where they are sent.


On another page it says that you can use the parameter: demo but that's about it, other than a page where we can specify a return url. I have tried http://www.mywebsite.com/catalog/checkout_success.php but that does not seem to work in completing the order.



Link to comment
Share on other sites

I have narrowed it all down to this:


The only way I can continue to process right now with 2CO is to go ahead and accept all orders (without any payment modules setup) and then once I get an order, send that customer a Payment Request through 2CO.


This sucks and is my last resort but seems to be my only way until this can be resolved.


Please anyone, any other ideas? I would hate to have to add in the extra step of sending my customers a payment request for each order. Our site is setup very professional-looking and I feel this would just bring it down a bit. Besides that, we average several orders a day and my customers are getting a bit aggitated with not being able to place any orders.


(Of course, the worse thing with this is that under the new system, all emails sent out by 2CO are going to Junk Mail folders. So not only do I have to send payment requests to my customers, but tell them to check their Junk Mail folders!)





Link to comment
Share on other sites

i found this contr. ( 2checkout )





since i use MS1 now the orginal writer is Dave Wilks


you may contact him to ask for help, and i also ask for help on 2checkout.com forum.



i am php newbe, i really want to help you, but i can't



Link to comment
Share on other sites

From looking at the details above it doesnt seem much has actually changed....


I will take a look later to see what needs updating.

Mark Evans

osCommerce Monkey & Lead Guitarist for "Sparky + the Monkeys" (Album on sale in all good record shops)



Software is like sex: It's better when it's free. (Linus Torvalds)

Link to comment
Share on other sites

  • 3 weeks later...

Full Shopping Car Routine Specs As Provided by OsCommerce.

I'm posting this in hopes a kind sole will see our plight and help us create an updated 2checkout module:



Shopping Cart Payment Routine Specifications

This page covers the specifications for the cart payment routine on the 2Checkout.com system.    It is provided for clients that want to use their own shopping cart or other specialized program and have sufficient knowledge to code the procedures.    If you have the 2Checkout.com free shopping cart you do not need to concern yourself with this specification, it is handled automatically.


Payment Routine:    https://www.2checkout.com/cgi-bin/sbuyers/cartpurchase.2c


The following parameters must be passed from your shopping cart or other program to cartpurchase.2c.


Note: This routine also accept in authorize.net parameters ( see below ), and linkpt parameters.


sid - your 2Checkout.com account number

total - total amount to be billed (in decimal form with no dollar sign)

cart_order_id - unique order id from your cart or other program





The following parameters can be passed in and will be passed back to your routine. Optionally a confirmation email with your order number and ours will be sent to you and the buyer when the credit card transaction is approved.


order_number - 2Checkout.com order number

card_holder_name - Card holders name

street_address - Card holders address

city- Card holders address

state - Card holders address

zip - Card holders address

country - Card holders address

email - Card holders email

phone- Card holders phone number

cart_order_id - Your order number passed back

cart_id - Your order number passed back (same as cart_order_id)

credit_card_processed - "Y" if successful

total - Total billed to credit card after handling charges if any

ship_name - Shipping Info

ship_street_address - Shipping Info

ship_city - Shipping Info

ship_state - Shipping Info

ship_zip - Shipping Info

ship_country - Shipping Info


Make sure and set up your Cart/Program Details in our database.


If you wish to take down a separate shipping and billing address you must indicate it here Shipping Details.


You should send your customer a sales confirmation email containing the details of what was ordered.    The confirmation email should contain the follow text:




Charges for the transaction will appear on your credit card statement under the name 2Checkout.com.


Questions regarding your order should be directed to:


Your Company





If you have problems with the order and "Your Company" cannot help you, contact custservice@2checkout.com.


Credit card payment services provided by www.2checkout.com






Shopping Cart Payment Routine Specifications (Authorize.net)

In addition the above routine, the following routine will ALSO accept in Authorize.net parameters.




In most cases just find in the shopping cart ( maybe in a code file ) the authorize.net payment url




and change it to




Then just set everything else up as if you had an authorize.net account.


The parameters that should be passed into the ./Abuyers/purchase.2c routine are as follows:


x_login - 2Checkout.com Seller id

x_amount - Amount to bill.

x_invoice_num - Order number from your system


The payment routine will ask for the following buyers information if you do not send it in












x_Card_Num - You must have an SSL server to send the credit card # in. If you do not, a warning will be printed letting the buyer know that their credit card number was transmitted over and insecure channel.


Other Optional Parameters Accepted:










You can set up this payment routine to do an HTML post back to your shopping cart after the payment by setting the return here - Cart/Program Details.


Note: Any parameters sent into the routine will be passed back to your routine after the sale is complete.

Link to comment
Share on other sites

Looking at what is above that is exactly what is in the current 2checkout module.


Are you sure that is the updated specification?

Mark Evans

osCommerce Monkey & Lead Guitarist for "Sparky + the Monkeys" (Album on sale in all good record shops)



Software is like sex: It's better when it's free. (Linus Torvalds)

Link to comment
Share on other sites

Looking at what is above that is exactly what is in the current 2checkout module.


Are you sure that is the updated specification?

Hm...that is what I saw in the admin section. :huh:


Perhaps I have the payment routine URL wrong?

I'm currently trying to use https://www.2checkout.com/cgi-bin/Abuyers/purchase.2c




Or maybe I have the Module admin listed wrongly?

Link to comment
Share on other sites

I figured out the problem. I was using my password in the admin section where it asked for "login" instead of my store ID. (which I wasn't provided with from my client"


I'm can't believe I missed that! Anyhow, thank you all very much for your help .:)



Link to comment
Share on other sites

Bruin -


Don't know if I fully understand.

Do we just need to change the pmcheckout.php line:



$this->form_action_url = 'https://www.2checkout.com/cgi-bin/Abuyers/purchase.2c';




$this->form_action_url = 'https://www2.2checkout.com/2co/buyer/purchase';


to make the process work again?

Link to comment
Share on other sites

Ok, yes the line does need to be changed to:




in order for the module to work. (Remember, this is only for those are have signed up for 2CheckOut recently and are on the new system).


The problem is, once you change the line (and you have to change it for the module to work), the module will work but 2CO's routine is a bit messed up as it will accept payments but it no longer redirects you back to your OSC store, thus breaking the checkout routine. So payments are made but you never receive the order.


This is what I have been trying to work around for weeks!



Link to comment
Share on other sites

Thanks. Is the problem internal on 2CO's end, or it it a rewrite issue for our great coders? Just trying to decide if I need to move two new customers to payquake or paysystems. I know our community can fix it, but if we are waiting on 2CO....

Link to comment
Share on other sites



This was posted by atboy in the other thread


thanks guys,


I found the solution.

Go to 2Checkout Admin page and enable 


purchase.2c Passback Parameters at Account Detail-Return menu.

by setting 'yes' to the following question

1. Return to a routine on your site after credit card processed?: Yes


Good Luck!



Can anyone else confirm that this parameter will take care of the problem caused by new 2co accounts. I am still on the old platform and can not test this myself.





Link to comment
Share on other sites

The above instructions are for the old system and do not help for 2CO's new system. 2CO - are you listening? - You are losing business right now by not providing help on this. I am moving 2 customers to Paysystems today. Got to believe there are already thousands of merchants in the same boat.

Link to comment
Share on other sites

Hi there,


I have the same problem, so I wrote "again" to 2CO. This is their reply:

-------------QUOTE EMAIL 2CO-------------------------------------




That must be an old post. I have long since resolved the issues with Vince at OSCommerce. It is true that people will no longer click a button to complete a purchase becuase they will be automatically directed there upon completing the order. All you have to do is set the return URLs correctly in the Look and Feel section of the admin. The issues with the passback parameters have been worked out.


The demo mode issue by adding demo=Y to the parameters is true all you have to do is add demo=Y to the parameter string. You can do this at any point during the test transaction not just when it is sent to us.


I hope this helps, if not please write me back.



Thank you,



Tech Support/Development



-------------------------------END QUOTE-----------------------------


hmm..old post..Am I missing anything???


Is there already an answer to the problem?


Please advise asap.



Thank you,




Link to comment
Share on other sites

This is still not fixed. I'm using 2.2MS2 and I've tried both the


I have updated the payment URL, Demo mode is broken, payments of a live cart auth just fine, but even with https://www.rayservers.com/catalog/checkout_process.php in the success line no purchase is registered and the customer is re-directed to the login page


It seems to me that the right at the top of checkout_process.php we have


// if the customer is not logged on, redirect them to the login page
 if (!tep_session_is_registered('customer_id')) {
   $navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
   tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));


... which does not seem to find the session_is_registered once payment is completed. The OSC cookies are still in the browser. Also when the login page appears, the 2checkout payment URL is still in the top of the browser.


Anyone know about this? I have compared this code to the e-gold payment module code and the others that are based on it and I can't see why this should be so.


I've submitted a ticket to 2Checkout, just called them and spoke with Jennifer in customer support, and they are expediting this.


I hope this can be resolved fast. Judging by the history in this thread, I might have to plan on using another processor such as worldpay. Anyone can comment on recent experience with them?

Link to comment
Share on other sites



ive also been having trouble trying to setup the 2checkout module with a new 2co account. Ive set one up previously using 2co no problems.


I set the look and feel return url in the admin section like he's suggesting but when it returns i was logged out (cause my location is still set to https://www.2checkout.com....) images dont appear and i have to relogin!


once i login it seems nothing has changed, the order hasnt been processed.


something definately isnt right with this, luckily our client uses paypal as well.


Is there a solution like Tony from 2checkout suggest in that email if so where do i find it?



Link to comment
Share on other sites

Just an update that i managed to get it working :P


I set the 2checkout look and feel url for successful purchase to a page which read in all the posted data and then forwarded to the checkout_process.php page this fixed the images and cookies problem.


then had a problem with the x_response_code which wasnt returning 1 giving 'There has been an error processing your credit card. Please try again.' possibly because i was running in demo mode anyway i disabled this check for my testing and it seems ok.


If you need more information about this let me know.




http://www.x2cms.com - x2cms website builder

Link to comment
Share on other sites

I'm totally confused now...


Could there be one post explaining step by step, what has to be changed and what url I have to use in the look and feel.


I hope someone could post that, so I can make the changes....


Thx in adavnce for your time.









Link to comment
Share on other sites

Ok heres how i did it


im not 100% that the processing page i setup is the best way todo it but ill explain it anyway.




firstly i changed the 2checkout url

line 35 ish

$this->form_action_url = 'https://www2.2checkout.com/2co/buyer/purchase';


i disabled the x_response_code check cause it wasnt working in demo mode, still to check when its in production mode

line 130 ish



if ($HTTP_POST_VARS['x_response_code'] != '1') {

tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(MODULE_PAYMENT_2CHECKOUT_TEXT_ERROR_MESSAGE), 'SSL', true, false));




I had some problems when being returned on a successful sale that i was not logged in and images where not shown properly etc... so i created a processing page which just read in all the data and forwarded it on which fixed that. This file was called 2coprocess.php see below:


<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">




<style type="text/css">

body {backgorund-color:#FFFFFF;}

body, td, div {font-family: verdana, arial, sans-serif; font-size:14px;}



<body onload="document.twocoprocessform.submit()">

<form name="twocoprocessform" method="POST" action="http://www.MYSITE.co.uk/catalog/checkout_process.php">

<table cellpadding="0" width="100%" height="100%" cellspacing="0">


<td align="middle" style="height:100%; vertical-align:middle;">


foreach ($_GET as $key => $val)


print "<input type=\"hidden\" name=\"$key\" value=\"$val\">\n";



Thank you... redirecting to http://www.MYSITE.co.uk<br><br>If the page fails to redirect click <input type="submit" value="here">









Then in 2checkout admin area goto Look and Feel and put in your URL for a successful sale as http://www.MYSITE.co.uk/catalog/checkout_process.php


Thats all i did, orders seem to be going through fine now.


http://www.x2cms.com - x2cms website builder

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...