Hacker News new | ask | show | jobs
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.

2 comments

Sorry to hear you had a rough time with Transparent Redirect. Having fielded quite a few e-mails on this very issue, I'd say it's possibly the biggest limitation with TR.

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.

How recently was this? I used the CSE encryption library instead of transparent redirect in my implementation, and it wasn't bad at all.

I'm actually a bit confused by this announcement, as it looks essentially the same as their existing client side encryption solution that they've had for at least a year?

I explain this in a comment that's a bit further down the page but here it is in a nutshell:

* You're right that this is very similar to our previous offering. At its core, the encryption logic is the same.

* While both libraries offer an object which will encrypt your data, that's literally all our previous offering did. New helpers used in conjunction with data attributes eliminate the need to write custom onSubmit handlers, making your integration far simpler.

* We host the JavaScript, making linking directly to it an option.

These things make our JavaScript library substantially easier to use. That, plus the fact that we now recommend Braintree.js over Transparent Redirect motivated us to rebrand it.