当前位置: 首页 > 知识库问答 >
问题:

PayPal SDK产品阵列返回错误

颜君浩
2023-03-14

我正在学习PayPal SDK,当我第一次使用一个产品时,它工作得很好。现在我要处理一系列的产品。这是密码

$paypal = new ApiContext(
        new OAuthTokenCredential(
            '...',
            '...'
        )
    );

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

    $shipping = 2;
    $totalPriceWithShipping = 0;
    $totalPriceWithoutShipping = 0;


    $items = [];

    foreach(Controller::getData('productsInCart') as $product)
    {
        $totalPriceWithShipping += ($product->price + $shipping);
        $totalPriceWithoutShipping += $product->price;

        $item = new Item();

        $item->setName($product->name)
            ->setPrice($product->price)
            ->setCurrency('USD')
            ->setQuantity(1);

        $items[] = $item;
    }

    $itemList = new ItemList();
    $itemList->setItems($items);

    $details = new Details();
    $details->setShipping($shipping)
            ->setSubtotal($totalPriceWithoutShipping);


    $amount = new Amount();
    $amount->setCurrency('USD')
        ->setTotal($totalPriceWithShipping)
        ->setDetails($details);



    $transaction = new Transaction();
    $transaction->setItemList($itemList)
                ->setAmount($amount)
                ->setDescription('Your Order from Online Shop')
                ->setInvoiceNumber(uniqid());

    $redirectUrls = new RedirectUrls();
    $redirectUrls->setReturnUrl('...')
                ->setCancelUrl('...');

    $payment = new Payment();
    $payment->setIntent('sale')
            ->setPayer($payer)
            ->setRedirectUrls($redirectUrls)
            ->setTransactions([$transaction]);

    try {
        $payment->create($paypal);
    }
    catch(Exception $e) {
        die($e->getTrace());
    }

   die($payment->getApprovalLink());

共有1个答案

易宣
2023-03-14

得到400个例外意味着贝宝返回了一些例外。以获取有关该异常的更多详细信息。您需要捕获未捕获的异常paypal\exception\paypalConnectionException以获得更多详细信息。

这一页应该能帮助你给出一些想法。下面是捕获该异常的示例代码:

try {
    $payment->create($apiContext);
} catch (PayPal\Exception\PayPalConnectionException $ex) {
    echo $ex->getCode(); // Prints the Error Code
    echo $ex->getData(); // Prints the detailed error message 
    die($ex);
} catch (Exception $ex) {
    die($ex);
}
 类似资料:
  • 问题内容: 有没有更简洁,有效或简单的pythonic方法来执行以下操作? 编辑: 我实际上发现这比使用operator.mul快一点: 给我 问题答案: 不使用lambda: 更好,更快。使用python 2.7.5 在以下配置中: python 2.7.5的结果 结果:如果用作数据结构,则速度最快(小型阵列为18x,大型阵列为250x) 使用python 3.3.2: python 3更慢吗?

  • 我的客户希望在WooCommerce中的单个产品页面上放置一个“返回店铺”按钮,该按钮将返回到上一页,而不是主店铺页面。 我已经解释过,所有的浏览器都有后退按钮,但他们死心塌地地想要有这个按钮。我甚至提到激活面包屑,但他们也不喜欢。 我如何才能做到这一点。任何帮助都非常感谢。

  • 本文向大家介绍最大产品子阵列| 在C ++中添加了否定产品案例,包括了最大产品子阵列| 在C ++中添加了否定产品案例的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论一个程序来查找具有负乘积情况的最大乘积子数组。 为此,我们将提供一个包含正值和负值的数组。我们的任务是在O(n)时间复杂度内找到子阵列的最大乘积。 示例 输出结果

  • 本文向大家介绍python中返回矩阵的行列方法,包括了python中返回矩阵的行列方法的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 以上这篇python中返回矩阵的行列方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 3.4 产品列表 3.4.1 描述 通过调用该接口为指定订单号的订单明细 3.4.2 请求地址 地址:https://api.bokecs.com/recharge/productList?pageSize=10&pageNum=3 3.4.3 请求方式 GET 3.4.4 请求参数 1) 请求入参 元素名称 是否必须 元素描述 pageNum 否 默认为1 pageSize 否 默认10 2)

  • 产品列表以产品卡片的形式展示了当前用户所有产品。您可以在此查看产品的基本信息并对产品进行整体的操作。 卡片名词解释 1)激活数据:产品第一次发布前,显示为“-”;产品发布后,显示该PID产品的激活数。 2)在线数据:产品第一次发布前,显示为“-”;产品发布后,显示该PID产品的在线数。 操作介绍 1)查看产品日志:点击“查看”按钮,可以查看“产品日志”。产品日志记录了产品所有关键的事件,方便进行当