我试过在互联网上到处搜索,无法在那里工作。
我正在尝试将用户ID添加到我的' Paypal_Express'全方位购买。
然而,https://github.com/thephpleague/omnipay-paypal/issues/10中概述的解决方案对我不起作用。它说函数sendData不存在。 $请求 - > setTransactionId();和$ request-> setDescription();也会抛出错误..还有其他人能够做到这一点吗?
$order_paramaters = array(
'amount' => $grand_total,
);
Omnipay::setParameter('custom', $cart->user_id);
$response = Omnipay::purchase($order_paramaters)->send();
我明白了:
call_user_func_array() expects parameter 1 to be a valid callback, cannot access protected method Omnipay\PayPal\ExpressGateway::setParameter()
也尝试过:
$gateway = Omnipay::create('PayPal_Express');
$gateway->setParameter('custom', $cart->user_id);
$response = $gateway->purchase($order_paramaters)->send();
我明白了:
Call to protected method Omnipay\Common\AbstractGateway::setParameter() from context 'App\Http\Controllers\CartController'
任何帮助都非常感激。
答案 0 :(得分:0)
我认为不是这样:
$gateway = Omnipay::create('PayPal_Express');
$gateway->setParameter('custom', $cart->user_id);
$response = $gateway->purchase($order_paramaters)->send();
你需要试试这个:
$gateway = Omnipay::create('PayPal_Express');
$purchase = $gateway->purchase($order_paramaters);
$purchase->setParameter('custom', $cart->user_id);
$response = $purchase->send();
即。 custom
参数是购买对象的参数,而不是网关对象的参数。