购物车商品总金额与使用Srmklive Paypal的订单金额不符

时间:2020-09-08 08:19:29

标签: php laravel paypal

我正在使用srmklive/laravel-paypal,但出现错误。非常感谢任何帮助。 问题 1.)如何增加运费? 2.)如何加税?

/**
 * Function that prepares the data for the PayPal Request
 * @return array
 */
private function prepareCheckoutData()
{
    $iTax       = '20.00';
    $iShipping  = '60.00';
    $aItemJson  = $this->sItemJson;
    $aAllItems  = json_decode('[' . $aItemJson . ']', true);
    $aCartItems = array_map(function ($aItem) {
        return array(
            'name'  => $aItem['name'],
            'code'  => $aItem['code'],
            'qty'   => $aItem['quantity'],
            'price' => $aItem['amount']['value'],
            'desc'  => $aItem['description']
        );
    }, $aAllItems);
   
    $iTotal = 0;
    foreach ($aCartItems as $aCartItem) {
        $iTotal += $aCartItem['price'] * $aCartItem['qty'];
    }
    return array(
        'items'               => $aCartItems,
        'tax'                 => $iTax,
        'shipping'            => $iShipping,
        'return_url'          => route('paypal.checkout'),
        'cancel_url'          => route('paypal.cancel'),
        'invoice_id'          => uniqid(),
        'invoice_description' => 'This is an Invoice Description',
        'total'               => $iTotal
    );

以下是这些要在setExpressCheckout中发送的函数的输出

array:8 [
  "items" => array:2 [
    0 => array:5 [
      "name" => "Women's Red Top 1"
      "code" => "ITEM001"
      "qty" => "1"
      "price" => "589.99"
      "desc" => "Women's Red Top 1 Description"
    ]
  ]
  "tax" => "20.00"
  "shipping" => "60.00"
  "return_url" => "https://pg-module.local.com/checkoutPayPal"
  "cancel_url" => "https://pg-module.local.com/cancelPayPal"
  "invoice_id" => "5f573adaf257e"
  "invoice_description" => "This is an Invoice Description"
  "total" => 589.99
]

然后我在这里$aCheckoutData中使用了此返回值

$oProvider = new ExpressCheckout();
return $oProvider->setCurrency($aData['sCurrency'])->setExpressCheckout($aCheckoutData);

但是这些错误输出出现了错误:

array:10 [
    "TIMESTAMP" => "2020-09-08T07:43:24Z"
    "CORRELATIONID" => "982d14eeb0a9c"
    "ACK" => "Failure"
    "VERSION" => "123"
    "BUILD" => "54871143"
    "L_ERRORCODE0" => "10413"
    "L_SHORTMESSAGE0" => "Transaction refused because of an invalid argument. See additional error messages for details."
    "L_LONGMESSAGE0" => "The totals of the cart item amounts do not match order amounts."
    "L_SEVERITYCODE0" => "Error"
    "paypal_link" => null
  ]

税收和运输是否自动添加到您的图书馆中?还是应该将其添加到$iTotal中?喜欢$iTotal += $iShipping + $iTax吗? 另外,如何在PayPal结帐中添加其他字段。需要服务费吗?谢谢 enter image description here

0 个答案:

没有答案