如何使用 OmniPay 获得 PayPal_Express 响应?
Posted
技术标签:
【中文标题】如何使用 OmniPay 获得 PayPal_Express 响应?【英文标题】:How do I get PayPal_Express response using OmniPay? 【发布时间】:2014-08-13 18:29:45 【问题描述】:我已经到处搜索并在 OmniPays github 上转了一圈,试图找到有关如何在 OmniPay 中实施 PayPal Express 的文档。
$response = Omnipay::purchase([
'amount' => $total,
'encodedTestIDs' => serialize($payForTestID),
'returnUrl' => 'http://php.bhiceu.com/payment/return',
'cancelUrl' => 'http://php.bhiceu.com/payment/cancel'
])->send();
//dd($response);
//die;
if ($response->isRedirect())
// redirect to offsite payment gateway
$response->redirect();
else
// payment failed: display message to customer
echo $response->getMessage();
上面的代码成功地将我发送到适当金额的 PayPal,当我取消或检查时,我返回到相应的 URL,但是我得到的只是 paypal 令牌,我找不到任何关于如何处理的文档.
【问题讨论】:
是的... Omnipay 似乎很方便,但文档根本不存在。你找到答案了吗? 【参考方案1】:答案很简单,但我不得不去挖掘它的源代码,因为该库的文档不存在。
$response = Omnipay::completePurchase([
'amount' => $price,
'currency' => $currency
])->send();
您只需使用与初始 Omnipay::purchase
相同的 amount
和 currency
调用 Omnipay::completePurchase
。
在此之后,您将使用Omnipay::fetchCheckout()->send()
获取诸如送货地址等信息。
【讨论】:
【参考方案2】:您需要使用 completePurchase() 方法完成购买。
在https://github.com/thephpleague/omnipay-example/blob/master/index.php#L203-L218查看omnipay/示例代码
【讨论】:
以上是关于如何使用 OmniPay 获得 PayPal_Express 响应?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用omnipay通过CodeIgniter实现在线支付?
Omnipay - 如何将“自定义”或“发票”参数传递给 Paypal?