Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Remove Billing Address, keep comment box, no address to register


Recommended Posts

Kind of a complicated request here.


I need to find add-ons that:


1) let customers create accounts without giving their address

2) doesn't require an address for shipping or billing, UNLESS there's something with weight in the cart

3) doesn't attempt to show shipping/billing address on the order confirmation page.

4) allow customers to check out without an account



I have #2, except that I'd like to be able to have a page in between pressing 'Checkout' and being sent to the payment gateway, so that I can take information from the customer in the form of the comment box.


#3 I might have, I just haven't completed payment on an order with a new account yet, but I was considering moving the comment box to that page instead.


Add-ons I'm considering:


I've used the simple addition of

($cart->show_weight() == 0)

in order to skip the shipping page if there's no weight.


Simple Registration


Purchase Without Account




I really just want the confirmation page to be "Products" and "Payment Method." (And comment box if I can't keep the checkout_payment page without the billing address.) I tried taking out the parts that make up the billing and shipping addresses on checkout_confirmation.php, but it broke the page's layout and everything was messed up bad.


Can you suggest any ways to implement what I need, or add-ons that would work better?


If it helps, my shop is almost all virtual products (not downloadable, but service-based virtual), and my payment gateway takes the billing address from the customer when they pay, which is why I want to remove it from the checkout process.

Link to comment
Share on other sites




I don't know of ANY online processors that do not require a billing address. They use the billing address to verify customer information and prevent fraud. If you do find a way to circumvent the address requirement, YOU will most likely be held liable for fraudulent transactions per your merchant account agreement.





Link to comment
Share on other sites

My credit card processor takes the billing address from the customer themselves on their checkout page, when they process the payment. There's no reason for me to take their billing address an additional time.


The GOOD about that is that I don't (have to) see the customer's address at all. My clients are very paranoid about that and won't order from me if I'm able to see anything besides their email address (and it's hard enough getting that from them).

Link to comment
Share on other sites

open create_account.php find:

 if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
 $error = true;
 $messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);


Comment it out like so:

//  if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
//    $error = true;
 //   $messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);
  // }

Now the customer can create an account without the street address. Find similar bits of code next to the above for zip, city and state and follow the same process. OSCommerce will open an account with only the email address just fine.


To remove html from create_account.php page so the customer doesn't see a blank to fill out look for :

Address:<br />
 <?php echo tep_draw_input_field('street_address','','class="required"') . (tep_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '': '');?>


and delete or comment out. Same process for zip, city and state.

Oscommerce site:



OSC to CSS, http://addons.oscommerce.com/info/7263 -Mail Manager, http://addons.oscommerce.com/info/8120

Link to comment
Share on other sites

@@npn2531 Do you happen to know how to get rid of the Country requirement? I removed it from create_account.php, but it seems as though something else is forcing it to be required. Everything else was removed easily enough by marking it to null in the admin section.


So far I have step 1 and step 2 working (step 2 was a PAIN. For some reason the cart would add shipping if you added an item with shipping into the cart, pressed checkout, went back, and then removed it).


Step 3 is potentially working, since you don't see the checkout_confirmation page, only checkout_success when you get through the payment processor. That means I still need to add a page with a comment box on it, or somehow finagle checkout_success into being able to add info. onto an order. Is that even possible?

Link to comment
Share on other sites

There may be something else requiring the country, I'm not aware of it. However, since 99.9% of my customer are US, I have changed the country entry field from this:

echo tep_draw_input_field('country', '', $parameters = '', 'class="required"');


to this:

echo tep_draw_hidden_field('country', '223', $parameters = '', 'class="required"');

That way the customer doesn't see the country entry field and their country is automatically filled in with 'United States' in the database. (223 is the country code for United States, you can enter another number). I have added a link on that page to another create_account page for non US customers to use. Look at www dot niora dot com/create_account.php to see my example.

Oscommerce site:



OSC to CSS, http://addons.oscommerce.com/info/7263 -Mail Manager, http://addons.oscommerce.com/info/8120

Link to comment
Share on other sites

You could add this to create_account.php to collect customer comments.

Add a message:
 if (tep_not_null($HTTP_POST_VARS['comments'])) {
$comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

echo tep_draw_textarea_field('comments', 'soft', '44', '5',$comments,'class="area"');


or, add the above to the last page the customer sees before their order is processed. I'm about 90% sure that this will work since checkout_process.php is the page that handles the comments.


On the other hand, I doubt you are recording orders at all since you are not seeing checkout_confirmation.php.

Oscommerce site:



OSC to CSS, http://addons.oscommerce.com/info/7263 -Mail Manager, http://addons.oscommerce.com/info/8120

Link to comment
Share on other sites

Hi @@npn2531, thanks for the help! I'll see how these do in a bit.


The store is still recording orders correctly. My best guess is that the plug-in for payment sends the order info. to checkout_success.php, which, I may be mistaken here, is the one that records the order itself. I can get to checkout_confirmation without ever having the order recorded, when using other payment (like money order).


I do need to switch it so that checkout_confirmation comes up before it goes to the payment processor, though. :P It would make things a bit easier.

Link to comment
Share on other sites


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

  • Create New...