我遇到了這個問題,其中的Paypal API沒有加載到我的服務器上,但它在我的本地主機上加載完全正常。我真的不知道哪裏出了問題。一切和我從本地主機上傳文件到服務器一樣,沒有什麼變化,它是完全一樣的文件。PayPal API不會在服務器上完全加載,但在本地主機上加載
使用Paypal REST API進行支付時,我在服務器上發生了此錯誤,但在本地主機上沒有發生此錯誤。
Fatal error: Class 'PayPal\Api\item' not found in /var/www/test.my-domain.com/public_html/controllers/credits.php on line 24
我的如下代碼:
require_once('./inc/lib/paypal/autoload.php');
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'hidden-clientid',// ClientID
'hidden-secret'// ClientSecret
)
);
if (isset($_POST['checkout'])) {
$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');
$item = new \PayPal\Api\item();
$item->setName('Top Up')
->setDescription('My account.')
->setCurrency('USD')
->setQuantity(1)
->setTax(0)
->setPrice(10);
$itemList = new \PayPal\Api\itemList();
$itemList->setItems(array($item));
$details = new \PayPal\Api\details();
$details->setShipping("0")
->setTax("0")
->setSubtotal(10);
$amount = new \PayPal\Api\amount();
$amount->setCurrency("USD")
->setTotal(10)
->setDetails($details);
$transaction = new \PayPal\Api\transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Top up account")
->setInvoiceNumber(uniqid());
$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl("http://".$_SERVER["HTTP_HOST"].$web_path."credits/done?status=success");
$redirectUrls->setCancelUrl("http://".$_SERVER["HTTP_HOST"].$web_path."credits/done?status=cancel");
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));
$response = $payment->create($apiContext);
$redirectUrl = $response->links[1]->href;
header("Location: $redirectUrl");
怪異的是,它通過$payer->setPaymentMethod('paypal');
不過,這並不在$item = new \PayPal\Api\item();
通過所有的代碼都是一樣的我的本地主機,它的工作原理在我的本地主機上。 PayPal API也會上傳到我的服務器的確切位置(/ inc/lib/paypal /)。
它會加載PayPal API ......它在我的本地主機上工作 – nodeffect
我試過使用你建議的完整路徑,但它仍然顯示相同的錯誤 – nodeffect