Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- initPaypalIntegration(requestAuthFlow){
- let paymentPromise = axios.create({
- baseURL: '/',
- headers: {'X-Auth-Basic': window.appConfig.X_AUTH_BASIC_TOKEN}
- });
- return paymentPromise.get('/api/braintree/token')
- .then((response) => {
- if (response.data.error === true) {
- this.isLoading = false;
- this.$Progress.fail();
- this.paymentInProgress = false;
- this.$alert.danger({message: "Braintree token request failed"});
- throw new Error("Braintree token request failed");
- }
- return new Promise((resolve, reject) => {
- braintree.setup(response.data.clientToken, 'custom', {
- paypal: {
- headless: true,
- singleUse: false,
- onAuthorizationDismissed: () => {
- this.isLoading = false;
- this.paymentInProgress = false;
- this.$Progress.finish();
- }
- },
- onReady: (integration) => {
- this.paypalIntegration = integration;
- this.isLoading = false;
- this.$Progress.finish();
- },
- onPaymentMethodReceived: (payload) => {
- resolve({gateway: "braintree", nonce: payload.nonce});
- }
- });
- });
- })
- .then(tokenizedCard => {
- if(!requestAuthFlow) {
- this.$Progress.start();
- this.performCardPayment(tokenizedCard.nonce, tokenizedCard.gateway, "paypal");
- }
- return tokenizedCard;
- }).catch(e => console.error(e));
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement