Jump to content
Sign in to follow this  
cyberbizco

2checkout v2 on OSC 2.2

Recommended Posts

Hi,Hi,

 

There are a lot of credit card processors out there, 2checkout does seem to be both cheap (That is if you do not have/can not get your own merchant account) and fairly reliable though.....if you want to find alternatives go to the osc contribs section and look in the contribs section under payment modules..... there you will find more ready made payment integrations for osc with quite a few different credit card processors.

 

Worldpay does offer a good solution for those who do not have/can not get a merchant account though, but its slightly more expensive.

 

B)

Edited by toyicebear

Share this post


Link to post
Share on other sites
4. You must be using osCommerce 2.2 Milestone 2 or later. If you are using any

other version, it will not work and you will be unable to use our services. If

in doubt as to the version currently running on your cart, install the latest

version.

 

Thanks for posting this! We are still using OSc 2.2 MS1 as I know many others are also. Is this really true that MS2 ONLY can be used???

Share this post


Link to post
Share on other sites
Thanks for posting this! We are still using OSc 2.2 MS1 as I know many others are also. Is this really true that MS2 ONLY can be used???

 

Yes.... and the contribution doesn't work...

Share this post


Link to post
Share on other sites

IT WORKS!!!!! Yay! I finally got it working! Huge thanks to IlColosso for the tip on setting the cookies! This will not work if you have shared SSL.

 

Here is what I did:

 

Under Configuration->Cache->Use Cache, set to false

Under Configuration->Sessions->Force Cookie Use, set to true

 

then go into includes/configuration.php and make sure your HTTP_COOKIE_DOMAIN is set to 'www.yoursite.com' or '.yoursite.com' if you don't have the www prefix. It must have 2 periods!

 

 

 

I also added some code so that the Test / Production mode gets sent to 2checkout. The problem is 2checkout wants a variable 'demo' set to 'Y' if in demo mode, otherwise it doesn't want anything sent. I am not a programmer but it works. The only problem, even with demo mode on the demo sale still gets rejected (I used cc# 4111 1111 1111 1111). I believe this is a problem on 2checkout's side, but correct me if I am wrong.

 

To make these changes, in includes/modules/payment/pm2checkout.php, replace the whole process_button function with this:

 

