Giving Customers a Shipping Method Choice?

brewhardware
Frequent Contributor
Frequent Contributor

First, I use Paypal hosted buttons (cart) and it's fine normally. I set weight values to my items and use different profiles to calculate total shipping cost based on total weight and which U.S. state the buyer resides in.

 

The problem I'm having is that I want to offer "store pickup" as an option for the obvious reason. If I create this as an additional option in my shipping profiles setup page, it just doesn't show up as an option in the checkout screens for customers.

 

I've double checked that the profile is set to active and also applicable to all states and regions.

 

Off hours tech support claims it wasn't designed that way and that only one profile will be applicable. I know this is false because I've given international customers the choice between First Class and Priority shipping in the past and it worked fine.

I also suspect that giving the customer a choice between USPS, FEDEX and UPS would be pretty standard. What am I missing?

 

 

Login to Me Too
5 REPLIES 5

snowshoe
Frequent Advisor
Frequent Advisor

Sounds like the Tech was a bit sleepy.  Agree, you can have multiple shipping methods, it's explained in the Standard User Guide and it's quite clear you can add "additional" methods in your account profile shipping preferences.  They also offer various choices from Free Shipping, Pickup and Store Pickup.   The problem with the way it works is that the customer has to go thru the checkout process to almost the last page, there they can choose their shipping preference.  You can't really test it without entering your CC information or almost completing the checkout process.

 

If you have added a Store Pickup method and gone thru the complete process and the option was not part of the Drop-Down choices, then we can only guess that something is wrong on PayPal's end or they made a secret change somewhere.

 

There is a workaround that's used for non-US PayPal Accounts as they don't have the same shipping features and options the US Accounts have.   You can provide a shipping method choice for the customer in the item button code.  The code needs to be manually created and you need to include the shipping override variables.  The use of a script is often included to manage the choices.   See the example below for some ideas.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>Button Example Code</title>

<!-- START META TAG SECTION -->
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="Content-Language" content="en">
<!-- END META TAG SECTION -->


<!-- Start of Script -->
<SCRIPT language=javascript>
function CalculateOrder(form)
{

if (form.os1.value == "UPS Ground - $8.00")
 {
 form.shipping.value = "8.00";
 }
 
if (form.os1.value == "UPS 2 Day - $20.00")
 {
 form.shipping.value = "20.00";
 }

if (form.os1.value == "UPS Overnight - $30.00")
 {
 form.shipping.value = "30.00";
 }
 
if (form.os1.value == "USPS Priority Mail - $8.25")
 {
 form.shipping.value = "8.25";
 } 

 if (form.os1.value == "Store Pick Up - No Charge")
 {
 form.shipping.value = "0.00";
 } 
}  
</SCRIPT>
<!-- End of Script -->


</head>

<body>

<!-- START SAMPLE CODE SECTION -->


<!-- PARAGRAPH 1 -->
Shipping &amp; Delivery Examples

<br><br>

Add to Cart - Script &amp; Combination Dropdown Price &amp; <br>Local Shipping Selection Services.

<br><br>

Gold Widget

<br><br>

<!-- Start of Add to Cart Form -->
<!-- Note: target="paypal" was replaced with target="_self" -->
<!-- Note: shopping_url also added to code -->
<!-- These two changes allow better functionality with IE and Firefox --> 
<form target="_self" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<!-- If using a Business or Company Logo Graphic, include the "cpp_header_image" variable. -->
<input type="hidden" name="cpp_header_image" value="https://www.yourwebsite.com/logo.jpg"> 
<!-- Replace "business" value with your PayPal Email Address or your Merchant Account ID -->
<input type="hidden" name="business" value="your email address">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="add" value="1">
<input type="hidden" name="item_name" value="Gold Widget">
<!-- Replace value with the web page you want the customer to return to -->
<input type="hidden" name="shopping_url" value="http://www.yourwebsite.com/Shipping_Delivery_08.html">
<!-- Replace value with the web page you want the customer to return to after a successful transaction -->
<input type="hidden" name="return" value="http://www.yourwebsite.com/ThankYou.html">
<!-- Replace value with the web page you want the customer to return to after item cancellation -->
<input type="hidden" name="cancel_return" value="http://www.yourwebsite.com/Cancel.html">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="shipping">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="button_subtype" value="products">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="cn" value="Add special instructions to the seller:">
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHosted">
<!--  -->
<input type="hidden" name="on0" value="Size">Please Select Size:&nbsp;&nbsp;
<SELECT name="os0">
<OPTION value="Small" selected>Small - $50.00</OPTION>
<OPTION value="Medium">Medium - $75.00</OPTION>
<OPTION value="Large">Large - $100.00</OPTION>
</SELECT>
<!--  -->
<!-- option_index value=0 is associated with variable on0 -->
<!-- option_index value=1 is associated with variable on1 -->
<input type="hidden" name="option_index" value="0">
<!--  -->
<input type="hidden" name="option_select0" value="Small">
<input type="hidden" name="option_amount0" value="50.00">
<input type="hidden" name="option_item_number0" value="1001-S">
<!--  -->
<input type="hidden" name="option_select1" value="Medium">
<input type="hidden" name="option_amount1" value="75.00">
<input type="hidden" name="option_item_number1" value="1001-M">
<!--  -->
<input type="hidden" name="option_select2" value="Large">
<input type="hidden" name="option_amount2" value="100.00">
<input type="hidden" name="option_item_number2" value="1001-L">
<!--  -->
<br><br>
<input type="hidden" name="on1" value="Shipping">Please Choose your Shipping Option:&nbsp;&nbsp;
<SELECT name="os1">
<OPTION value="UPS Ground - $8.00" selected>UPS Ground - $8.00</OPTION>
<OPTION value="UPS 2 Day - $20.00">UPS 2 Day - $20.00</OPTION>
<OPTION value="UPS Overnight - $30.00">UPS Overnight - $30.00</OPTION>
<OPTION value="USPS Priority Mail - $8.25">USPS Priority Mail - $8.25</OPTION>
<OPTION value="Store Pick Up - No Charge">Store Pick Up - No Charge</OPTION>
</SELECT>
<br><br>
<INPUT onclick=CalculateOrder(this.form) type="image" alt="Make payments with PayPal - it's fast, free and secure!" 
src="https://www.paypalobjects.com/en_US/i/btn/btn_cart_LG.gif" border=0 name="submit">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
<!-- End of Form -->

