How to block shipping address changes during checkout

This forum is where we'll mirror posts that are of value to the community so they may be more easily found.
Post Reply
User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5170
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

How to block shipping address changes during checkout

Post by AbleMods » Wed Aug 18, 2010 1:50 pm

Introduction
Most eCommerce store owners will know that you are vulnerable to chargebacks when you ship orders to an address that is different from the billing address. This is case with all major credit card issuers. Be warned, I've learned this (very painful) lesson the hard way directly from the VP of Merchant Services with a nationwide banking company.
Financial responsibility for any transaction in a card-not-present environment such as online purchases ultimately lies with the merchant.
Success in winning chargeback disputes can easily rest with whether the order was shipped to the billing address of the card used for the transaction. As a smart merchant, it's your job to be vigilant protecting yourself and your business from online fraud. To protect yourself to the maximum extent possible, ship as few orders as possible to addresses other than the billing address.

Purpose
This modification will allow you to control when the shipping address can be changed to something other than the billing address. With my Solunar.com store, I have a limit based on a specific order total. Anything over that amount, and I refuse to accept the order unless it ships to the billing address. That's the most risk I'm willing to take on a per-order basis.
This may sound harsh at first, but we're not talking a single transaction here. If one identity thief finds you letting orders through, 10 others will know about it in very short order. It won't take long for just a few orders to sting your bank account hard.

Installation
This modification is only a few lines of code and very simple to install. To start, simply find the OnePageCheckout.ascx.cs file in your /ConLib/ store folder. Edit that file with Notepad or your favorite text editor. As always, back up the existing file(s) before changing any store file

Look for this section of code in the Page_Load function:

Code: Select all

        if (!IsPostBack)
        {
            BotMessagePanel.Visible = false;
        }
And change it to look like this:

Code: Select all

        if (!IsPostBack)
        {
            BotMessagePanel.Visible = false;
        }

        // BEGIN MOD:  AbleMods.com
        // 8-18-2010
        // Do not allow ship-to address change if order is over $ 200
        if (_Basket.Items.TotalPrice() > 200)
        {
            UseShippingAddress.Enabled = false;
            UseShippingAddressLabel.Text = "For security reasons, this order can only be shipped to your billing address<br/>Please call for business orders with a PO Box address";
        }
        // END MOD: AbleMods.com
Now save the change and test it. Feel free to change the text so suit your particular business needs.

Conclusion
Card holders are not the only victims of online fraud. Merchants often are left "holding the bag". You as the store owner simply cannot depend on your relationship with your bank every time a chargeback comes through. Banks built the credit system and they made darn sure the Terms of Use protect their interests first. It's in your best interest to maintain solid and consistent fraud security policies for ensuring every transaction is valid.

And just in case you were wondering....yes, there's even a fee for losing a chargeback dispute :roll:
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

Post Reply