我不知道这是否可能,或者它是否完全疯了但是我试图使用OctoberCMS Ajax Framework从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。
答案 0 :(得分:0)
在简要介绍文档之后,我最好的猜测是您错过了purchase()
方法的必填字段。我相信你需要一个card
参数(即使它是一个无效的参数)才能让它进行处理。