Rank: Member
Joined: 7/28/2006(UTC) Posts: 79
|
Hi, having discovered the cause of lost sales to be paypal express checkout, I've fixed the code myself (at least I think so, it appears to work).
I know we can customise the checkouts but it would be nice if it worked better out of the box.
I just wanted to check if its correct or maybe I'm missing something, and have it released as a hotfix if its correct.
If you click on the paypal express button in the cart.aspx, (we've took off the paypal button cos it confused customers), the paypal screen appears, we click on paypal and review the payment and return to BV. The Screen then says continue shopping or place order We've took the "continue shopping button off" now too since whilst being a nice gesture its not helping in the default position before the "Place Order" button.
We then get a screen that has a shipping method that is not selected despite it knowing and processing a payment.
The fact its not selected confused the customers enough to keep trying AGAIN to place an order (uptime 9 times we've seen!).
The customer gave up.
I'm assuming the ShippingRatesList needs to default to the first or correct item selected.
I've modified BVModules\Checkouts\Paypal Express Checkout\Checkout.aspx.vb to set the item as selected:-
Protected Sub Page_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Utilities.WebForms.MakePageNonCacheable(Me) Me.CheckoutImageButton.Visible = True If Not Page.IsPostBack Then CheckoutImageButton.ImageUrl = PersonalizationServices.GetThemedButton("PlaceOrder") Me.btnKeepShopping.ImageUrl = PersonalizationServices.GetThemedButton("ContinueShopping") DisplayPaypalExpressMode() LoadShippingMethodsForOrder()
Dim c As New BusinessRules.OrderTaskContext() c.Order = SessionManager.CurrentShoppingCart() c.UserId = SessionManager.GetCurrentUserId() BusinessRules.Workflow.RunByName(CType(c, BusinessRules.TaskContext), "Checkout Started") For Each errorMessage As BusinessRules.WorkflowMessage In c.Errors EventLog.LogEvent(errorMessage.Name, errorMessage.Description, Metrics.EventLogSeverity.Error) If errorMessage.CustomerVisible Then MessageBox1.ShowError(errorMessage.Description) End If Next
' NEW CODE
If Me.ShippingRatesList.Items.Count = 1 Then Me.ShippingRatesList.SelectedIndex = 0 End If
' END OF NEW CODE End If End Sub
I'm not sure why when reviewing the order we need to show the shipping methods at all on this page.
In this instance we are authorising and capturing funds later (when we ship the item) maybe thats following a different untested path?
Anthony
|
|
|
|
Rank: Member
Joined: 3/1/2006(UTC) Posts: 1,142
|
We are looking into this. The paypal checkout landing page was originally designed with the paypal button being on the cart page, and so I believe that this is just an inconsistency that arose when we introduced the paypal payment option on the checkout page in SP1. |
Justin Etheredge Senior Software Engineer BVSoftware |
|
|
|
Rank: Member
Joined: 8/17/2006(UTC) Posts: 681
|
I also removed the PayPal from the cart. It's strange. I want customers to fill in their details on my site and then just pay on PayPal. Corneliu. |
|
|
|
|
Rank: Member
Joined: 3/1/2006(UTC) Posts: 1,142
|
Any details that they fill in on the site are overridden by whatever paypal sends back to us, so it doesn't really affect anything. All the billing and shipping info has to be taken straight from paypal in order to avoid fraud. |
Justin Etheredge Senior Software Engineer BVSoftware |
|
|
|
Rank: Member
Joined: 2/21/2007(UTC) Posts: 1,113
|
Justin,
SF6 does it this way -- that is customers fill out the information onsite, as if they are using a credit card, and the final payment page takes them to PayPal to simply authorize the amount. Are you saying this is not possible with BV5?
That said, SF6 does not pass address information to PayPal, and therefore the payment is not eligible for PayPal's payment coverage in case the customer defaults for any reason -- and I have had that happen -- so that is a serious issue. So if what you are saying is that it needs to be done this way in order to achieve this payment coverage, then I understand -- and half way agree. |
|
|
|
|
Rank: Member
Joined: 3/1/2006(UTC) Posts: 1,142
|
When the user goes to paypal to checkout, they select their address info there. Then paypal passes this back to us. Which is why we have the option in the paypal express setting that says "Allow payments from unconfirmed address" so that you can allow them if you want. Otherwise we disallow payments from these addresses. As long as the address is confirmed with paypal I believe it is eligible for paypal's payment coverage. |
Justin Etheredge Senior Software Engineer BVSoftware |
|
|
|
Rank: Member
Joined: 2/21/2007(UTC) Posts: 1,113
|
I'm not in a position to test this at this point -- but when the order is posted back from PayPal, is their address info written to the database as it would be if they used the *standard* -- ie., credit card -- checkout page? I would hope that this would be there, so that if they came back next month and ordered with a credit card, they wouldn't have to re-enter all their info.
Thanks! |
|
|
|
|
Rank: Member
Joined: 3/1/2006(UTC) Posts: 1,142
|
Yep, this is the way that it works. |
Justin Etheredge Senior Software Engineer BVSoftware |
|
|
|
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.