Transparent Redirect
Updating Credit Cards
Note
The integration method outlined below is deprecated.
Learn more about upgrading to the Braintree SDKs.
- Update a credit card
- Update a credit card and billing address
- Update a credit card and create a new billing address
Form action URL
You should set the action attribute of your form to the URL for TransparentRedirect.
- Java
gateway.transparentRedirect().url()
TR data
The form needs to include a hidden field named tr_data
. It needs to include the URL
that Braintree will redirect the user to after storing the form params. It also needs to include the
token of the credit card to update. Generating the TR Data:- Java
CreditCardRequest trParams = new CreditCardRequest()
.paymentMethodToken("token_of_payment_method_to_update");
String trData = gateway.transparentRedirect().trData(trParams, "http://example.com/url_to_redirect_to");
- HTML
<input type="hidden" name="tr_data" value="insert generated tr_data here" />
tr_data
to your form.
TR form fields
Create text fields for data parameters that you want to have your users enter.
- HTML
<input type="text" name="credit_card[number]" />
<input type="text" name="credit_card[expiration_date]" />
- HTML
<input type="text" name="credit_card[cardholder_name]" />
<input type="text" name="credit_card[billing_address][street_address]" />
<input type="text" name="credit_card[billing_address][postal_code]" />
Create new or update existing
If you’re updating a billing address along with the credit card, you’ll need to set the
update_existing
option of the billing address in the TR data. If this is not set, a new
address will be created instead of an existing one being updated.
- Java
CreditCardRequest trParams = new CreditCardRequest()
.paymentMethodToken("token_of_payment_method_to_update")
.billingAddress()
.options()
.updateExisting(true)
.done()
.done();
String trData = gateway.trData(trParams, "http://example.com/url_to_redirect_to");
TR confirmation
Before the credit card is actually created, you will need to confirm the TR request. For the
confirmation, you will need to use the query string from the URL on the Redirect. Braintree will add
parameters to the query string that identify the request, so the redirect URL will look something
like:
- HTML
http://example.com/path?http_status=200&id=vgqssrhqhxfhgrwz&hash=0c3c641f1de3ed1c732c54cab367355350603b28
- Java
Result<transaction> result = gateway.transparentRedirect().confirmCreditCard(queryString);