如何将商品信息发送到paypal?

Posted

技术标签:

【中文标题】如何将商品信息发送到paypal?【英文标题】:How to send item information to paypal? 【发布时间】:2013-10-14 12:54:38 【问题描述】:

我正在尝试在 php 中使用 json 格式的数组将商品信息发送到 paypal,但我无法找到任何资源来弄清楚如何做到这一点。

这是我当前的 json 数组,通过 php 中的 cURL 传递给 paypal:

$dataArray = array(
    "intent" => "sale",
    "redirect_urls" => array(
            "return_url" => $url_success,
            "cancel_url" => $url_cancel
        ),
    "payer" => array(
            "payment_method" => "paypal"
        )
);

$dataArray['transactions'][0] = array(
    'amount' => array(
        'total' => round($sale->GetTotal(), 2, PHP_ROUND_HALF_UP),
        'currency' => $sale->GetCurrency(),
        'details' => array(
            'subtotal' => round($sale->GetSubTotal(), 2, PHP_ROUND_HALF_UP),
            'tax' => round($sale->GetTax(), 2, PHP_ROUND_HALF_UP)
        )
    ),
    'description' => "Test Payment"
);

以上内容目前正在运行,但 paypal 上的订单摘要为空白。我找到了以下代码来添加有关单个项目的信息。

// prepare individual items
$dataArray['transactions'][0]['item_list']['items'][] = array(
    'quantity' => '1',
    'name' => 'Womens Large',
    'price' => '0.01',
    'currency' => 'USD',
    'sku' => '31Wf'
);

$dataArray['transactions'][0]['item_list']['items'][] = array(
    'quantity' => '1',
    'name' => 'Womens Medium',
    'price' => '0.01',
    'currency' => 'USD',
    'sku' => '31WfW'
);

此代码不起作用。据说这对发布它的人有用。我不确定为什么这两个项目似乎都将相同的项目添加到数组中的同一位置,但这本质上是从该站点复制和粘贴的,只是更改了数组名称,所以我确定这就是他们有。我一直在试图找到我发现这个的网站,但我不记得我是怎么到那里的。我发现这个的网站没有指定需要阵列的哪些部分。我确定需要 $dataArray['transactions'],但我不知道其余的标识符:([0]['item_list']['items'][])。有人可以给我一个如何为多个项目发送此信息的示例吗?谢谢!

【问题讨论】:

您是否考虑过通过 html 表单使用 $_POST ?这是一个非常简单的过程,那里有很多资源 我见过其他人使用这种方法,但我已经用这种方法完成了其他所有事情,并且更喜欢保持不变。不过谢谢! :) 【参考方案1】:

好吧,显然我说得对。原来我的问题是每个项目的价格字段没有加起来整个交易的小计。我在那里有随机值来测试它。显然它需要匹配的值。

【讨论】:

以上是关于如何将商品信息发送到paypal?的主要内容,如果未能解决你的问题,请参考以下文章

将购买的商品详细信息发送到 PayPal?

如何将多个项目发送到 PayPal

将购物车商品数据发送到 PayPal WooCommerce

WooCommerce 以错误的方式向 PayPal 发送商品

如何将运费从购物车发送到贝宝 [关闭]

如何将自定义数据发送到 Paypal 并接收回来