Laravel / Omnipay PayPal, передать пользовательскую сумму доставки

Я пытаюсь передать таможенную стоимость доставки на PayPal Express Checkout.

Я использую omnipay и laravel 4.

Я понимаю, что это возможно, как указано в PayPal Экспресс Документы но не могу заставить его работать с 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 — это доставка, 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;
}

0

Решение

Я нашел ответ здесь

Я использовал более старую версию пакета, поэтому просто нужно было запустить обновление композитора и мог использовать функцию setShippingAmount();

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]