调用未定义的方法 PayPal\Api\Payer::setPayment_method()

Posted

技术标签:

【中文标题】调用未定义的方法 PayPal\\Api\\Payer::setPayment_method()【英文标题】:Call to undefined method PayPal\Api\Payer::setPayment_method()调用未定义的方法 PayPal\Api\Payer::setPayment_method() 【发布时间】:2017-10-21 22:21:04 【问题描述】:

同时使用来自 GitHub 的 PayPal php SDK。 我遇到了一个错误,我无法找到解决该错误的方法是:

Call to undefined method PayPal\Api\Payer::setPayment_method()

我的代码在这里:

<?php
use PayPal\Rest\ApiContext;
use PayPal\Api\Payer;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;

session_start();

require 'vendor/autoload.php';
$api = new ApiContext(
  new OAuthTokenCredential(
      'My PayPal Public DEV KEY',
      'MY PayPal Private DEV KEY'
    )
);
$api->setConfig([
  'mode' => 'sandbox',
  'http.ConnectionTimeOut' => 120,
  'log.LogEnabled' => false,
  'log.FileName' => '',
  'log.LogLevel' => 'FINE',
  'validation.level' => 'log'
]);

$payer = new Payer();
$details = new Details();
$amount = new Amount();
$transaction = new Transaction();
$payment = new Payment();
$redirectUrls = new RedirectUrls();

$payer->setPayment_method('paypal');
$details->setTax('0.00')
        ->setSubtotal('20.00');
$amount->setCurrency('USD')
       ->setTotal('20.00')
       ->setDetails($details);

$transaction->setAmount($amount)
            ->setDescription('Access');
$payment->setIntent('sale')
        ->setPayer($payer)
        ->setTransaction([$transaction]);

$redirectUrls->setReturnUrl('http://127.0.0.1/paypal/validate.php?approved=true')
             ->setCancelUrl('http://127.0.0.1/paypal/validate.php?approved=false');
$payment->setRedirectUrls($redirectUrls);
?>

如果有人能找到解决方法或指出我正确的方向,将不胜感激。 ;)

【问题讨论】:

【参考方案1】:

它的setPaymentMethod() 不是setPayment_method(),所以,改为:

...
$payer->setPaymentMethod('paypal');
...

【讨论】:

以上是关于调用未定义的方法 PayPal\Api\Payer::setPayment_method()的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Plus / PHP SDK - 使用银行帐户/借记卡付款

Laravel 调用未定义的方法。方法存在

调用未定义的方法 App\Models\Catering::search() [关闭]

调用未定义的方法 BelongsTo::attach()

未调用自定义 UIButton 的 setIsSelected 方法

调用未定义的方法 Cake\ORM\Entity::query() CakePhp