Skip to content

Troubleshooting

What you see Why What to do
“Braintree did not accept the API keys” Public and private key are from another account or environment Copy both keys again from the same Control Panel (sandbox or production) and Save and test
“The keys belong to merchant …” The merchant ID does not match the keys Enter the merchant ID shown in the Control Panel next to the keys
The method is not shown at checkout Not connected, not licensed, no merchant account for the cart currency with conversion off, or (Multi-Vendor, owner mode off) a cart with several vendors or a vendor without a connection Test the connection; check the merchant accounts on the Connection page and the “Charge other currencies” setting
“Your bank did not confirm the payment (3D Secure)” 3D Secure could shift the liability but did not The customer tries again or uses another card; switch off “Require liability shift” only if you accept the chargeback risk
“Braintree has not confirmed your payment yet” Braintree did not answer clearly (timeout) Nothing to do: the cron books the payment as soon as Braintree reports it; make sure the cron runs
Refund not offered on the order tab The payment is not settling yet Void it instead, or refund it after settlement (usually within a day)
Webhook “Check URL” fails The URL is not HTTPS, or a firewall / bot filter blocks Braintree Run the storefront on HTTPS; allow POST requests to the webhook URL
Red banner “Payments that need your attention” A payment that did not match the order still holds money, or a settlement was declined Open the payment in the list; void or refund it, or check it in the Braintree Control Panel

Turn on “Debug log” (add-on settings) to see every API call in Orders > Braintree > Log; keys, card data and personal data are masked. Switch it off when you are done.