如何将项目信息发送到PayPal


How to send item information to paypal?

我正在尝试使用 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['交易']是必需的,但我不知道其余的标识符:([0]['item_list']['items'][](。 有人可以给我一个如何为多个项目发送此信息的示例吗?谢谢!

好的,所以显然我毕竟是正确的。事实证明,我的问题是每个项目的价格字段加起来没有达到整个交易的小计。我在那里有随机值来测试它。显然,它需要匹配的值。