BV Commerce Forum
»
BV Commerce Support
»
General Support
»
Does PayPal Express work with non-shipping products?
Rank: Member
Joined: 6/1/2004(UTC) Posts: 720
|
Does PayPal Express work with non-shipping products? I add a product to the cart and checkout out using PayPal which takes me to the paypal site to login, which I do and it shows my stores' name at the top of the paypal page and when I click continue, it comes back to bvc5 and shows the following. It looks like it is wanting me to confirm shipping details, but these are all non-shipping products. See attached. It won't allow mw past this page?
Thanks, Derek dcs68 attached the following image(s): paypal.JPG (35kb) downloaded 70 time(s).You cannot view/download attachments. Try to login or register. |
|
|
|
|
Rank: Member
Joined: 7/7/2008(UTC) Posts: 26
|
Derek, Coincidentally, I just came across this same problem today when testing a paypal express integration. I compared the LoadShippingMethodsForOrder function from the paypal express checkout and the one page checkout and found some missing code for non-shipping items in the paypal vb. I changed: Code: Private Sub LoadShippingMethodsForOrder() Dim o As Orders.Order = SessionManager.CurrentShoppingCart Dim address As Contacts.Address = GetAddress()z If (address IsNot Nothing) Then o.SetShippingAddress(address) o.BillingAddress = address o.CalculateTax() Orders.Order.Update(o)
Me.ShippingMessage.Text = String.Empty Me.ShippingRatesList.Items.Clear() If Me.ZipLabel.Text.Trim.Length < 1 Then Me.ShippingMessage.Text = "Enter a postal code to calculate shipping" Else ' Shipping Methods Dim Rates As Utilities.SortableCollection(Of Shipping.ShippingRate) Rates = o.FindAvailableShippingRates() SessionManager.LastShippingRates = Rates Me.ShippingRatesList.DataTextField = "RateAndNameForDisplay" Me.ShippingRatesList.DataValueField = "UniqueKey" Me.ShippingRatesList.DataSource = Rates Me.ShippingRatesList.DataBind() End If End If End Sub
Code: Private Sub LoadShippingMethodsForOrder() Dim o As Orders.Order = SessionManager.CurrentShoppingCart Dim address As Contacts.Address = GetAddress()
If o.HasShippingItems = False Then Dim li As New ListItem(Content.SiteTerms.GetTerm("NoShippingRequired"), "NOSHIPPING") li.Selected = True Me.ShippingRatesList.Items.Add(li) Else If (address IsNot Nothing) Then o.SetShippingAddress(address) o.BillingAddress = address o.CalculateTax() Orders.Order.Update(o)
Me.ShippingMessage.Text = String.Empty Me.ShippingRatesList.Items.Clear() If Me.ZipLabel.Text.Trim.Length < 1 Then Me.ShippingMessage.Text = "Enter a postal code to calculate shipping" Else ' Shipping Methods Dim Rates As Utilities.SortableCollection(Of Shipping.ShippingRate) Rates = o.FindAvailableShippingRates() SessionManager.LastShippingRates = Rates Me.ShippingRatesList.DataTextField = "RateAndNameForDisplay" Me.ShippingRatesList.DataValueField = "UniqueKey" Me.ShippingRatesList.DataSource = Rates Me.ShippingRatesList.DataBind() End If End If End If End Sub
I did a test order and it allowed the no shipping required option and allowed a successful checkout. This looks like a bug in BVC, can anyone from bvsoftware confirm this and confirm that this fix solves the problem? Thanks, Jake
|
|
|
|
Rank: Member
Joined: 7/7/2008(UTC) Posts: 26
|
Looks like the tab/spacing got a little messed up, the relevant area is the Code: If o.HasShippingItems = False Then Dim li As New ListItem(Content.SiteTerms.GetTerm("NoShippingRequired"), "NOSHIPPING") li.Selected = True Me.ShippingRatesList.Items.Add(li) Else
and it's companion "End If"
|
|
|
|
Rank: Member
Joined: 6/1/2004(UTC) Posts: 720
|
Hi Jake,
Did you ever get any response to this? I haven't. I want to make the changes to the code as you have shown (thank you btw) but wanted to confirm which file I am making the changes to...
Thanks, Derek |
|
|
|
|
Rank: Member
Joined: 7/7/2008(UTC) Posts: 26
|
Hi Derek, I haven't heard or seen anything else, but I havent had much luck with support in the past.
The file I edited was:
/BVModules/Checkouts/Paypal Express Checkout/Checkout.aspx.vb
That contains the LoadShippingMethodsForOrder() sub/function
|
|
|
|
Rank: Member
Joined: 6/1/2004(UTC) Posts: 720
|
Thanks Jake!
I have made the code changes and now the non-shipping orders are processing fine.
Thanks,
Derek |
|
|
|
|
Rank: Member
Joined: 10/11/2006(UTC) Posts: 162
Thanks: 1 times
|
I'm experiencing a similar issue, but my item is using a 'Free Shipping' method instead of non-shipping but I receive the same error. I get to PayPal, go back to the site, select the 'Free Shipping' option and it says 'A shipping method must be selected' even though it is. Anyone know how to fix this?
Thanks,
: Greg
|
|
|
|
Rank: Member
Joined: 7/15/2007(UTC) Posts: 54
|
I have had the same problem with "Free Shipping" and PayPal.
I assume that everyone is aware that the number 1 reason that carts are dropped is the shipping costs. When we implement free shipping our dropped carts reduce by more than 150%. So having this option is huge!!! Having PayPal is also very important for us.
Because it does not work with PayPal I switched it off. Instead I put in a negative number in "Extra ship fee" on the product page. It displays as e.g. ($9.00). This is great because all shipping methods are reduced by this amount. We use real time ship rates from UPS. If for example I put in a Extra Ship Fee of $10 and its close to our warehouse and the actual cost would be $8.00 then the ship fee is zero or Free shipping. If its further and the real ship fee is $15.00 then the actual to the customer is $5.00
OK so here is the problem. If either the ship rates on the checkout page or lookup is minus its displayed in brackets. So I have put in a note that looks like this
"Ship rates will automatically appear/change depending on the shipping State & ZIP code you enter. We discount shipping. If the value below is IN brackets e.g ($9.26) then then your shipping is completely FREE. Amounts NOT IN brackets are your discounted shipping rates."
* ($5.32) - UPS Ground * $4.15 - UPS Three Day Select
So now to the whole point in this long description.
How do I make this more elegant and code to output, if ship rate is negative display * Free and not the value in brackets.
* Free - UPS Ground * $4.15 - UPS Three Day Select
This needs to be related in both the onepagecheckout.aspx and paypalcheckout.aspx
Suggestions??
Regards Bede
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.