For both Braintree and Stripe the workflow is such that it only continues upon success and nothing happens if there is a payment failure, and no failure event exist to make an elegant handle of a credit card failure. Any great ideas?
One idea:
Set a state before the payment call and reset it afterwards
If the value never got reset then, you know you have a failure and you can show a message