I'm having trouble with One-Page Checkout. When I ...
# suitecommerce
a
I'm having trouble with One-Page Checkout. When I am in the SuiteCommerce Standard web store logged in as a shopper with a customer center role, and I Proceed to Checkout, it goes to the #opc checkout page but no content loads, it's just blank. This doesn't happen and it works fine if I use a different kind of checkout other than one-page checkout, and I'm having trouble figuring out why or how to fix it. The only indication that anything tried to happen on that blank checkout page is a warning in the Javascript console. This seems like a problem that many others have probably experienced, so I hope one of you can help me troubleshoot it: jQuery.Deferred exception: Cannot read properties of undefined (reading 'type') TypeError: Cannot read properties of undefined (reading 'type') at constructor.render (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:780635) at https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:1001625 at Function.ft (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:9536) at constructor.render (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:1001464) at constructor.render (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:1289307) at constructor.render (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:996501) at s._showContent (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:656649) at Array.anonymous (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:655700) at e (https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:49283) at https://mytestwebstoreblahblah.com/scs/javascript/checkout.js?t=1726775461039:1:49607 undefined There are no errors in the Network tab of the browser dev console, so all HTTP requests came back with a good status. It's hard to determine what it's even trying to do at this point. UPDATE: Solved; Thank you to both users who advised me in this thread and told me what to check for -- logged-in shopper's customer record didn't have Terms set to anything. Web store error doesn't say what the problem is, but populating that field fixed it.
1
b
Looking at this completely blind, my guess would be its looking for a payment method type. I would check you have all your payment methods setup properly
👆 1
e
Correct, most likely you have not setup correctly the credit cards. Try to change the checkout setup and go to the payment section, you might get the same blank page.
a
The Website Setup page indeed says there's a problem with payment methods (yellow warning banner at the top). But why would it have this problem on One-Page Checkout but work just fine when the Website is set up to use any other way of presenting the checkout? Also, we don't use any of the built-in payment methods NetSuite has; we just use an Extension from PayStand that allows the shopper to pay for their Invoices through the PayStand service, and PayStand hosts all their payment methods themselves, outside of NetSuite. So it sounds like I need to try setting up some kind of placeholder payment method, maybe? Can you advise on how to do that?
image.png
b
The other checkout flows will probably also fail once you get to the payment method selection step, it just fails immediately on one-page because you do it all in that first step. I think you still need to setup an "external checkout" payment method to handle your process which needs to be enabled for your website
e
@Aaron McCausland Setup a customer with terms and see if the invoice option appears, probably on that scenario you will not get a blank page and read what @Bryce Krah says, it might fail at that point if you do not have any payment method display in website.
1
a
I'm not sure if PayStand provides that (external checkout); I'll have to ask. That sounds like it would be paying for something that doesn't exist as a stored transaction in NetSuite yet, just exists as a shopping cart. So what happens in our use case is that the customer checks out their order without paying for it first, and that creates a Sales Order record in NetSuite, which they can then pay for AFTER they have checked out completely. This is a B2B situation, buying freight truckloads of stuff rather than ordering parcels (so the built in ship methods don't work either). This was working in one-page checkout before our last sandbox refresh (we have not yet created our web store in Production environment), so I wonder if the refresh wiped out something we had before that made it work. I'll see if it fails the same way upon reaching a certain page of multi-page checkout. But first I think I'll try making sure the logged-in shopper has Terms set to something (not blank) on their Customer record.
Yep the Terms field was blank on the customer record of the shopper. I set it to something and saved, and now the one-page checkout works! Thanks very much to all of you for helping me out so quickly! I'll make sure to include this in my knowledge base, because that error message in the web store really doesn't tell me anything.
2
e
Let us know how you ended up solving this. The terms is like a temporal workaround but you could try to create a terms called: 'PayStand' for customers that would paid using that option but it is worth checking with PayStand how to tackle this part.
a
Oh, I hadn't gone any further than setting Terms, since I believe all our customers will have that. Our web store is strictly B2B, no B2C. But it sounds like you're saying there should be a way to make it work even if the shopper customer's Terms are blank. Is that right?