<br>

<!--  Start of View Cart Button Code  -->
<form target="_self" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<!-- If using a Business or Company Logo Graphic, include the "cpp_header_image" variable. -->
<input type="hidden" name="cpp_header_image" value="https://www.yourwebsite.com/logo.jpg"> 
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="display" value="1">
<!-- Replace "business" value with your PayPal Email Address or your Merchant Account ID -->
<input type="hidden" name="business" value="your email address">
<!-- Replace value with the web page you want the customer to return to -->
<input type="hidden" name="shopping_url" value="http://www.yourwebsite.com/Shipping_Delivery_08.html">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_viewcart_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form> 
<!--  End of View Cart Button Code  -->



<!-- END BUTTON EXAMPLES -->



<!-- END SAMPLE CODE SECTION -->

<br><br><br><br>
<hr align="left" width="50%" noshade>
<br><br>
NOTES:
<br>
In order to test the code, you must replace the &quot;business&quot; value variable with your PayPal Email Address or your Merchant Account ID.

</body>
</html>

 

Note, that may or may not help your situation but, it is an option and it's the only way non US PayPal Accounts can offer other shipping choices.

 

Can't really speak for what you're seeing without doing some additional testing, if you have totally tested everything you can do, all you can do is open another Support Ticket and ping them again.

Login to Me Too

brewhardware
Frequent Contributor
Frequent Contributor

Thanks! I didn't realize the selection would be AFTER putting in CC info because that's really a stupid design. What if the default shipping estimate turns off the customer and they never even follow through? In any case, I did a test transaction and I never saw an option to change to store pickup. I went as far as review the order and just didn't click the pay now button.

 

Login to Me Too

snowshoe
Frequent Advisor
Frequent Advisor

Agree, the design may not be the best however, it's improved quite a bit from when they first started.  From experience, we know that customers don't always pick up on the available shipping options.  In the past, when we offered different methods, we had to explain ahead of time what options were available and that they could make a choice.   I'm thinking it was designed that way because PayPal wanted to add the shipping costs last knowing at that point in the Checkout process, nothing else was going to change.   Over time for our needs we simply streamlined our shipping, we only ship to US addresses and everything is USPS Priority Mail.

 

The Payments Standard shopping cart is not a one size fits all, if your requirements are basic, the cart and process works great.  PayPal's thought behind this is to provide a basic shopping cart for folks who in general are not coders and have a limited number of items.  This allows them to get up an running right away.

 

When you need more features or can't do what you want to do with the tools and features available, then maybe a 3rd party cart is the better approach.  It's all about the functions you need.  

 

As for you going thru the process and still not seeing the pickup option, not sure at this point as to why.  If I figure something out, I'll post it.

 

 

Login to Me Too

brewhardware
Frequent Contributor
Frequent Contributor

Snowshoe, I appreciate the time you're putting into trying to help me. Granted, I know I'm well past the point where I need to go payments pro with 3rd party cart. The problem is that the business grew so darn fast that I don't have time to work it all out. When I built my site on Joomla with hosted buttons, I had time to learn it all as I went. Now I'm processing 50 orders a day and losing my mind.

 

The prospect of rebuilding my whole site based on a different cart solution while my current site is still functioning is really blowing my mind. I suppose it may be time to hire someone to build it for me but then I won't appreciate all the nuances like I currently do. If something goes wrong now, I'm prepared to fix it.

 

If there were a way to baby step into it, I suppose I would.

 

Login to Me Too

snowshoe
Frequent Advisor
Frequent Advisor

Did a little Sandbox testing this morning.  I setup several shipping methods, Store Pick-up was one of them.  It worked fine, as it did appear in the dropdown selection box.  It also calculated out to $0.00 charge for Store Pick-up.   The ability to select various shipping methods has been available for a few years so I'm still not sure why it's not working for you.   If you can get the right Tech Support person involved, you should get an answer.  Best I can do for now!

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.