PayPal sizeof (): параметр должен быть массивом или объектом, который реализует счетное - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь установить PayPal на свой локальный хост, но когда я тестирую payment.php, получаю следующее предупреждение в этом файле:

Предупреждение: sizeof (): параметр должен быть массивом или объектом, который реализует счетные в / Applications / MAMP / HTDOCS / функции / PayPal / поставщик / PayPal / rest-api-sdk-php / lib / PayPal / Common / PayPalModel.php в строке 176

payment.php коды здесь:

<?php   
$client_ID =  '********';
$client_Secret = '********';
require __DIR__ . '/PayPal/vendor/autoload.php'; 

$apiContext = new \PayPal\Rest\ApiContext(
        new \PayPal\Auth\OAuthTokenCredential(
            $client_ID,     // ClientID
            $client_Secret      // ClientSecret
        )
);

$apiContext->setConfig([
 'mode'=>'sandbox',
 'http.ConnectionTimeOut'=>30,
 'log.LogEnabled'=>false,
 'log.FileName'=>'',
 'log.LogLevel'=>'FINE',
 'validation.level'=>'log'
]);
//$total = $amount;
// After Step 2
$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');

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

$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);

$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl("https://example.com/your_redirect_url.html")
    ->setCancelUrl("https://example.com/your_cancel_url.html");

$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
    ->setPayer($payer)
    ->setTransactions(array($transaction))
    ->setRedirectUrls($redirectUrls);
try {
           $payment->create($apiContext);
           echo $payment;

           echo "\n\nRedirect user to approval_url: " . $payment->getApprovalLink() . "\n";


} catch (\PayPal\Exception\PayPalConnectionException $ex) {
    // This will print the detailed information on the exception.
    //REALLY HELPFUL FOR DEBUGGING
    echo $ex->getData();
}

?>

Я должен попытаться использовать эту страницу для https://github.com/paypal/PayPal-PHP-SDK/wiki/Making-First-Call

но я получаю предупреждение sizeof ().

Как я могу решить эту проблему, кто-нибудь может мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 25 января 2019

Я столкнулся с этой проблемой, и я получил свое решение с помощью следующего изменения.

Файл: vendor \ paypal \ rest-api-sdk-php \ lib \ PayPal \ Common \ PayPalModel.php

Изменение

} else if (sizeof($v) <= 0 && is_array($v) ) {

до

} else if (is_array($v) && sizeof($v) <= 0) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...