请求的资源上没有 'Access-Control-Allow-Origin' header - Mollie 付款 ajax
No 'Access-Control-Allow-Origin' header is present on the requested resource - Mollie payment ajax
我正在尝试使用以下 2 个库创建 mollie 支付:
当客户填写表格并提交 ajax 请求时,将对我的 laravel 应用程序中的函数进行请求。
在我的 Laravel 函数中,我正在尝试执行以下操作:
$gateway = Omnipay\Omnipay::create('Mollie');
$gateway->setApiKey('test_gSDS4xNA96AfNmmdwB3fAA47zS84KN');
$params = [
'amount' => $ticket_order['order_total'] + $ticket_order['organiser_booking_fee'],
'description' => 'Kapelhoek wijkfeesten',
'returnUrl' => URL::action('EventCheckoutController@fallback'),
];
$response = $gateway->purchase($params)->send();
if ($response->isSuccessful()) {
// payment was successful: update database
print_r($response); die;
} elseif ($response->isRedirect()) {
// redirect to offsite payment gateway
return $response->getRedirectResponse(); die;
} else {
// payment failed: display message to customer
echo $response->getMessage(); die;
}
但我收到了这样的回复:
XMLHttpRequest cannot load https://www.mollie.com/payscreen/select-method/PRMtm6qnWG. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://kapelhoektickets.dev' is therefore not allowed access.
我该如何解决这个问题?
我认为 Api 仪表板有问题。在发出 POST 请求
之前,您必须将您的域列入白名单
行 return $response->getRedirectResponse()
正在重定向到付款 URL 消费者应该被发送到的地方。但是,在 AJAX 调用中不允许此重定向。
相反,您的脚本应使用 $response->getRedirectUrl()
打印此付款 URL,并且您的网页应使用 javascript.
重定向消费者
如果您从其他域请求 API,则必须实施 CORS - 我更喜欢这个包 https://github.com/barryvdh/laravel-cors。
我正在尝试使用以下 2 个库创建 mollie 支付:
当客户填写表格并提交 ajax 请求时,将对我的 laravel 应用程序中的函数进行请求。
在我的 Laravel 函数中,我正在尝试执行以下操作:
$gateway = Omnipay\Omnipay::create('Mollie');
$gateway->setApiKey('test_gSDS4xNA96AfNmmdwB3fAA47zS84KN');
$params = [
'amount' => $ticket_order['order_total'] + $ticket_order['organiser_booking_fee'],
'description' => 'Kapelhoek wijkfeesten',
'returnUrl' => URL::action('EventCheckoutController@fallback'),
];
$response = $gateway->purchase($params)->send();
if ($response->isSuccessful()) {
// payment was successful: update database
print_r($response); die;
} elseif ($response->isRedirect()) {
// redirect to offsite payment gateway
return $response->getRedirectResponse(); die;
} else {
// payment failed: display message to customer
echo $response->getMessage(); die;
}
但我收到了这样的回复:
XMLHttpRequest cannot load https://www.mollie.com/payscreen/select-method/PRMtm6qnWG. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://kapelhoektickets.dev' is therefore not allowed access.
我该如何解决这个问题?
我认为 Api 仪表板有问题。在发出 POST 请求
之前,您必须将您的域列入白名单行 return $response->getRedirectResponse()
正在重定向到付款 URL 消费者应该被发送到的地方。但是,在 AJAX 调用中不允许此重定向。
相反,您的脚本应使用 $response->getRedirectUrl()
打印此付款 URL,并且您的网页应使用 javascript.
如果您从其他域请求 API,则必须实施 CORS - 我更喜欢这个包 https://github.com/barryvdh/laravel-cors。