我试着用奥米帕-莫利和巴里夫德-拉勒维尔-奥姆尼佩在我的网站上建立一个支付系统
当我想支付‘付款’,并提交用于支付的表格。我收到一个错误:
Omnipay \ Common \ Exception \ RuntimeException
This response does not support redirection.我的路线档案:
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:
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);
}付费视图:
{{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:我在我的本地主机上做这个。不知道这是否有任何问题(不应该是)
发布于 2014-11-11 06:08:57
我也有过同样的问题。实际上,在重定向部分中,我建议将$response-> redirect ();更改为类似于.
返回重定向::away($response->getData()‘link’);
这将把用户从您的网站重定向到mollie支付URL,因为这将在网关打开和指定时生成。至少,这是我设法解决它的方法。
https://stackoverflow.com/questions/26336661
复制相似问题