2016-04-27 139 views
1

我已經按照本教程https://www.paypalobjects.com/webstatic/de_DE/downloads/PayPal-PLUS-IntegrationGuide.pdf貝寶加,去住

所有工作得罰款​​模式集成在我的網站paypal plus,但是當我嘗試去live,我有一個錯誤Forbidden,當顯示付款牆。在螢火蟲NetworkError: 403 Forbidden - https://www.paypal.com/paymentwall/payment-selection。它看起來像這樣http://joxi.ru/VrwVoeMIKDg5QA

php代碼越來越approval 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-Debug-Id: bfd9325f785dd, bfd9325f785dd 

我們的客戶告訴我們他得到了與paypal聯繫並激活他的帳戶paypal plus。也許我們在代碼中有一些錯誤?或者,也許我們正試圖在一個限制貝寶的國家做到這一點?

更新

我使用生存憑證。而在請求www.paypal.com/paymentwall/payment-selectionUser-Agent頭 -

User-Agent 
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 

而且我使用非標準的PayPal API https://github.com/paypal/PayPal-PHP-SDK

+0

可能重複的[爲什麼我一直在使用PayPal禁止403](http://stackoverflow.com/questions/26013941/why-do-i-keep-getting-a-403 -forbidden-with-paypal) – Ionut

+0

同樣的問題! – Marcaum54

回答

0

更改您的代碼:

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

要:

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

注意:在'生活'沒有COMMA

+0

這沒有任何意義 –