function process_button() {
global $HTTP_POST_VARS, $order, $currency, $currencies, $demo;

//if (DEFAULT_CURRENCY <> 'CAD')
//{
//$cOrderTotal = $currencies->get_value("CAD") * $order->info['total'];
//}
//else
$cOrderTotal = $order->info['total'];

if (MODULE_PAYMENT_2CHECKOUT_TESTMODE == 'Test')
 $demo = 'Y';
else
 $demo = '';

$process_button_string = tep_draw_hidden_field('x_login', MODULE_PAYMENT_2CHECKOUT_LOGIN) .
tep_draw_hidden_field('x_amount', number_format($cOrderTotal, 2, '.', '')) .
tep_draw_hidden_field('x_invoice_num', date('YmdHis')) .
tep_draw_hidden_field('demo', $demo) .
tep_draw_hidden_field('x_first_name', $order->customer['firstname']) .
tep_draw_hidden_field('x_last_name', $order->customer['lastname']) .
tep_draw_hidden_field('x_address', $order->customer['street_address']) .
tep_draw_hidden_field('x_city', $order->customer['city']) .
tep_draw_hidden_field('x_state', $order->customer['state']) .
tep_draw_hidden_field('x_zip', $order->customer['postcode']) .
tep_draw_hidden_field('x_country', $order->customer['country']['title']) .
tep_draw_hidden_field('x_email', $order->customer['email_address']) .
tep_draw_hidden_field('x_phone', $order->customer['telephone']) .
tep_draw_hidden_field('x_ship_to_first_name', $order->delivery['firstname']) .
tep_draw_hidden_field('x_ship_to_last_name', $order->delivery['lastname']) .
tep_draw_hidden_field('x_ship_to_address', $order->delivery['street_address']) .
tep_draw_hidden_field('x_ship_to_city', $order->delivery['city']) .
tep_draw_hidden_field('x_ship_to_state', $order->delivery['state']) .
tep_draw_hidden_field('x_ship_to_zip', $order->delivery['postcode']) .
tep_draw_hidden_field('x_ship_to_country', $order->delivery['country']['title']) .
tep_draw_hidden_field('tco_currency', $currency) .
tep_draw_hidden_field('x_receipt_link_url', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
tep_draw_hidden_field('x_email_merchant', ((MODULE_PAYMENT_2CHECKOUT_EMAIL_MERCHANT == 'True') ? 'TRUE' : 'FALSE'));

return $process_button_string;
}

 

 

I plan on adding a new contrib with these changes and better instructions so we can all get this thing working. If anyone has any suggestions on how to get demo sales to go thru 2co please let me know!!

Share this post


Link to post
Share on other sites

Way to go! So just to clarify arm1tage, you are just using the default oscommerce 2.2 milestone 2 version of pm2checkout right? The one with date: 2003/01/29 19:57:15 on the top of it right? That's where I'm getting confused as some people earlier in this thread's are listing their pm2checkout routine and it's different than mine, but yours looks a lot more like mine.

 

Also, in demo mode, it still looks for a real credit card number, so entering 4111111.... will not work. At least I remember having to do that awhile ago on their demo mode. Try entering a real credit card number and see what happens.

 

LL

 

IT WORKS!!!!! Yay! I finally got it working! Huge thanks to IlColosso for the tip on setting the cookies! This will not work if you have shared SSL.

Share this post


Link to post
Share on other sites

but this wont work if you have shared ssl - right ?

I dont have ssl and rely on 2co for the secure connection to transmit the credit card information - and so this wont work for me - correct ? (just want to make sure)

Share this post


Link to post
Share on other sites
but this wont work if you have shared ssl - right ?

I dont have ssl and rely on 2co for the secure connection to transmit the credit card information - and so this wont work for me - correct ? (just want to make sure)

 

If you don't have SSL then it will work. Shared SSL is when multiple sites on the same domain "share" the same SSL certificate. Reason it doesn't work is usually the URL looks like https://www.sslprovider.com/yoursite.com instead of just https://www.yoursite.com

Share this post


Link to post
Share on other sites

Thank you very much. This contribution did the trick for me.

 

Yes I'm using 2.2MS2 with the latest pm2checkout. I have a few contribs added but they do not have any effect on pm2checkout.

 

You're right about demo mode needing a real credit card. I just tried it and everything works beautifully. Thanks!

 

Try out this version and let me know how it goes!

http://www.oscommerce.com/community/contributions,904

Share this post


Link to post
Share on other sites

There is one problem.

 

By Enabling Force Cookie, the browser gives out a message that your Cookies are not enabled.

 

This would discourage alot of customers.

 

Even by enabling the cookies, the message it still there and the cart does not forward.

 

is there a way to install the contribution without enabling the cookie.

Edited by Farrukh

Share this post


Link to post
Share on other sites

I am getting this message after enabling Force Cookies.

 

We have detected that your browser does not support cookies, or has set cookies to be disabled.

To continue shopping online, we encourage you to enable cookies on your browser.

For Internet Explorer browsers, please follow these instructions:

  1. Click on the Tools menubar, and select Internet Options
  2. Select the Security tab, and reset the security level to Medium

We have taken this measurement of security for your benefit, and apologize upfront if any inconveniences are caused.

Please contact the store owner if you have any questions relating to this requirement, or to continue purchasing products offline.

Share this post


Link to post
Share on other sites
There is one problem.

 

By Enabling Force Cookie, the browser gives out a message that your Cookies are not enabled.

 

This would discourage alot of customers.

 

Even by enabling the cookies, the message it still there and the cart does not forward.

 

is there a way to install the contribution without enabling the cookie.

 

Can you post the first 10 lines of your /catalog/includes/configure.php - you may have an incorrect setting. If you do not force cookie use then only customers with cookies enabled will have their order passed back to osc, the rest will enter their order but get returned to the login page after processing.

Share this post


Link to post
Share on other sites
define('HTTP_SERVER', 'http://www.domain.com'); 
 define('HTTPS_SERVER', 'https://www.domain.com');
 define('ENABLE_SSL', true);
 define('HTTP_COOKIE_DOMAIN', 'www.domain.com');
 define('HTTPS_COOKIE_DOMAIN', 'www.domain.com');
 define('HTTP_COOKIE_PATH', 'cookies/');
 define('HTTPS_COOKIE_PATH', 'cookies/');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '/');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

