Transparent Post: Update Billing Info

The Transaction Transparent Post API allows you to securely collect or update your customer's billing information from your website.

Required Protected Fields

The Transparent Post API requires certain fields to be protected from tampering. The protected field is digitally signed using your private key to ensure that the user does not tamper with the value. At a minimum, you must include the redirect URL and account code for every transparent post request.

redirect_url
URL for redirection after the Transparent Post completes. This should be a URL on your web site.
account[account_code]
Unique identifier for the account

Hidden HTML Field: Protected Data

The client library saves the protected fields to a hidden field in the HTML form. While the values of the hidden field may be visible to a user viewing the HTML source, the values are protected with a secure hash. The hidden field is hashed using your private key to ensure that the form was legitimately created on your site and the values have not been tampered with before submission.

HTML Example

1
2
3
4
5
6
7
<form method="POST"
action="https://api.recurly.com/transparent/[subdomain]/billing_info">
<input type="hidden" name="data" value="[protected form data]" />
<!-- Form here -->
<input type="text" name="billing_info[account][first_name]"
placeholder="First name" />
</form>

Transaction HTML Form Fields

The following form fields may be submitted by your HTML form:

Billing Information Fields

billing_info[first_name]
billing_info[last_name]
billing_info[address1]
billing_info[address2]
billing_info[city]
billing_info[state]
2-letter state/province code preferred
billing_info[zip]
Zip or postal code
billing_info[country]
2-letter country code strongly preferred
billing_info[phone]
billing_info[vat_number]
billing_info[credit_card][number]
billing_info[credit_card][verification_value]
billing_info[credit_card][year]
billing_info[credit_card][month]
billing_info[payment_method]
credit_card (default) or paypal for PayPal transactions (requires PayPal Referential Transactions)

First name and last name are required fields, they will default to the name on the account if they are not provided.

HTML Example

 1
2
3
4
5
6
7
8
9
10
11
<form method="POST"
action="https://api.recurly.com/transparent/[subdomain]/billing_info">
<input type="hidden" name="data" value="[protected form data]" />
<!-- Form here -->
<label for="billing_info[first_name]">First Name</label>
<input type="text" name="billing_info[first_name]" placeholder="First name" />
<!-- ... -->
<label for="billing_info[credit_card][number]">Card Number</label>
<input type="text" name="billing_info[credit_card][number]"
placeholder="Card number" />
</form>

Endpoint URL

The client libraries handle the URL details automatically. If you are building your own transparent post implementation, use the endpoint below, substituting subdomain with your Recurly account's subdomain:

POSThttps://api.recurly.com/transparent/[subdomain]/billing_info

More Info

Please see the Billing Info API for more information. The behavior of the Billing Info Transparent Post API closely mirrors the behavior of the Billing Info API for updating an accounts' billing information.