0

我不知道这是否可能,或者这是否完全疯狂,但我正在尝试使用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。

4

1 回答 1

0

在简要浏览文档后,我最好的猜测是您缺少该purchase()方法的必填字段。我相信您需要一个card参数(即使它是无效的)来处理它。

于 2014-11-13T01:39:07.410 回答