Stripe is known for their easy to follow documentation and that's why developers love working with their API. But unfortunately we don't always have that choice. In one of these cases we were tasked with integrating with USAePay. The recommended method was use Pay.js on the frontend for an easy simple CC form that renders a styleable form, and then use the payment key returned by this form in the PHP using their SDK.
Sounds simple, but hours later, i can tell you it was anything but simple.