Услуга PREPAL PHP REST – «токен доступа не имеет требуемой области действия»

Я кодирую PHP, используя SDK Paypal REST. Я настроил свою учетную запись Sandbox для использования AUD. Я справился с этим, осознав, что мои первоначальные транзакции были в долларах США, и транзакции проходили.

Используя мой пересмотренный код, я пытаюсь создать платеж – я предполагаю, что верну URL-адрес, который позволит мне перенаправить пользователя для подтверждения платежа.

Я получаю сообщение, в котором говорится:

Исключение: получил код ответа Http 403 при доступе к https://api.sandbox.paypal.com/v1/payments/payment . Проверено 0 раз. string (215) "{" name ":" REQUIRED_SCOPE_MISSING "," message ":" Ток доступа не имеет требуемой области действия "," information_link ":" https://developer.paypal.com/webapps/developer/docs/api / # REQUIRED_SCOPE_MISSING "," debug_id ":" 34683601f5dcd "}"

Мой код: $ apiContext = новый ApiContext (новый 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); } 

Любые мысли о том, что означает это сообщение. Казалось бы, прямые платежи по кредитным картам не поддерживаются Paypal в Австралии, но я не думаю, что это проблема.

В своей учетной записи разработчика Paypal в разделе Мои приложения> [Ваше приложение] убедитесь, что функция, которую вы пытаетесь использовать, включена в разделе НАСТРОЙКИ APP.

Примеры настроек приложения