Let me try to cover everything, I have gotten closer though. The server is live, but not visible to the public yet. I'm using Firefox 59 and have tested with IE and Edge as well.

The cert is a Let's Encrypt cert. It seems like curl has problems with those even though no one else seems to. After using the test script for curl and putting a replacement cacert.pem file in the PHP environment, and upgrading the site to 5.6 the test script was able to run completely.

Once curl would work correctly the green button acted as it should and Square was active on the site.

I now find that I can add things to my cart, go through the checkout process until I get to the confirm my order where after I push the button it waits for a minute or two and then gives me a 500 - internal server error. A refresh of the page gives the warning about resending data the take me back to the payment information page with a "Unable to process payment due to a communications error. You may try again or contact us for assistance." notice.

Let me know where I can look for more info on fixing this.