向 Omnipay Paypal Express 添加自定义变量
Posted
技术标签:
【中文标题】向 Omnipay Paypal Express 添加自定义变量【英文标题】:Adding custom variable to Omnipay Paypal Express 【发布时间】:2017-07-09 05:17:47 【问题描述】:我已尝试在 Internet 上到处搜索,但无法找到任何工作。
我正在尝试将用户 ID 添加到我的“Paypal_Express”Omnipay 购买中。
但是https://github.com/thephpleague/omnipay-paypal/issues/10 中概述的解决方案对我不起作用。它说函数 sendData 不存在。 $request->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'
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:我认为不是这个:
$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
参数是购买对象的参数,不是网关对象的参数。
【讨论】:
以上是关于向 Omnipay Paypal Express 添加自定义变量的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 OmniPay 获得 PayPal_Express 响应?
Omnipay - 使用 Paypal Express 结帐 Laravel
使用 Omnipay 在 Paypal Express 中显示账单和运输信息
Omnipay Paypal Express 结帐错误:安全标头无效