Braintree's transparent redirect works beautifully, I don't have to pass any credit card info through my servers, and I'd like to keep it this way. My question is what is the preferred method to allow returning customers to use vaulted credit card/billing information? Credit card token is a protected field, so it cannot be submitted by the customer via an option field. Instead, I need to specify credit card token before generating the transaction data field. The problem with this is twofold, 1. handling disabled javascript if I were to attempt some AJAX and 2. forcing a returning user through a separate page so they can choose their credit card/billing info is almost as much hassle as re-entering the info itself.
I am a Python developer and just successfully integrated Django with Braintree.
I used almost the same approach as BenMills's description: using S2S API rather than TR for credit card switching while having the ability to create a new credit card on the same page!
But I think there might be a potential way to solve your problem: General several TR forms in one single page with corresponding tr_data for each credit card under that user, thus you don't have to worry about using AJAX to generate tr_data upon user's choices.
Braintree python transparent redirect with vault option