Paypal PHP REST API - 在结账时显示没有付款值

时间:2016-05-19 23:50:54

标签: php rest paypal

我是PayPal API和REST请求/响应的新手。因此,我一直在尝试关注如何使用PayPal的REST Api处理付款的在线样本(主要来自GitHub)。

但是,我遇到了一个问题。当我点击生成的链接时,我已成功重定向到PayPal的网站。但是,在结帐页面上,没有任何内容表明购买金额。问题可能是什么?谢谢!

enter image description here

<?php
require __DIR__ . '/bootstrap.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;

$payer = new Payer();
$payer->setPaymentMethod("paypal");

$amount = new Amount();
$amount->setCurrency("USD");
$amount->setTotal('5.55');

$transaction = new Transaction();
$transaction->setAmount($amount)->setDescription("Purchase from Leisurely Diversion")->setInvoiceNumber(uniqid());

$redirectURLs = new RedirectUrls();
$redirectURLs->setReturnUrl("http://localhost/leisurelydiversion/confirmation.php")->setCancelUrl("http://localhost/leisurelydiversion/confirmation.php");

$payment = new Payment();
$payment->setIntent("sale")->setPayer($payer)->setTransactions(array($transaction))->setRedirectUrls($redirectURLs);

try {
$payment->create($apiContext);
} catch(Exception $e) {
echo "<h2> Error Sending Payment! $e</h2>";
}

$url = $payment->getApprovalLink();
echo $url;
?>

2 个答案:

答案 0 :(得分:0)

您必须在付款中添加项目清单:
http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderCreateUsingPayPal.html

您还可以通过将&useraction=commit附加到审批网址来更改操作:
Does PayPal Rest API have the classic useraction equivalent

答案 1 :(得分:0)

希望这会有所帮助

$item = new Item();
$item->setSku('Product Id');
$item->setName('Product Name');
$item->setPrice('5.55');
$item->setCurrency('USD');
$item->setQuantity(1);

$itemList = new ItemList();
$itemList->setItems(array($item));

$transaction = new Transaction();
$transaction->setItemList($itemList);
$transaction->setAmount($amount);