// Create a client. var payload; braintree.client.create({ authorization: 'eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjSEp2WkhWamRHbHZiaUlzSW1semN5STZJbWgwZEhCek9pOHZZWEJwTG1KeVlXbHVkSEpsWldkaGRHVjNZWGt1WTI5dEluMC5leUpsZUhBaU9qRTJNRGd6T1RBNU56QXNJbXAwYVNJNkltRmpOek0zWkRsaUxXSmxNak10TkRGbU5pMDVaREZtTFRVME5XRXhaRFkxTlRRNFl5SXNJbk4xWWlJNklqazNiV3Q2WnpocmFuYzFlRE0zTjNRaUxDSnBjM01pT2lKb2RIUndjem92TDJGd2FTNWljbUZwYm5SeVpXVm5ZWFJsZDJGNUxtTnZiU0lzSW0xbGNtTm9ZVzUwSWpwN0luQjFZbXhwWTE5cFpDSTZJamszYld0Nlp6aHJhbmMxZURNM04zUWlMQ0oyWlhKcFpubGZZMkZ5WkY5aWVWOWtaV1poZFd4MElqcG1ZV3h6Wlgwc0luSnBaMmgwY3lJNld5SnRZVzVoWjJWZmRtRjFiSFFpWFN3aWMyTnZjR1VpT2xzaVFuSmhhVzUwY21WbE9sWmhkV3gwSWwwc0ltOXdkR2x2Ym5NaU9uc2liV1Z5WTJoaGJuUmZZV05qYjNWdWRGOXBaQ0k2SW5OcGJYQnNlV0psWVhKcGJtZHpSMEpRSW4xOS50LVd1WjdvekNJTko1cDBMV2lWLXNvcTNBU01sNkExSHF5X29uT3JNZ056dHV1Qk12QTYtOEhXWTQwMnFYdW5jeE9BVW5VMEx0aWhLRi1uYl94TWU2dyIsImNvbmZpZ1VybCI6Imh0dHBzOi8vYXBpLmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvOTdta3pnOGtqdzV4Mzc3dC9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJtZXJjaGFudEFjY291bnRJZCI6InNpbXBseWJlYXJpbmdzR0JQIiwiZ3JhcGhRTCI6eyJ1cmwiOiJodHRwczovL3BheW1lbnRzLmJyYWludHJlZS1hcGkuY29tL2dyYXBocWwiLCJkYXRlIjoiMjAxOC0wNS0wOCIsImZlYXR1cmVzIjpbInRva2VuaXplX2NyZWRpdF9jYXJkcyJdfSwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuYnJhaW50cmVlZ2F0ZXdheS5jb206NDQzL21lcmNoYW50cy85N21remc4a2p3NXgzNzd0L2NsaWVudF9hcGkiLCJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJtZXJjaGFudElkIjoiOTdta3pnOGtqdzV4Mzc3dCIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5jb20iLCJ2ZW5tbyI6Im9mZiIsImNoYWxsZW5nZXMiOltdLCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJhbmFseXRpY3MiOnsidXJsIjoiaHR0cHM6Ly9jbGllbnQtYW5hbHl0aWNzLmJyYWludHJlZWdhdGV3YXkuY29tLzk3bWt6Zzhranc1eDM3N3QifSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImJpbGxpbmdBZ3JlZW1lbnRzRW5hYmxlZCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOmZhbHNlLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYWxsb3dIdHRwIjpmYWxzZSwiZGlzcGxheU5hbWUiOiJTaW1wbHkgQmVhcmluZ3MiLCJjbGllbnRJZCI6IkFjdmZ2aHVBdVRjX2h5SjlVbHFMZ2pfTURjT2RDSDBMb3Uya2xUVkY5V3FraDZsX0NXY1phTXkxc29XQUJaYkNMSkw3eXdSV0lyd0J2RU1BIiwicHJpdmFjeVVybCI6Imh0dHBzOi8vc2ltcGx5YmVhcmluZ3MuY28udWsvc2hvcC9pbmZvcm1hdGlvbi5waHAjcHJpdmFjeSIsInVzZXJBZ3JlZW1lbnRVcmwiOiJodHRwczovL3NpbXBseWJlYXJpbmdzLmNvLnVrL3Nob3AvaW5mb3JtYXRpb24ucGhwI3RhbmRjcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImVudmlyb25tZW50IjoibGl2ZSIsImJyYWludHJlZUNsaWVudElkIjoiQVJLcllSRGgzQUdYRHpXN3NPXzNiU2txLVUxQzdIR191V05DLXo1N0xqWVNETlVPU2FPdElhOXE2VnBXIiwibWVyY2hhbnRBY2NvdW50SWQiOiJzaW1wbHliZWFyaW5nc0dCUCIsImN1cnJlbmN5SXNvQ29kZSI6IkdCUCJ9fQ==', }, function (clientErr, clientInstance) { // Stop if there was a problem creating the client. // This could happen if there is a network error or if the authorization // is invalid. if (clientErr) { console.error('Error creating client:', clientErr); return; } // Create a PayPal Checkout component. braintree.paypalCheckout.create({ client: clientInstance }, function (paypalCheckoutErr, paypalCheckoutInstance) { // Stop if there was a problem creating PayPal Checkout. // This could happen if there was a network error or if it's incorrectly // configured. if (paypalCheckoutErr) { console.error('Error creating PayPal Checkout:', paypalCheckoutErr); return; } // Set up PayPal with the checkout.js library paypal.Button.render({ env: 'production', // sandbox | production commit: false, style: { label: 'pay', // checkout | credit | pay | buynow | generic size: 'medium', // small | medium | large | responsive shape: 'rect', // pill | rect color: 'gold' // gold | blue | silver | black }, payment: function () { return paypalCheckoutInstance.createPayment({ // Your PayPal options here. For available options, see // http://braintree.github.io/braintree-web/current/PayPalCheckout.html#createPayment flow: 'checkout', amount: '0.00', currency: 'GBP', offerCredit: false, intent: 'sale', landingPageType: 'login', enableShippingAddress: true }); }, onAuthorize: function (data, actions) { paypalCheckoutInstance.tokenizePayment(data, function (err, payload) { var xhttp = new XMLHttpRequest(); xhttp.open("POST", "https://simplybearings.co.uk/shop/ajax/paypal_express_checkout.php"); xhttp.onreadystatechange = function() { if (xhttp.readyState > 3 && xhttp.status == 200){ window.location.replace('https://simplybearings.co.uk/shop/checkout_paypal_process.php?payment_method_nonce=' + payload.nonce); return; } else if (xhttp.status == 503) { $('#error_msg').html('There is currently a problem processing your payment with PayPal. Please try again or contact us if the problem persists.'); $('#error_div').show(); $('#error_msg').addClass('alert-danger alert'); } }; xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send('data=' + encodeURIComponent(JSON.stringify(payload))); }); }, onCancel: function (data) { console.log('checkout.js payment cancelled', JSON.stringify(data, 0, 2)); }, onError: function (err) { console.error('checkout.js error', err); } }, '#paypal-cart-button').then(function (nonce) { // Called when PayPal button is ready }); }); });