Cannot read properties of null (reading ‘verifyCard’)
-
Hello,
We recently upgraded to the Checkout Block and have no intention of going back to Classic Checkout. We use the Braintree plugins for both Credit Cards and PayPal. We’ve noticed much fewer Credit Card orders coming through. One customer forwarded us a screenshot of an error that they received. The error was “Cannot read properties of null (reading ‘verifyCard’)”.
We don’t have exact steps to reproduce this one at this time, but it’s pretty clear that customers are having a tough time running credit cards on the site. Nearly all of our orders are coming through AmazonPay and PayPal currently.
We ask that you check to ensure that the current plugin works with Credit Cards and the Checkout Block, now default on all Woo sites and being upgraded on preexisting sites.
Thanks, and I’ll update this card if I get any further details. We’re planning to try Stripe and PayPal Payments for the Express Checkout buttons, which is why we have no intentions of leaving the newer Checkout Block technology.
-
Hey there, @seanconklin! Thanks for contacting us. I’m happy to help you.
That’s not good. Let’s investigate to figure out what is going on.
To confirm, it is not all credit card payments that have this issue, correct?
Can you please share the screenshot you got from the customer so we can take a look? please remove any sensitive information from it before sharing it.
I recommend using https://snipboard.io. You can share the direct link to the image as a response to this topic.Furthermore, I’d like to understand your site properly. Please share with us the necessary information below for us to investigate the issue further:
System Status Report which you can find via WooCommerce > Status > Get system report > Copy for support.
Fatal error logs (if any) under WooCommerce > Status > Logs. Then you can use the selector to search for Fatal Errors.
You could copy and paste your reply here or paste it via https://gist.github.com/ and send the link here.Lastly, it would really help if you could enable debug mode and test mode and run some test orders to see if you are able to trigger the issue.
If the issue is triggered while debug mode is active it can generate more error logs that might help us investigate this.
You can choose to log API requests directly on the checkout page, save them to the?WooCommerce > Status > Logs?page, or both.Looking forward to your reply.
Have a wonderful day!
Here’s the screenshot that I received: https://snipboard.io/L2c1Tr.jpg
There’s no fatal errors showing up in the Woo > Status > Logs area.
Here’s the SSR and I removed the site URL for privacy:
### WordPress Environment ###
WordPress address (URL):
Site address (URL):
WC Version: 9.1.4
Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site.
Action Scheduler Version: ? 3.7.4
Log Directory Writable: ?
WP Version: 6.6.1
WP Multisite: –
WP Memory Limit: 512 MB
WP Debug Mode: –
WP Cron: ?
Language: en_US
External object cache: ?
### Server Environment ###
Server Info: nginx
PHP Version: 8.2.19
PHP Post Max Size: 256 MB
PHP Time Limit: 43300
PHP Max Input Vars: 10000
cURL Version: 7.81.0
OpenSSL/3.0.2
SUHOSIN Installed: –
MySQL Version: 8.0.36-28
Max Upload Size: 256 MB
Default Timezone is UTC: ?
fsockopen/cURL: ?
SoapClient: ?
DOMDocument: ?
GZip: ?
Multibyte String: ?
Remote Post: ?
Remote Get: ?
### Database ###
WC Database Version: 9.1.4
WC Database Prefix: wp_
Total Database Size: 2074.42MB
Database Data Size: 974.21MB
Database Index Size: 1100.21MB
wp_woocommerce_sessions: Data: 2.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_order_items: Data: 25.56MB + Index: 9.52MB + Engine InnoDB
wp_woocommerce_order_itemmeta: Data: 134.69MB + Index: 156.38MB + Engine InnoDB
wp_woocommerce_tax_rates: Data: 1.52MB + Index: 0.66MB + Engine InnoDB
wp_woocommerce_tax_rate_locations: Data: 1.52MB + Index: 0.80MB + Engine InnoDB
wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_shipping_zone_locations: Data: 0.05MB + Index: 0.05MB + Engine InnoDB
wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_payment_tokens: Data: 0.19MB + Index: 0.11MB + Engine InnoDB
wp_woocommerce_payment_tokenmeta: Data: 1.52MB + Index: 3.03MB + Engine InnoDB
wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_actions: Data: 3.02MB + Index: 3.64MB + Engine InnoDB
wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_logs: Data: 2.02MB + Index: 1.70MB + Engine InnoDB
wp_ccom_activation_codes: Data: 1.52MB + Index: 0.00MB + Engine InnoDB
wp_ccom_serial_numbers: Data: 0.22MB + Index: 0.00MB + Engine InnoDB
wp_commentmeta: Data: 3.52MB + Index: 4.03MB + Engine InnoDB
wp_comments: Data: 98.64MB + Index: 76.23MB + Engine InnoDB
wp_e_events: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_e_notes: Data: 0.02MB + Index: 0.17MB + Engine InnoDB
wp_e_notes_users_relations: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_e_submissions: Data: 9.52MB + Index: 15.78MB + Engine InnoDB
wp_e_submissions_actions_log: Data: 1.52MB + Index: 1.88MB + Engine InnoDB
wp_e_submissions_values: Data: 3.52MB + Index: 4.03MB + Engine InnoDB
wp_gf_addon_feed: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_gf_draft_submissions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_gf_entry: Data: 1.52MB + Index: 0.25MB + Engine InnoDB
wp_gf_entry_meta: Data: 6.52MB + Index: 7.58MB + Engine InnoDB
wp_gf_entry_notes: Data: 0.28MB + Index: 0.11MB + Engine InnoDB
wp_gf_form: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_gf_form_meta: Data: 0.09MB + Index: 0.00MB + Engine InnoDB
wp_gf_form_revisions: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_gf_form_view: Data: 0.47MB + Index: 0.38MB + Engine InnoDB
wp_gf_rest_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_imagify_files: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_imagify_folders: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailchimp_carts: Data: 0.22MB + Index: 0.00MB + Engine InnoDB
wp_mailchimp_jobs: Data: 45.58MB + Index: 0.00MB + Engine InnoDB
wp_ms_snippets: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_options: Data: 4.13MB + Index: 0.33MB + Engine InnoDB
wp_postmeta: Data: 47.58MB + Index: 16.06MB + Engine InnoDB
wp_posts: Data: 46.58MB + Index: 28.17MB + Engine InnoDB
wp_redirection_404: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_redirection_groups: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_redirection_items: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_redirection_logs: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_rg_form: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_rg_form_meta: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
wp_rg_form_view: Data: 0.20MB + Index: 0.17MB + Engine InnoDB
wp_rg_incomplete_submissions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_rg_lead: Data: 0.33MB + Index: 0.09MB + Engine InnoDB
wp_rg_lead_detail: Data: 2.52MB + Index: 4.78MB + Engine InnoDB
wp_rg_lead_detail_long: Data: 0.22MB + Index: 0.00MB + Engine InnoDB
wp_rg_lead_meta: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_rg_lead_notes: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_snippets: Data: 0.11MB + Index: 0.03MB + Engine InnoDB
wp_taxjar_record_queue: Data: 4.52MB + Index: 2.52MB + Engine InnoDB
wp_term_relationships: Data: 1.52MB + Index: 1.52MB + Engine InnoDB
wp_term_taxonomy: Data: 0.08MB + Index: 0.11MB + Engine InnoDB
wp_termmeta: Data: 0.09MB + Index: 0.11MB + Engine InnoDB
wp_terms: Data: 0.08MB + Index: 0.09MB + Engine InnoDB
wp_tm_taskmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_tm_tasks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_usermeta: Data: 234.80MB + Index: 268.78MB + Engine InnoDB
wp_users: Data: 17.55MB + Index: 17.55MB + Engine InnoDB
wp_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
wp_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_customer_lookup: Data: 7.52MB + Index: 6.03MB + Engine InnoDB
wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_gpf_render_cache: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_order_addresses: Data: 31.56MB + Index: 36.13MB + Engine InnoDB
wp_wc_order_coupon_lookup: Data: 0.14MB + Index: 0.16MB + Engine InnoDB
wp_wc_order_operational_data: Data: 19.56MB + Index: 12.06MB + Engine InnoDB
wp_wc_order_product_lookup: Data: 19.55MB + Index: 18.06MB + Engine InnoDB
wp_wc_order_stats: Data: 15.55MB + Index: 12.55MB + Engine InnoDB
wp_wc_order_tax_lookup: Data: 7.52MB + Index: 8.03MB + Engine InnoDB
wp_wc_orders: Data: 30.56MB + Index: 52.22MB + Engine InnoDB
wp_wc_orders_meta: Data: 128.67MB + Index: 321.98MB + Engine InnoDB
wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_meta_lookup: Data: 0.06MB + Index: 0.11MB + Engine InnoDB
wp_wc_rate_limits: Data: 1.52MB + Index: 1.52MB + Engine InnoDB
wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_amazon_buyer_index: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_exported_csv_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_gc_activity: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_gc_cards: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_gc_cardsmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_gpf_google_taxonomy: Data: 2.02MB + Index: 0.14MB + Engine InnoDB
wp_yoast_indexable: Data: 1.52MB + Index: 1.13MB + Engine InnoDB
wp_yoast_indexable_hierarchy: Data: 0.16MB + Index: 0.28MB + Engine InnoDB
wp_yoast_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_yoast_primary_term: Data: 0.06MB + Index: 0.03MB + Engine InnoDB
wp_yoast_seo_links: Data: 1.52MB + Index: 1.92MB + Engine InnoDB
wp_yoast_seo_meta: Data: 0.08MB + Index: 0.00MB + Engine InnoDB
### Post Type Counts ###
acf-field: 13
acf-field-group: 3
attachment: 5412
custom_css: 2
customize_changeset: 6
elementor_font: 2
elementor_library: 67
faq: 582
jetpack_migration: 2
jp_pay_product: 1
mt_pp: 19
nav_menu_item: 20
oembed_cache: 94
page: 101
post: 506
product: 108
product_variation: 117
revision: 4
shop_coupon: 1104
shop_order_placehold: 129162
vendor: 987
wp_global_styles: 1
wp_navigation: 1
### Security ###
Secure connection (HTTPS): ?
Hide errors from visitors: ?
### Active Plugins (31) ###
Gravity Forms: by Gravity Forms – 2.8.15
Advanced Custom Fields: by WP Engine – 6.3.5
Akismet Anti-spam: Spam Protection: by Automattic - Anti-spam Team – 5.3.3
WP Engine Smart Plugin Manager: by WP Engine – 5.18.0
Code Snippets: by Code Snippets Pro – 3.6.5.1
Elementor Pro: by Elementor.com – 3.23.2
Elementor: by Elementor.com – 3.23.3
Google Tag Manager for WooCommerce PRO: by Tag Concierge – 1.12.0
Imagify: by Imagify – Optimize Images & Convert WebP & Avif – 2.2.2
Mailchimp for WooCommerce: by Mailchimp – 4.2.1
Mailgun: by Mailgun – 2.1.0
reCaptcha for WooCommerce: by I Thirteen Web Solution – 2.51
Redirection: by John Godley – 5.4.2
TaxJar - Sales Tax Automation for WooCommerce: by TaxJar – 4.2.1
UpdraftPlus - Backup/Restore: by UpdraftPlus.Com
DavidAnderson – 1.24.4
User Switching: by John Blackbourn – 1.8.0
WooCommerce.com Update Manager: by Automattic – 1.0.3
WooCommerce Customer/Order/Coupon Export: by SkyVerge – 5.5.1
WooCommerce Gateway Affirm: by WooCommerce – 2.4.1
WooCommerce Amazon Pay: by WooCommerce – 2.5.2
Braintree for WooCommerce Payment Gateway: by WooCommerce – 3.1.7
Woo Gift Cards: by Woo – 2.0.1
WooCommerce Print Invoices/Packing Lists: by SkyVerge – 3.13.5
WooCommerce Google Product Feed: by Ademti Software Ltd. – 11.0.12
WooCommerce FedEx Shipping: by WooCommerce – 4.0.0
WooCommerce USPS Shipping: by WooCommerce – 5.0.0
WooCommerce - ShipStation Integration: by WooCommerce – 4.4.4
WooCommerce: by Automattic – 9.1.4
Yoast SEO: by Team Yoast – 23.1
WP Extended Search: by 5um17 – 2.1.2
WP-Optimize - Clean, Compress, Cache: by David Anderson
Ruhani Rabin
Team Updraft – 3.4.2
### Inactive Plugins (2) ###
User Role Editor: by Vladimir Garagulya – 4.64.2
WooCommerce PayPal Payments: by WooCommerce – 2.8.2
### Dropin Plugins () ###
advanced-cache.php: advanced-cache.php
object-cache.php: Memcached Redux
### Must Use Plugins (6) ###
Elementor Safe Mode: by Elementor.com – 1.0.0
Force Strong Passwords - WPE Edition: by Jason Cosper – 1.8.0
WP Engine Cache Plugin: by WP Engine – 1.3.1
WP Engine Seamless Login Plugin: by WP Engine – 1.6.1
WP Engine Security Auditor: by wpengine – 1.1.1
WP Engine System: by WP Engine – 5.0.1
### Settings ###
API Enabled: –
Force SSL: –
Currency: USD ($)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
variable (variable)
Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)
Connected to WooCommerce.com: ?
Enforce Approved Product Download Directories: ?
HPOS feature enabled: ?
Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
HPOS data sync enabled: –
### Logging ###
Enabled: ?
Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
Retention period: 30 days
Level threshold: –
Log directory size: 3 MB
### WC Pages ###
Shop base: #21383 - /shop/
Cart: #21384 - /cart/ - Contains the woocommerce/cart block
Checkout: #21385 - /checkout/ - Contains the woocommerce/checkout block
My account: #21386 - /my-account/
Terms and conditions: ? Page not set
### Theme ###
Name: Hello Elementor
Version: 3.1.1
Author URL: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Child Theme: ? – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ?
### Templates ###
Overrides: –
### WooCommerce Google Product Feed feeds ###
20453b54dac061dc: Google MC
Type: google
Category filter: only
Categories: Plugins(2078)
Effects Pedals(1557)
Eurorack Modules(1563)
Power Supplies(1567)
### WooCommerce Google Product Feed options ###
Include variations in feed: Enabled
Send "item group ID": -
Expanded schema markup: -
Debug key: 097c521b-d56a-42e4-8529-351d894a40bd
### WooCommerce Google Product Feed fields ###
Title: Pre-populates from product product_title.
Product description: Main product description (full preferred) plus variation description
Availability (in stock products): Defaults to "in stock".
Availability (backordered products): Defaults to "in stock".
Availability (out of stock products): Defaults to "out of stock".
Brand: Defaults to "###".
Manufacturer Part Number (MPN): Pre-populates from product sku.
Product Type: Pre-populates from product_cat taxonomy.
Google Product Category:
Global Trade Item Number (GTIN):
Size system: Defaults to "US".
### WooCommerce Google Product Feed DB status ###
Database version: 17
Active database version: 17
wc_gpf_render_cache: Empty
woocommerce_gpf_google_taxonomy (en-US): 5595 items
### Gift Cards ###
Database Version: 2.0.1
Loopback Test: ?
Task Queueing Test: ?
### Admin ###
Enabled Features: activity-panels
analytics
product-block-editor
coupons
core-profiler
customize-store
customer-effort-score-tracks
import-products-task
experimental-fashion-sample-products
shipping-smart-defaults
shipping-setting-tour
homescreen
marketing
mobile-app-banner
navigation
onboarding
onboarding-tasks
product-custom-fields
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
shipping-label-banner
subscriptions
store-alerts
transient-notices
woo-mobile-welcome
wc-pay-promotion
wc-pay-welcome-page
launch-your-store
Disabled Features: experimental-blocks
minified-js
pattern-toolkit-full-composability
product-pre-publish-modal
printful
settings
async-product-editor-category-field
product-editor-template-system
Daily Cron: ? Next scheduled: 2024-08-02 21:25:49 -07:00
Options: ?
Notes: 78
Onboarding: completed
### WooCommerce Customer/Order/Coupon Export ###
Automated exports: 0
Custom formats: 3
Next export: Not scheduled
### Braintree (Credit Card) ###
Environment: Production
Tokenization Enabled: –
Debug Mode: Off
### Braintree (PayPal) ###
Environment: Production
Tokenization Enabled: –
Debug Mode: Off
### Action Scheduler ###
Canceled: 15
Oldest: 2024-07-08 07:33:18 -0700
Newest: 2024-08-02 09:42:00 -0700
Complete: 8,755
Oldest: 2024-07-02 17:04:29 -0700
Newest: 2024-08-02 10:23:26 -0700
Pending: 7
Oldest: 2024-08-02 10:36:22 -0700
Newest: 2024-08-02 17:26:35 -0700
### Status report information ###
Generated at: 2024-08-02 10:34:35 -07:00We’ve received three or four Braintree credit card orders today, so the problem seems to be getting better on its own!
Unfortunately though we did hear from one other customer who had trouble with payment. All I heard from C/S on that one was “payment is giving the null error message again.?He is older and does not know how to clear his history”. So we’re not out of the woods yet, but things are looking up overall.
Hello Sean Conklin,
Thank you for your reply.
Are you using any custom code to modify Checkout fields?
I am asking because a similar issue was reported a year ago and our devs updated the plugin to fix that problem.Since the Checkout Block relies on JS, it is possible that this problem was caused by a JS cache on the customer’s browser.
I am glad you have received multiple orders via Braintree credit card.
But as you said, we are not out of the woods yet and must observe this for some more time.Feel free to reply if you have more information to share. ??
Best regards.
We’re not doing any checkout modifications. These days I remove those whenever I find them since it’s (a) disruptive to the customer and (b) incompatible with the Express Checkout methods that have become very popular, bypassing checkout fields accordingly.
It’s possible caches may have something to do with this one. I did flush all of the WP Engine caches earlier yesterday so the timing would line-up there. We’ll keep an eye on it…
Hi @seanconklin
I’m glad to hear that you’re not using any custom code to modify Checkout fields, as this could potentially lead to conflicts.
The issue with the ‘null’ error message could indeed be related to cache, especially if flushing the WP Engine caches seemed to coincide with an improvement.
Additionally, head over to WooCommerce → Status → Tools, and do the following:
- WooCommerce transients – Clear
- Expired transients – Clear
- Clear template cache – Clear
- Capabilities – Reset Capabilities
- Clear customer sessions -Clear
- Product lookup tables – Regenerate
- Regenerate the product attributes lookup table – Regenerate
Next, it would be a good idea to ask customers who encounter this issue to clear their browser cache as well, as outdated cache files on their end could also contribute to the problem.
Please continue to monitor the situation and don’t hesitate to reach out if the issue persists or if you notice any new patterns. We’re here to help.
Hi @seanconklin
I’m marking this topic as “resolved” due to recent inactivity. If more assistance is needed, feel free to post back here or open a new topic.
Thanks!
I don’t consider it resolved. I can’t spend the client’s budget going down rabbit holes, but I do believe that in time there will be more clarity on this problem. I’m keeping an eye on things. We released Stripe (a requirement for the Browser Demand payments anyhow) and that provides a secondary CC form as well, but the client may prefer the Braintree CC form, so we’ll see how this goes. I suppose we’ll have to open a new ticket then when there’s more details.
Hi @seanconklin
You’re right, it’s important to keep an eye on the issue to gather more details. It will help us understand the root cause and find the appropriate solution.
In the meantime, I would recommend you to keep the Stripe as a secondary CC form. This will provide an alternative payment method for your customers and may help to avoid potential transaction issues.
Should you encounter any further issues or if you have more details about the problem, please don’t hesitate to open a new ticket. We’re here to help and we appreciate your patience as we work to resolve this issue.
Thanks!
- You must be logged in to reply to this topic.