Paypal Checkout |403 Запрещенная Ошибка - PullRequest
0 голосов
/ 01 июня 2018

Моя проблема - каждый раз, когда я нажимаю кнопку PayPal на моей странице, она всплывает на короткое время и выдает ошибку 403.Этот вопрос наиболее близок к моей проблеме Почему я продолжаю получать 403, запрещенные с PayPal? , но по-другому, потому что я использую angular.

Это релевантная часть моего углового кода:

import { Component, OnInit, AfterViewChecked } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { ShoppingCartService} from '../shopping-cart.service';
import { PaymentsService } from '../payments.service';
import { environment } from '../../environments/environment';
import { StripeToken } from 'stripe-angular';

declare let paypal: any;

@Component({
  selector: 'app-cartpage',
  templateUrl: './cartpage.component.html',
  styleUrls: ['./cartpage.component.css']
})
export class CartpageComponent implements OnInit, AfterViewChecked {

cartItems;
id = localStorage.getItem('cartId');
storage: any = [];
addToCart = [];
parents: any = [];
total = 0;
number: any = 0;
handler: any;
amount: 500;
addScript: boolean = false;
finalAmount: number = this.total;

paypalConfig = {
  env: 'sandbox',
  client: {
    sandbox: 'my-key',
    production: 'my-key'
  },
  commit: true,
  payment : (data, actions) => {
    return actions.payment.create({
      payment: {
        transactions: [
          { amount: {total: this.finalAmount, currency: 'USD' } }
        ]
      }
    })
  },
  onAuthorize: (data, actions) => {
    return actions.payment.execute().then((payment)=>{
      //do something when payment is successful
    })
  }
};

ngAfterViewChecked() : void {
  if(!this.addScript) {
    this.addPaypalScript().then(() => {
      paypal.Button.render(this.paypalConfig, '#paypal-checkout-button')
    })
  }
}

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

это моя ошибка в консоли:

POST https://www.sandbox.paypal.com/v1/payments/payment 403 (запрещено)

Uncaught Error: Error: Request toсообщение https://www.sandbox.paypal.com/v1/payments/payment завершилось ошибкой 403.Идентификатор корреляции: 3ef24e19eb852, 3ef24e19eb852

{
     "name": "PERMISSION_DENIED",
     "message": "No permission for the requested operation",
     "information_link": https://developer.paypal.com/docs/api/payments/#errors",
     "debug_id": "3ef24e19eb852" 
}

любая помощь или полезные посты / статьи для чтения будут оценены, спасибо

ОБНОВЛЕНИЕ 5/05/2018 Paypal до сих пор не исправил эту проблему.Но если вы хотите проверить, что все настроено правильно, вы можете использовать учетные данные песочницы Paypal, чтобы проверить это.https://developer.paypal.com/demo/checkout/#/pattern/client

...