We have been trying to figure this one out for months now. I finally figured out what the problem was.
We have a site where everyone purchasing something is already a registered user. Think of it as a dues paying organization like the Shriners or Elks etc. We have a member directory where everyone's information is shared. Smith Cart is used to pay dues to the organization.
I have a few users who were complaining that when they go to checkout there was nothing displayed. They add items to the cart, go through the first step of checkout where they specify their information and shipping info (set to pre-populate via DNN profile) the setting selected is user Session, Cookies and DNN Profile to Auto Populate Checkout Screens. So when going through the first step the user only has to verify their credentials. I also have it set to disable DNN Profile update. The reason for this is that we don't want a user to use someone else's information for payment and change their DNN profile. We want the information in the profile to be accurate to the individual and not the billing information.
The problem is that when this information is wrong, and the person has already made a purchase, it causes an issue. For example, I made a purchase 6 months ago so my information is saved in the dbo.Smith_Customer table as a customer. The information in here is incorrect due to a mistake (not Smith Cart's fault but user error). So when I get to the first step of checkout, I see the incorrect information and correct it (even if I don't correct this information and just leave it) I go on to the next step where the process is different depending on what payment gateway you have. For example if its set to something like PayPal standard, you are presented with the final confirmation screen, or if set to Authorize.net AIM you enter credit card information and billing info.
Regardless of the payment gateway, when you get to the final confirmation screen where it shows your totals, there is nothing in there. The total is $0 and continuing will not produce anything. Looking up in the customer area on this last step, even though I may have updated my phone number on step 1, the old incorrect phone number is in there. This is what clued me in as to what was going on.
The only way for me to fix this, was to go in and find the old customer via search and delete that customer. Once it was deleted it worked fine.
I realize that by unchecking the Disable DNN Profile Update would probably fix this but I don't want to do that. My thought would be that if this were the case, Smith should update the dbo.Smith_Customer table and not rely on updating DNN Profile. Its not doing that. So again to duplicate the problem:
Make sure that Disable DNN Profile Update is checked first.
Create a user and make a purchase.
Via DNN, change the customer information, my example had a change in email address and phone number
Go back in as that login and make a purchase again.
You shouldn't be able to complete the transaction. I have tested this on multiple sites now with the same result. I've tried to rule out any other things that we may have setup but I don't see where that is applicable. It appears to me that the only requirement is that there is a customer created with old information, the setting "Disable DNN Profile Update" is checked and that same user tries to make a new purchase with some of their information changed.
|
|