我正在使用Angelleye Paypal课程设置快速结账。 使用该演示,我可以接受多个项目的付款。 我有一个代表人们做广告的网站,并且构建了购物车,并将每个卖家的值分成一个数组。
如何使用SetExpressCheckout.php为接收器创建数组。
这是我购物车中的数组的演示
Array
(
[102340] => Array
(
[name] => Mandy
[paypal] => sales@one.co.uk
[artwork] => Array
(
[data_id] => Array
(
[0] => 1034
[1] => 1038
)
[name] => Array
(
[0] => Pink Foxgloves
[1] => Big Red Poppies
)
[qty] => Array
(
[0] => 1
[1] => 1
)
[price] => Array
(
[0] => 260
[1] => 288
)
)
[amount] => 548
)
[102341] => Array
(
[name] => John C
[paypal] => sales@two.co.uk
[artwork] => Array
(
[data_id] => Array
(
[0] => 1052
)
[name] => Array
(
[0] => Success
)
[qty] => Array
(
[0] => 1
)
[price] => Array
(
[0] => 46.75
)
)
[amount] => 46.75
)
)
所以baiscally mandy已售出2件商品:
id:1034名称:Pink Foxgloves数量:1小计:260.00
id:1038名称:大红罂粟数量:1小计:288.00
约翰已售出
id:1052名称:成功数量:1小计:46.75
我的总数为:594.75
如果我可以在快速结账时获得接收器,这将是好的,如果我也可以得到他们的物品,这将是非常好的。
先谢谢。
答案 0 :(得分:0)
所以经过研究并没有太多帮助,我通过反复试验找到答案。
在setexpresscheckout脚本中,我必须围绕支付阵列区域进行foreach循环。
此区域将有食谱电子邮件/ paypal id货币金额和唯一付款请求ID。
在此循环中,然后围绕项目运行另一个循环,并生成从该卖家购买的项目列表。
然后我将这一切设置为一个数组,通常发送给一个卖家。
继承我的代码,但显然这对我的任务非常具体。
// setup the holding array for all the details
$Payments = array();
foreach ($seller as $key => $value) {
// reset the items array for each recipient
$PaymentOrderItems = array();
// setup each recipient details
$Payment = array(
'currencycode' => 'GBP',
'amt' => $value['amount'],
'sellerpaypalaccountid' => $value['paypal'],
'paymentrequestid' => 'Payment'.$key
);
// loop through the products for each seller
foreach ($value['artwork'] as $akey) {
$Item = array(
'number' => $akey['data_id'],
'desc' => $akey['name'],
'qty' => $akey['qty'],
'amt' => round($akey['price'],2)
);
// push this item into the item array for this recipient
array_push($PaymentOrderItems, $Item);
}
// add the item array to the payment array
$Payment['order_items'] = $PaymentOrderItems;
// push the payment array to the main payments array
array_push($Payments, $Payment);
}
我希望这可以帮助那些想要使用快速结账而不是自适应付款的其他人。