我正在使用 Laravel 6。我正在尝试将 PayPal 支付网关集成到我的项目中。我正在关注 PayPal PHP Sdk 的示例源代码。
我有沙盒个人和买家帐户。
从 PayPal PHP Payment Example 复制代码时,支付和交易工作正常。但是,每当我尝试添加多个项目和 subTotal 时,它都会生成错误。
下面的代码:来自 PayPal Sdk 示例的静态数据。
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("22222") // Similar to `item_number` in Classic API
->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setSku("852520") // Similar to `item_number` in Classic API
->setPrice(2);
$iteamArr = [$item1,$item2];
$itemList = new ItemList();
$itemList->setItems($iteamArr);
默认示例付款详情如下:
以及试图使动态化的内容。
下面的代码:
$details = new Details();
$details->setShipping(7.5)
->setTax(5.0)
->setSubtotal(17.50);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(30)
->setDetails($details);
我的动态过程是:
for($loop=1;$loop<3;$loop++){
$item = new Item();
$itemInfo[]=$item->setName('Dynamic Name '.$loop)
->setCurrency('USD')
->setQuantity(1)
->setSku(rand(1111,9999).$loop) // Similar to `item_number` in Classic API
->setPrice(2);
}
根据我的动态代码,付款明细如下:
$details = new Details();
$details->setShipping(7.5)
->setTax(5.0)
->setSubtotal(4);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(16.5)
->setDetails($details);
在此之后,我收到了 PayPal 退货的回复
Got Http response code 400 when accessing
https://api.sandbox.paypal.com/v1/payments/payment.
注意:当我从那里的文档中克隆 PayPal 项目信息时,它会成功运行。