【问题标题】:How to set Tax and Shipping fees in Laravel Paypal package如何在 Laravel Paypal 包中设置税费和运费
【发布时间】:2018-06-17 00:55:06
【问题描述】:

最近我正在做一个 laravel 项目,我选择使用 srmklive/laravel-paypal 作为我的贝宝支付网关插件,但我发现我无法添加税费和运费,我已多次阅读 readme.doc 并且还检查贝宝文档,但我仍然对如何添加税费和运费感到困惑。

有人知道setExpresssCheckout的时候怎么添加这些数据吗?

这是我的代码:

$provider = new ExpressCheckout;
            $provider = PayPal::setProvider('express_checkout');

            $itemsArr = $data = [];

// add items
            foreach ($order->orderProduct as $order_product) {
              array_push($itemsArr, [
                  'name' => $order_product->product->name,
                  'price' => $order_product->price,
                  'qty' => $order_product->quantity
              ]);
            }

            // add shipping fees
            array_push($itemsArr, [
              'name' => "Shipping Method : ".$order->shipping_method,
              'price' => $order->shipping_fees,
              'qty' => 1
            ]);
            $data["items"] = $itemsArr;

            $data['invoice_id'] = 1;
            $data['invoice_description'] = "Order #1 Invoice";
            $data['return_url'] = url('/payment/success');
            $data['cancel_url'] = url('/cart');

            $total = 0;
            foreach($data['items'] as $item) {
                $total += $item['price']*$item['qty'];
            }

            $data['total'] = $total;

            $options = [
              'BRANDNAME' => 'Ulife',
              'LOGOIMG' => asset("images\ulifelanding.png"),
              'CHANNELTYPE' => 'Merchant'
            ];

            $response = $provider->setCurrency('MYR')->addOptions($options)->setExpressCheckout($data);

Ps:我也在github上问过,还是一头雾水。

【问题讨论】:

  • 我也在试图解决这个问题。您能找到解决方案吗?
  • 我有同样的问题,我认为包已经硬编码这个'NOSHIPPING' => 1,

标签: php paypal laravel-5.5


【解决方案1】:

我不知道谁还需要这个问题的答案,但我分享(“srmklive/paypal”:“~1.0”)。

  1. 转到 ExpressCheckout.php 并转到 setExpressCheckout 添加此:

'PAYMENTREQUEST_0_AMT' => $data['total']+$data['tax'],

'PAYMENTREQUEST_0_TAXAMT' => $data['tax'],

  1. 现在你 checkoutData:

'税'=>xx

  1. 使用 addOptions 调用您的提供商: 示例:

$选项 = [ 'BRANDNAME' => '我的品牌', 'LOGOIMG' => 'https://example.com/mylogo.png', 'CHANNELTYPE' => '商家', ];

$provider->addOptions($options)->setExpressCheckout($checkoutData)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 2020-03-15
    • 2013-04-09
    相关资源
    最近更新 更多