簡體   English   中英

PayPal Rest-API PHP-空白頁

[英]PayPal Rest-API PHP - Blank Page

我在使用PayPal PHP Rest API時遇到問題。

由於某種原因,它顯示為空白頁面,並且僅通過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

通常,PHP中的空白頁意味着出現了錯誤,但是未啟用報告。 您可以通過在頂部添加這兩行來輕松啟用此功能。

error_reporting(E_ALL);
ini_set('display_errors', '1');

現在應該可以打印錯誤了。 另外,您應該注意一些事情。

  1. ResultPrinter是僅示例代碼。 請忽略它,並將其從您的代碼中刪除。 那可能導致錯誤。

  2. 如果出於任何原因希望捕獲並讀取適當的異常,請如下所示添加此catch方法。

     try { $payment->create($api); } catch (\\PayPal\\Exception\\PayPalConnectionException $ex) { echo $ex->getData(); } 

順便說一句,我們在http://paypal.github.io/PayPal-PHP-SDK/上添加了越來越多的示例,Wiki頁面,源文檔等,以使開發人員能夠更快地與REST API集成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM