|
|
|
|
|
by nthj
4845 days ago
|
|
About time is right. I had to use Transparent Redirect for a high-volume-sales app recently (couldn't use Stripe for legacy reasons), and the experience was frustrating, error-prone, and didn't fit well within "the rails way", requiring a lot of custom code that would have just worked with Stripe. The worst part about Transparent Redirect is that you can't run any server-side callbacks (like confirming inventory is still available) at the point of sale, you have to run it when they first load the checkout page. Why? Because by the time the checkout page data hits your server, Braintree has already charged the customer's card. If you need to abort the transaction at that point it's frustrating at best. Maybe there's a really obvious way to work-around that but multiple emails to their developer support weren't helpful. With Stripe, you can run callbacks and validations all day long and you'll never capture your customer's money until you explicitly say "do it." Much cleaner. |
|
There are only a couple options available in the situation you describe. First, you could vault the card before you charge it. Not great. Extra code, and you may not really want to store the card after the sale (depending upon your use-case). The other work-around, while not involving the vault may even be worse. If you don't want to vault the card, you could issue a void after confirming TR if something went awry (or say you're out of stock).
This is why we're really excited about getting Braintree.js into people's hands. It eliminates an extra round-trip for the customer to a third-party which is necessary with tokenization or TR. You can validate the form data before you decide to initiate the sale. It's really simple, too.