I just found out Braintree credit card payments does not work anymore. Don’t know when or why it happened. I changed nothing on Braintree, and nothing on InvoiceNinja in online payment settings. However I did update Invoice Ninja frequently and had to update PHP from 6 to 7.
When page loads there are 2 warnings, that I guess are OK.
The SSL certificate used to load resources from https://api.braintreegateway.com will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.
credit_card:1 The SSL certificate used to load resources from https://client-analytics.braintreegateway.com will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.
Navigated to https://globevoices.com/payments/public/payment/mfztgsgtpc0nty8mwnnbrq5zzqdep4lp/credit_card
Then I enter my credit card data and press Pay Now there is no activity anymore in any of the log files.
However. There are errors in browser console when I break it by press Cancel.
It seems there are some JS calls loaded on HTTP instead is HTTPS. It says This request has been blocked. See bellow.
Navigated to https://globevoices.com/invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp
invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp:1 Mixed Content: The page at 'https://globevoices.com/invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp' was loaded over HTTPS, but requested an insecure script 'http://code.jquery.com/jquery-2.1.4.min.js'. This request has been blocked; the content must be served over HTTPS.
invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp:225 Uncaught ReferenceError: $ is not defined
at invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp:225
(anonymous) @ invoice.html?mfztgsgtpc0nty8mwnnbrq5zzqdep4lp:225
mfztgsgtpc0nty8mwnnbrq5zzqdep4lp:1 Failed to start loading
I did cleared the cache (?clear_cache=true) and completely turned off iframe, just to be 100% shure it’s not iframe.
This is what happens after Pay Now Click
response from upper one is /**/callback_jsonb5c9ef9692b443a5a83ec21e879cbae9({"creditCards":[{"type":"CreditCard","nonce":"f866f6b3-61aa-0fad-8bfc-16e07b155806","description":"ending in 94","consumed":false,"threeDSecureInfo":null,"details":{"lastTwo":"94","lastFour":"4694","cardType":"Visa"},"binData":{"prepaid":"No","healthcare":"No","debit":"No","durbinRegulated":"No","commercial":"No","payroll":"No","issuingBank":"Unicredit Banka Slovenija D.D.","countryOfIssuance":"SVN","productId":"F"}}],"status":202})
response fron second one is /**/callback_json111a1571ca8f461fa4813a694b8cd81f({status:201})
Does that explain anything?
The Pay Now button stays grayed as waiting for something.
I disabled token billing, but Visa Card on File is still there. I cleared the cache too. Does this applies for new invoices or should work for current ones too?