1

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

这是我当前的 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"
);

以上目前正在工作,但贝宝上的订单摘要为空白。我找到了以下代码来添加有关单个项目的信息。

// 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'][])。有人可以给我一个如何为多个项目发送此信息的示例吗?谢谢!

4

1 回答 1

0

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

于 2013-10-08T16:54:46.717 回答