【问题标题】:Laravel/Omnipay paypal, pass custom shipping amountLaravel/Omnipay paypal,通过自定义运费
【发布时间】:2015-01-06 22:30:40
【问题描述】:

我正在尝试将自定义运费传递给 paypal 快递结帐。

我正在使用omnipay 和laravel 4。

我认为这在paypal express docs 中引用是可能的,但无法让它与omnipay 一起使用我尝试了以下方法:

/*set api details*/
$request = $gateway->purchase([
    'amount'=> $cart['total'],
    'currency' => 'GBP',
    'XXX' => 100
    'transactionId' => $order->reference,
    'returnUrl' => $returnURL . '/checkout/success',
    'cancelUrl' => $returnURL . '/checkout/cancel'
])->setItems($cart['items'])->send();

/*handleResponse*/

其中 XXX 是 shipping、shippingAmt、 shipping_amount,我尝试将运费值添加到购物车中的每件商品。我尝试修改 abstractrequest.php 类以手动添加运费值,如下所示:

protected function getItemData()
    {
        $data = array();
        $items = $this->getItems();
        if ($items) {
            foreach ($items as $n => $item) {
                $data["L_PAYMENTREQUEST_0_NAME$n"] = $item->getName();
                $data["L_PAYMENTREQUEST_0_DESC$n"] = $item->getDescription();
                $data["L_PAYMENTREQUEST_0_QTY$n"] = $item->getQuantity();
                $data["L_PAYMENTREQUEST_0_AMT$n"] = $this->formatCurrency($item->getPrice());
            }
        }
        $data["L_PAYMENTREQUEST_0_SHIPPINGAMT"] = "3.00";
        return $data;
    }

【问题讨论】:

标签: php omnipay paypal


【解决方案1】:

我找到了answer here

我使用的是旧版本的包,所以只需要运行 composer update 并可以使用函数setShippingAmount();

【讨论】:

    猜你喜欢
    • 2021-12-18
    • 2014-03-29
    • 2017-07-09
    • 2014-12-22
    • 2016-02-27
    • 2017-03-25
    • 2015-02-13
    • 2012-02-05
    • 2014-10-11
    相关资源
    最近更新 更多