Реализация Paypal в Angular 6 - PullRequest
1 голос
/ 25 марта 2019

Я пытался внедрить Paypal в свой проект Angular. Я нашел этот урок и последовал за шагом. Кнопка показалась идеальной, но когда я нажимаю кнопку, появляется мод PayPal, но выдает ошибку:

POST https://www.sandbox.paypal.com/v1/oauth2/token 401 (не авторизовано)

my app.component.ts:
addScript = false;
  paypalLoad = true;

  finalAmount = 1;

  paypalConfig = {
    env: 'sandbox',
    client: {
      sandbox: localStorage.getItem('paypal_token'), // this generate the backend
      production: '<your-production-key here>'
    },
    commit: true,
    payment: (data, actions) => {
      return actions.payment.create({
        payment: {
          transactions: [
            { amount: {
                total: this.finalAmount,
                currency: 'HUF'
              }
            }
          ]
        }
      });
    },
    onAuthorize: (data, actions) => {
      return actions.payment.execute().then((payment) => {
        // Do something when payment is successful.
      });
    }
  };

  ngAfterViewChecked() {
    if (!this.addScript) {
      this.addPaypalScript().then(() => {
        paypal.Button.render(this.paypalConfig, '#paypal-checkout-btn');
        this.paypalLoad = false;
      });
    }
  }

  addPaypalScript() {
    this.addScript = true;
    return new Promise((resolve, reject) => {
      let scripttagElement;
      scripttagElement = document.createElement('script');
      scripttagElement.src = 'https://www.paypalobjects.com/api/checkout.js';
      scripttagElement.onload = resolve;
      document.body.appendChild(scripttagElement);
    });
  }

и мой app.component.html

<input type="number" [(ngModel)]="finalAmount" style="padding-bottom: 10px;">
<h2 *ngIf="paypalLoad">Paypal button is loading</h2>
<div id="paypal-checkout-btn"></div>

1 Ответ

1 голос
/ 25 марта 2019

Проблема была в ключе доступа.Я установил неправильно.

...