I've encountered a situation with the PayPal Express Checkout that I'm not sure how to fix. Hopefully someone familiar with the ins and outs of Miva can shed some light on this behavior.
I'm customizing the checkout process to streamline some things for our users. In our flow, the customer provides their shipping ZIP in the basket, revealing state-based shipping options. They would then visit a terms and conditions page that they have to agree to before checking out. At this point, they can go directly to OPAY to enter their shipping/billing/CC info, or go to PayPal. PayPal then returns the user to OPAY, where all of the info is already filled out and the customer just acknowledges that everything is correct and places their order. In a normal scenario, this is great.
However, users who check out with PayPal can choose whatever state they want within the PayPal interface, which then submits back to the store. If this doesn't match the state we used to determine their shipping and tax rates in the basket, I need to prompt the user, giving them a choice to use the state and ZIP they entered in the basket, or the one they entered in PayPal. If the user chooses to use their PayPal shipping address, I've successfully enabled submitting this new shipping info to OSEL/OPAY in the background via AJAX to update the shipping and tax figures on the page so they can check out. So far, so good.
BUT, if they made a mistake in PayPal and actually want to use the state and ZIP they entered originally, I can't make Miva accept this change. If I try to change the ZIP to anything different than what was provided by PayPal, it won't update. I've looked through everything I can think of and grabbed Fiddler to dig through the HTTP requests and responses, but no matter what I do, it won't update the basket's ship_zip or bill_zip variables. The only way I can change them (in my flow) is to kick back to the basket and start over. Why would I not be able to change the shipping ZIP from the one PayPal provides?
Also, changing the PayPal module's setting for "Use Customer's PayPal Shipping Address for Miva Merchant Orders" doesn't change this behavior in spite of the fact that that's what I would expect that setting to control. At this point, I've noticed no difference in anything whether it's checked or not. Maybe someone can tell me if I removed some code that would affect this.
The site is at http://superiorfireworks.mivamerchant.net/retail - Be warned, it's still very much a work in progress. Also, PayPal is in Sandbox mode.
Thanks for your help. I hope this makes sense.
Josh
I'm customizing the checkout process to streamline some things for our users. In our flow, the customer provides their shipping ZIP in the basket, revealing state-based shipping options. They would then visit a terms and conditions page that they have to agree to before checking out. At this point, they can go directly to OPAY to enter their shipping/billing/CC info, or go to PayPal. PayPal then returns the user to OPAY, where all of the info is already filled out and the customer just acknowledges that everything is correct and places their order. In a normal scenario, this is great.
However, users who check out with PayPal can choose whatever state they want within the PayPal interface, which then submits back to the store. If this doesn't match the state we used to determine their shipping and tax rates in the basket, I need to prompt the user, giving them a choice to use the state and ZIP they entered in the basket, or the one they entered in PayPal. If the user chooses to use their PayPal shipping address, I've successfully enabled submitting this new shipping info to OSEL/OPAY in the background via AJAX to update the shipping and tax figures on the page so they can check out. So far, so good.
BUT, if they made a mistake in PayPal and actually want to use the state and ZIP they entered originally, I can't make Miva accept this change. If I try to change the ZIP to anything different than what was provided by PayPal, it won't update. I've looked through everything I can think of and grabbed Fiddler to dig through the HTTP requests and responses, but no matter what I do, it won't update the basket's ship_zip or bill_zip variables. The only way I can change them (in my flow) is to kick back to the basket and start over. Why would I not be able to change the shipping ZIP from the one PayPal provides?
Also, changing the PayPal module's setting for "Use Customer's PayPal Shipping Address for Miva Merchant Orders" doesn't change this behavior in spite of the fact that that's what I would expect that setting to control. At this point, I've noticed no difference in anything whether it's checked or not. Maybe someone can tell me if I removed some code that would affect this.
The site is at http://superiorfireworks.mivamerchant.net/retail - Be warned, it's still very much a work in progress. Also, PayPal is in Sandbox mode.
Thanks for your help. I hope this makes sense.
Josh
Comment