我不知道这是否可能,或者这是否完全疯狂,但我正在尝试使用 OctoberCMS Ajax 框架从 AJAX 调用执行 PHP 方法(我假设这在它后面使用 jQuery)并且不起作用,因为我永远不会重定向到PayPal站点。我试图工作的PHP代码是这样的:
protected function onExecutePurchaseMethod()
{
Omnipay::gateway('PayPal_Express');
$params = [
'username' => $this->username,
'password' => $this->password,
'signature' => $this->signature,
'testMode' => $this->sandboxMode,
'amount' => Session::get('amountToReload'),
'cancelUrl' => url( 'payment/step4', "", $secure = null ),
'returnUrl' => url( 'payment/step2', "", $secure = null ),
'currency' => 'USD'
];
$response = Omnipay::purchase($params)->send();
if ($response->isSuccessful()) {
var_dump($response);
} else {
var_dump($response->getMessage());
}
}
由于没有执行重定向到PayPal并且页面多次卡住,迫使我关闭浏览器并再次重新打开,因此发生了什么,没有执行任何方法,也没有可见的错误。可以做我想做的事情吗?不是疯了吗?如果可能的话,我的错误在哪里?
作为额外的信息,我正在使用Barryvdh Laravel-omnipay软件包来处理Laravel内部的Omnipay。
在简要浏览了文档之后,我最好的猜测是你缺少purchase()
方法的必填字段。我相信您需要一个card
参数(即使它是无效的)才能对其进行处理。