У меня возникли проблемы с API-интерфейсом PHP Rest Payal PHP.PayPal Rest-API PHP - пустая страница
По какой-то причине он отображается как пустая страница и отображает информацию только через puTTY. Я понятия не имею, что происходит.
Вот мой сценарий:
<?php
require __DIR__ . '/PayPal-PHP-SDK/autoload.php';
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
$api = new ApiContext(
new OAuthTokenCredential(
'yes it is correct', // ClientID
'correct ' // ClientSecret
)
);
$api->setConfig([
'mode' => 'sandbox',
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => false,
'log.FileName' => '',
'log.LogLevel' => 'FINE',
'validation.level' => 'log'
]);
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setPrice(2);
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
$details = new Details();
$details->setShipping(1.2)
->setTax(1.3)
->setSubtotal(17.50);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(20)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://uplayeve.ml/PayPal/ExecutePayment.php?success=true")
->setCancelUrl("http://uplayeve.ml/PayPal//ExecutePayment.php?success=false");
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
$request = clone $payment;
try {
$payment->create($api);
} catch (Exception $ex) {
echo 'Maybe an error or something';
exit(1);
}
$approvalUrl = $payment->getApprovalLink();
ResultPrinter::printResult("Created Payment Using PayPal. Please visit the URL to Approve.", "Payment", "<a href='$approvalUrl' >$approvalUrl</a>", $request, $payment);
return $payment;
?>
Также вот мой текущий phpinfo()
: http://uplayeve.ml/PayPal/phpinfo.php
- все ваши сообщения об ошибках включены? – dgig
Да, это - он не работает через Интернет, он работает только с puTTy. У каждого другого PHP-файла у меня есть работы. –
Попробуйте удалить ResultPrinter :: printResult из кода и посмотреть, работает ли он. Код только для образца, и я добавил этот комментарий только сейчас на все образцы страниц, чтобы удалить путаницу. Извиняюсь за это. –