Paypal Checkout Express 不显示订单详细信息

Paypal Checkout Express doesn't show the order details

我在 Laravel 4

上使用库 PayPal-PHP-SDK

我在显示订单详细信息时遇到问题。 我按照 Paypal Web Checkout 中的步骤操作 它没有向我显示订单详情。

它说 "You'll be able to see your order details before you pay." - Image Link

这是我收到link付款时的方法:

public function checkout()
{
    $apiContext = new ApiContext($this->cred, 'Request' . time());
    $apiContext->setConfig($this->sdkConfig);

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

    $amount = new Amount();
    $amount->setCurrency("EUR");
    $amount->setTotal("10");

    $transaction = new Transaction();
    $transaction->setDescription("Example");
    $transaction->setCustom('abv');
    $transaction->setAmount($amount);

    $redirectUrls = new RedirectUrls();
    $redirectUrls->setReturnUrl(URL::to('/') . '/payment/success/');
    $redirectUrls->setCancelUrl(URL::to('/') . '/payment/cancel/');


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

    $payment->create($apiContext);

    print $payment->getApprovalLink();

}

我在您的请求中没有看到任何详细信息。查看发送到 PayPal 的原始请求示例会有所帮助,但据我所知,这些参数根本没有包含在内。

附带说明一下,您可能有兴趣查看我的 PHP class library for PayPal. It's available on GitHub and Packagist 并与 Composer 一起工作,因此它与 Laravel 一起工作得非常好,并且比 PayPal 的 SDK 更容易使用.它设置了您可能想要使用的所有参数,包括逐项详细信息,因此您只需填写参数即可。

正如安德鲁所提到的,您的请求中缺少逐项详细信息。这就是你可以做到的。 http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html

如您所见,create payment has an array of transactions 具有 item_list 属性,需要对其进行设置。您可以在上面 link.

中使用我们的 SDK 查看如何执行此操作

我们现在在我们的 SDK 中附加了很多示例,可以 运行 在您的本地机器上只用一个命令。请按照说明here

您需要运行的命令是:

php -f <paypal SDK Directory>/paypal/rest-api-sdk-php/sample/index.php

这将在 localhost:5000 托管一个本地服务器,允许您 运行 位于 samples directory 的示例。

PayPal-PHP-SDK 正在大力发展,我们正在为其添加越来越多的功能。请访问我们的 SDK page 查看所有支持文档、API 规格、示例等。