Edited by Farrukh

Share this post


Link to post
Share on other sites

I found out the problem with Force Cookies Settings

 

it was the folder

  define('HTTP_COOKIE_PATH', 'cookies/');
define('HTTPS_COOKIE_PATH', 'cookies/');

 

I changed it to

  define('HTTP_COOKIE_PATH', '/');
define('HTTPS_COOKIE_PATH', '/');

 

Now the products are being added to the Shopping cart.

Edited by Farrukh

Share this post


Link to post
Share on other sites
Also, in demo mode, it still looks for a real credit card number, so entering 4111111.... will not work.  At least I remember having to do that awhile ago on their demo mode.  Try entering a real credit card number and see what happens.

 

Just to clarify, a real credit card is not required. Any random 15 or 16 digit number should work.

 

  Question   

Why am I getting "The sale has been rejected" even when passing demo=Y ?

  Answer   

The likely cause is that a banned credit card is being used for a demo transaction. Demo transactions are still sent through parts of our fraud system, and will therefore get caught with this error. Make sure you are not using all 1's for the credit card number and also make sure that it does not begin with '411'. Using sequential numbers can also cause this error to occur, such as using 123456789. A safe one to use for testing is '597910143452349' or any other random number that fits the above criteria while still consisting of 15 or 16 digits.

Share this post


Link to post
Share on other sites

I am running osCommerce 2.2-MS2. I been trying to get 2checkout to work for a few months without success.

 

I just installed the latest 2checkout contribution from here: http://www.oscommerce.com/community/contri...earch,2checkout (I downloaded the latest version: 28 Mar 2005)

 

I got it installed, did all the steps. It acts like it works. For the first time in months after paying I am redirected back to my site from the 2checkout site. However I still have a problem.

 

The products the customer bought do not go intot he database. Let's say I buy something and pay, get redirected back to the site. The products I bought are still in my shopping cart and not in my recently purshased. I go into the admin and look for the Order, and there is no record of the purshase.

 

Anyone has any ideas? Any help is appreciated!!

Share this post


Link to post
Share on other sites

I have tested it,

 

The order does go through the Database and you can see it in the Admin.

 

Even an email is sent.

 

its working fine with me.

 

Did you remove the 2Checkout Module version 1.

Share this post


Link to post
Share on other sites

It works!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Thank you very much.

 

After reviewing my configuration and the /catalog/pm2checkout_process.php I found that it was calling the url: www.mystore.com/catalog/checkout_process.php However I had configured my store to work without the /catalog. I removed the /catalog from the URL and it works!

 

Thank you again for all the work you guys put into this.

Share this post


Link to post
Share on other sites

oh yes, the /catalog/

 

This was the exact problem i had so i also had to remove the /catalog/

 

I did not know that you were asking about that.

Share this post


Link to post
Share on other sites

Even if you change in the 2Checkout LOOK & FEEL and make both URL go to:

www.yourdomain.com/catalog/checkout_process.php

 

then it will STILL work.

 

So I guess no need to make it go to pm2checkout_process.php and THEN to checkout_process.php

 

It worked with me

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×