如何在OctoberCMS中调用组件内的方法?

时间:2014-11-13 01:22:38

标签: php jquery ajax omnipay octobercms

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

1 个答案:

答案 0 :(得分:0)

在简要介绍文档之后,我最好的猜测是您错过了purchase()方法的必填字段。我相信你需要一个card参数(即使它是一个无效的参数)才能让它进行处理。