Servicio PHP REST de Paypal: "el token de acceso no tiene el alcance requerido"

Estoy codificando en PHP usando el SDK de Paypal REST. He configurado mi cuenta de Sandbox para usar AUD. Lo resolví después de darme cuenta de que mis transacciones iniciales estaban en USD y que las transacciones se estaban reteniendo.

Con mi código revisado, intento crear el pago. Supongo que recuperaré una URL que me permitirá redirigir al usuario para que apruebe el pago.

Recibo un mensaje que dice:

Excepción: obtuve el código de respuesta Http 403 al accederhttps://api.sandbox.paypal.com/v1/payments/payment. Reintentado 0 veces. string (215) "{" name ":" REQUIRED_SCOPE_MISSING "," message ":" El token de acceso no tiene el alcance requerido "," information_link ":"https://developer.paypal.com/webapps/developer/docs/api/#REQUIRED_SCOPE_MISSING"," debug_id ":" 34683601f5dcd "}"

Mi código es: $ apiContext = new ApiContext (new OAuthTokenCredential ('xxxxxx', 'xxxxxx'));

    //### FundingInstrument
    // A resource representing a Payer's funding instrument.
    // For direct credit card payments, set the CreditCard
    // field on this object.
    $fi = new FundingInstrument();
    $creditCardToken = new CreditCardToken();
    $creditCardToken->setCreditCardId($creditcard->cardToken);
    $fi->setCreditCardToken($creditCardToken);

    // ### Payer
    // A resource representing a Payer that funds a payment
    // For direct credit card payments, set payment method
    // to 'credit_card' and add an array of funding instruments.
    $payer = new Payer();
    $payer->setPaymentMethod("credit_card")
        ->setFundingInstruments(array($fi));

    // ### Itemized information
    // (Optional) Lets you specify item wise
    // information
    $paymentItems=Yii::app()->session['paymentitems'];
    $items=array();
    $total=0;
    foreach ($paymentItems as $item)
    {
        $pp_item = new Item();
        $pp_item->setName("Donation to ".$item->organisation->organisationName)
            ->setCurrency('AUD')
            ->setQuantity(1)
            ->setPrice($item->amount);
        array_push($items,$pp_item);
        $total+=(float)$item->amount;
    }
    $itemList = new ItemList();
    $itemList->setItems($items);        
    // ### Amount
    // Lets you specify a payment amount.
    // You can also specify additional details
    // such as shipping, tax.
    $amount = new Amount();
    $amount->setCurrency("AUD")
        ->setTotal($total);

    // ### Transaction
    // A transaction defines the contract of a
    // payment - what is the payment for and who
    // is fulfilling it. 
    $transaction = new Transaction();
    $transaction->setAmount($amount)
        ->setItemList($itemList)
        ->setDescription("Payment description");

    // ### Payment
    // A Payment Resource; create one using
    // the above types and intent set to sale 'sale'
    $payment = new Payment();
    $payment->setIntent("sale")
        ->setPayer($payer)
        ->setTransactions(array($transaction));
    // ### Create Payment
    // Create a payment by calling the payment->create() method
    // with a valid ApiContext (See bootstrap.php for more on `ApiContext`) href

    // The return object contains the state.
    try {
        $response=$payment->create($apiContext);
        var_dump($response);
        //$this->redirect($response->links[0]->href);
    } catch (PayPal\Exception\PPConnectionException $ex) {
        echo "Exception: " . $ex->getMessage() . PHP_EOL;
        var_dump($ex->getData());
        exit(1);
    }

Cualquier idea sobre lo que significa este mensaje. Parecería que los pagos directos con tarjeta de crédito no son compatibles con Paypal en Australia, pero no creo que ese sea el problema.

Respuestas a la pregunta(1)

Su respuesta a la pregunta