PayPal Plus - Нет оплаты по счету в режиме песочницы

Я пытаюсь интегрировать Paypal Plus в интернет-магазин, используя REST API SDK, и пока все работает нормально. Только то, что опция «Оплатить по счету» отсутствует. Самое смешное: две недели назад он работал. Насколько мне известно, в сценарии ничего не изменилось.

Я попытался исправить платеж перед отображением платного доступа, как рекомендовано в Песочница PayPal Plus - Оплата по счету . Я попытался добавить адрес доставки в список товаров. Я убедился, что адрес доставки действительно существует. Даже обновил SDK. У меня нет идей.

Вот как выглядит мой PHP-код:

$items = array();
$item = new PayPal\Api\Item();
$item->setName("test")
     ->setDescription("test")
     ->setCurrency('EUR')
     ->setQuantity(1)
     ->setPrice(5);
$items[] = $item;

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

$details = new PayPal\Api\Details();
$details->setTax(0.95)
        ->setSubtotal(5);
$amount = new PayPal\Api\Amount();
$amount->setCurrency("EUR")
       ->setTotal(5.95)
       ->setDetails($details);

$transaction = new PayPal\Api\Transaction();
$transaction->setAmount($amount)
            ->setItemList($itemList)
            ->setDescription("Test")
            ->setInvoiceNumber(uniqid());

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

$redirectUrls = new PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl($CFG["paypal_return"]);
$redirectUrls->setCancelUrl($CFG["paypal_abbruch"]);

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

try {
    $payment->create($apiContext);
    $approvalUrl = $payment->getApprovalLink();
    $paymentId = $payment->getId();
} catch (PayPal\Exception\PayPalConnectionException $ex) {d($ex);
    die("Error creating payment");
}

И ниже мой HTML/JS:

<div id="ppplus"></div>
<script src="https://www.paypalobjects.com/webstatic/ppplus/ppplus.min.js" type="text/javascript"></script>
<script type="application/javascript">
    var ppp = PAYPAL.apps.PPP({
        "approvalUrl": "<?=$approvalUrl?>",
        "placeholder": "ppplus",
        "mode": "sandbox",
        "showPuiOnSandbox": "true",
        "country": "DE",
        "language": "de_DE",
        "surcharging": true,
        "useraction": "commit",
        "buttonLocation": "outside"
    });
</script>

У кого-нибудь есть идея, которая может помочь?


person Rolf    schedule 20.07.2017    source источник
comment
Проблема решилась сама собой. По какой-то причине опция «Оплатить по счету» снова отображается в платном доступе. Извините за тех, кто ищет ответ.   -  person Rolf    schedule 28.08.2017