Php paypal plus即将上线

Php paypal plus即将上线,php,paypal,paypal-sandbox,Php,Paypal,Paypal Sandbox,根据本教程,我已经在我的网站上集成了paypal plus 在沙盒模式下,所有这些都可以正常工作,但当我尝试进入直播时,在显示支付墙时出现了一个错误禁止。在firebug网络错误:403禁止-https://www.paypal.com/paymentwall/payment-selection。看起来像这样 我的php获取审批url的代码 $apiContext = new \PayPal\Rest\ApiContext( new \PayPal\Auth\OAuthTokenCred

根据本教程,我已经在我的网站上集成了
paypal plus

沙盒
模式下,所有这些都可以正常工作,但当我尝试进入
直播
时,在显示支付墙时出现了一个错误
禁止
。在firebug
网络错误:403禁止-https://www.paypal.com/paymentwall/payment-selection
。看起来像这样

我的
php
获取
审批url的代码

$apiContext = new \PayPal\Rest\ApiContext(
    new \PayPal\Auth\OAuthTokenCredential(
        Yii::app()->params['paypal']['ClientID'],     // ClientID
        Yii::app()->params['paypal']['ClientSecret']      // ClientSecret
    )
);

$apiContext->setConfig(
      array(
        'mode' => 'live',                        
      )
);  

$item1 = new \PayPal\Api\Item();
$item1->setName('Test item')
    ->setCurrency('USD')
    ->setQuantity(1)
    ->setPrice(1);

$itemList = new \PayPal\Api\ItemList();
$itemList->setItems(array($item1));

$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');

$amount = new \PayPal\Api\Amount();
$amount->setCurrency('USD');
$amount->setTotal('1');

$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);
$transaction->setItemList($itemList);
$transaction->setInvoiceNumber(uniqid());
$transaction->setDescription('Payment for fashion.com');

$host = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'];

$redirectUrl = new \PayPal\Api\RedirectUrls();
$redirectUrl->setReturnUrl($host . '/shop/pay');
$redirectUrl->setCancelUrl($host . '/shop/pay');

$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrl);
$payment->setTransactions(array($transaction));

$payment = $payment->create($apiContext);

$approvalUrl = $payment->getApprovalLink();
然后我在
js

    <script type="application/javascript" src="https://www.paypalobjects.com/webstatic/ppplus/ppplus.min.js"></script>
<script>
    PAYPAL.apps.PPP({
        "approvalUrl": "<?=$approvalUrl?>",
        "placeholder": "ppplus",
        "mode": "live",
        "country": "DE",
        "buttonLocation": "outside",
        "disableContinue": "continueButton",
        "enableContinue": "continueButton",
        "showLoadingIndicator": true,
        onContinue: function () {
        }
    });
</script>
<div id="ppplus"></div>
我们的客户告诉我们他联系了
paypal
,并激活了他的
paypal plus
账户。也许我们的代码有错误?或者我们正试图在一个限制paypal的国家这样做

更新

我使用实时凭证。在
www.paypal.com/paymentwall/payment selection
的请求中,有
用户代理
标题-

User-Agent  
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
我使用的是standart paypal api
https://github.com/paypal/PayPal-PHP-SDK

从以下位置更改代码:

$apiContext->setConfig(
  array(
    'mode' => 'live',                        
  )
);
致:


注意:'live'之后没有逗号

可能重复@lonut necula,我想它没有重复。这是另一种情况。目前,我面临着同样的问题。您所指的链接与此问题不同。@sam3434顺便问一下,您是如何克服此问题的?这样行吗?这没有意义
$apiContext->setConfig(
  array(
    'mode' => 'live',                        
  )
);
$apiContext->setConfig(
  array(
    'mode' => 'live'                      
  )
);