Paypal Checkout Express不会显示订单详情

时间:2015-02-20 13:37:31

标签: php paypal sdk

我在Laravel 4上使用了lib PayPal-PHP-SDK

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

它说"您可以在付款之前查看订单详情。" Image Link - Image 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 Transaction

2 个答案:

答案 0 :(得分:3)

我在您的请求中没有看到任何明细细节。看到原始请求的样本被发送到PayPal会有所帮助,但从我可以看到的那些参数根本没有被包含在内。

在旁注中,您可能有兴趣查看我的PHP class library for PayPal。它可以在GitHubPackagist上使用,并且与Composer一起使用,因此它与Laravel非常合作,并且比PayPal的SDK更容易使用。它设置了您可能想要使用的所有参数,包括逐项详细信息,因此您只需填写参数即可。

答案 1 :(得分:1)

正如Andrew所说,您在请求中缺少明细细节。这就是你如何做到的。 http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html

正如您所看到的,create paymentarray of transactions具有item_list属性,需要进行设置。您可以在上面的链接中使用我们的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规范,示例等。