簡體   English   中英

貝寶加上,上線

[英]paypal plus, going live

根據本教程https://www.paypalobjects.com/webstatic/de_DE/downloads/PayPal-PLUS-IntegrationGuide.pdf,我已經在我的網站上集成了paypal plus

所有的工作非常細的sandbox模式,但是當我嘗試去live ,我有一個錯誤Forbidden顯示支付牆壁上時,。 在Firebug 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帳戶。 也許我們在輸出代碼方面有一些錯誤? 或者,也許我們正在試圖限制Paypal的國家/地區這樣做?

更新資料

我使用實時憑證。 在對www.paypal.com/paymentwall/payment-selection請求中,有User-Agent標頭-

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',                        
  )
);

至:

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

注意:“啟用”后沒有COMMA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM