首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Omnipay-Mollie误差

Laravel Omnipay-Mollie误差
EN

Stack Overflow用户
提问于 2014-10-13 09:24:35
回答 1查看 1.3K关注 0票数 1

我试着用奥米帕-莫利巴里夫德-拉勒维尔-奥姆尼佩在我的网站上建立一个支付系统

当我想支付‘付款’,并提交用于支付的表格。我收到一个错误:

代码语言:javascript
复制
Omnipay \ Common \ Exception \ RuntimeException

This response does not support redirection.

我的路线档案:

代码语言:javascript
复制
Route::get('mollietest', ['uses'=>'PurchaseController@index','as'=>'purchase.index']);
Route::get('paymenturl', ['uses'=>'PurchaseController@create','as'=>'purchase.create']);
Route::post('paymenturl', ['uses'=>'PurchaseController@store','as'=>'purchase.store']);
Route::get('checkout', ['uses'=>'PurchaseController@show','as'=>'purchase.show']);

我的PurchaseController:

代码语言:javascript
复制
public function index()
    {
        return View::make('mollie');
    }

public function create()
{
    // get list of issuers
    $gateway = Omnipay::create('Mollie');
    $gateway->setApiKey(mytestapi);

    $payment = $gateway->fetchPaymentMethods()->send();
    if($payment->isSuccessful()){
        $pay = $payment->getPaymentMethods();
    }


    $henk = $gateway->fetchIssuers()->send();
    if($henk->isSuccessful()){
        $issuers = $henk->getIssuers();
    }

    return View::make('gewoonbetalen')
        ->with(['issuers'=>$issuers,'pay'=>$pay]);
}

public function store()
{
    // make payment
    $gateway = Omnipay::create('Mollie');
    $gateway->setApiKey(mytestapi);

    $order_id = time();
    $params = array(
                    'amount'=>'10.00',
                    'description'=> time(),
                    'method'=>Input::get('paymentmethod'),
                    'returnUrl'=>URL::route('purchase.show'),
                    'redirectUrl'=>URL::route('purchase.show'),
                    'metadata'=> array(
                                    'order_id' => $order_id,
                                ),
                    'issuer'=>Input::get('issuer'),
                    );
    $response = $gateway->purchase($params)->send();

    Log::error('blablalllll');

    if($response->isRedirect()){
         $response->redirect(); 
    } elseif($reponse->isPending()) {
        return "Pending, Reference: ". $response->getTransactionReference();
    } else {
        return "Error " .$response->getCode() . ': ' .$response->getMessage();
    }
}

public function show($id)
{
    $gateway = Omnipay::create('Mollie');
    $gateway->setApiKey(mytestapi);
    $response = $gateway->completePurchase()->send();

    $data = $response->getData();

    print_r($data);

}

付费视图:

代码语言:javascript
复制
{{Form::open(array('action'=>'purchase.store','method'=>'POST'))}}

    <select name="paymentmethod">
        @foreach($pay as $payment)
            <option value="{{$payment->getId() }}">{{$payment->getName()}}</option>
        @endforeach
    </select>

    <select name="issuer">
        @foreach($issuers as $issuer)
        <option value="{{ $issuer->getId() }}" name="issuer">{{$issuer->getName();}}</option>
        @endforeach
        <option value="1">of wat anders</option>
    </select>

    {{Form::submit()}}
{{Form::close()}}

有什么东西不见了吗?我整个周末都在忙这个,但没有成功。有人能告诉我怎么回事吗?

FYI:我在我的本地主机上做这个。不知道这是否有任何问题(不应该是)

EN

回答 1

Stack Overflow用户

发布于 2014-11-11 06:08:57

我也有过同样的问题。实际上,在重定向部分中,我建议将$response-> redirect ();更改为类似于.

返回重定向::away($response->getData()‘link’);

这将把用户从您的网站重定向到mollie支付URL,因为这将在网关打开和指定时生成。至少,这是我设法解决它的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26336661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档