Last active
August 2, 2016 19:26
-
-
Save krasnopolsky/7c7a3ede5f2b7263898bb5432c4ad9fd to your computer and use it in GitHub Desktop.
Hosted Fields V3 Basic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<form id="checkout-form" action="/transaction-endpoint" method="post"> | |
<div id="error-message"></div> | |
<label for="card-number">Card Number</label> | |
<div class="hosted-field" id="card-number"></div> | |
<label for="cvv">CVV</label> | |
<div class="hosted-field" id="cvv"></div> | |
<label for="expiration-date">Expiration Date</label> | |
<div class="hosted-field" id="expiration-date"></div> | |
<input type="hidden" name="payment-method-nonce"> | |
<input type="submit" value="Pay $10" disabled> | |
</form> | |
<!-- Load the Client component. --> | |
<script src="https://js.braintreegateway.com/web/3.0.0-beta.11/js/client.min.js"></script> | |
<!-- Load the Hosted Fields component. --> | |
<script src="https://js.braintreegateway.com/web/3.0.0-beta.11/js/hosted-fields.min.js"></script> | |
<script> | |
// We generated a client token for you so you can test out this code | |
// immediately. In a production-ready integration, you will need to | |
// generate a client token on your server (see section below). | |
var authorization = 'eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiIwMWYxMGJhODA2ZmE3NWE1YmQ2NzdlMzg3ZjE4ODJjZjFmOTA0NjY4YTcwMTk2YmU5Njk4ZmY4OGQxMzk3NTUzfGNyZWF0ZWRfYXQ9MjAxNi0wOC0wMlQxOToxNzoyMS42MzY4NzA3MjIrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vY2xpZW50LWFuYWx5dGljcy5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tLzM0OHBrOWNnZjNiZ3l3MmIifSwidGhyZWVEU2VjdXJlRW5hYmxlZCI6dHJ1ZSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImRpc3BsYXlOYW1lIjoiQWNtZSBXaWRnZXRzLCBMdGQuIChTYW5kYm94KSIsImNsaWVudElkIjpudWxsLCJwcml2YWN5VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3BwIiwidXNlckFncmVlbWVudFVybCI6Imh0dHA6Ly9leGFtcGxlLmNvbS90b3MiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJhbGxvd0h0dHAiOnRydWUsImVudmlyb25tZW50Tm9OZXR3b3JrIjp0cnVlLCJlbnZpcm9ubWVudCI6Im9mZmxpbmUiLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYnJhaW50cmVlQ2xpZW50SWQiOiJtYXN0ZXJjbGllbnQzIiwiYmlsbGluZ0FncmVlbWVudHNFbmFibGVkIjp0cnVlLCJtZXJjaGFudEFjY291bnRJZCI6ImFjbWV3aWRnZXRzbHRkc2FuZGJveCIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9LCJjb2luYmFzZUVuYWJsZWQiOmZhbHNlLCJtZXJjaGFudElkIjoiMzQ4cGs5Y2dmM2JneXcyYiIsInZlbm1vIjoib2ZmIn0='; | |
braintree.client.create({ | |
authorization: authorization | |
}, function (clientErr, clientInstance) { | |
if (clientErr) { | |
// Handle error in client creation | |
return; | |
} | |
braintree.hostedFields.create({ | |
client: clientInstance, | |
styles: { | |
'input': { | |
'font-size': '14pt' | |
}, | |
'input.invalid': { | |
'color': 'red' | |
}, | |
'input.valid': { | |
'color': 'green' | |
} | |
}, | |
fields: { | |
number: { | |
selector: '#card-number', | |
placeholder: '4111 1111 1111 1111' | |
}, | |
cvv: { | |
selector: '#cvv', | |
placeholder: '123' | |
}, | |
expirationDate: { | |
selector: '#expiration-date', | |
placeholder: '10 / 2019' | |
} | |
} | |
}, function (hostedFieldsErr, hostedFieldsInstance) { | |
if (hostedFieldsErr) { | |
// Handle error in Hosted Fields creation | |
return; | |
} | |
submit.removeAttribute('disabled'); | |
}); | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment