2017-05-03 1 views
2

나는 다음과 같은 2 라이브러리와 몰리 지불 만들려고 해요 :없음 '액세스 - 제어 - 허용 - 원산지'헤더가 요청 된 자원에 존재 - 몰리 지불 아약스

클라이언트가 양식을 채우고 제출하면 내 laravel 응용 프로그램의 함수에 ajax 요청이 전송됩니다.

$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('[email protected]'), 
]; 


$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; 
} 

그러나 나는이 응답을 받고 있어요 : 내 Laravel 기능에서

나는 다음을 수행하려고 해요

은 XMLHttpRequest https://www.mollie.com/payscreen/select-method/PRMtm6qnWG를로드 할 수 없습니다. 'Access-Control-Allow-Origin'헤더가 요청 된 리소스에 없습니다. 따라서 원점 'http://kapelhoektickets.dev'은 액세스 할 수 없습니다.

어떻게 해결할 수 있습니까?

답변

1

라인 return $response->getRedirectResponse()은 소비자를 보내야하는 지불 URL로 리디렉션하고 있습니다. 그러나이 리디렉션은 AJAX 호출에서 허용되지 않습니다.

대신 스크립트에서이 지불 URL을 $response->getRedirectUrl()으로 인쇄해야하며 웹 페이지가 자바 스크립트로 소비자를 리디렉션해야합니다.

0

문제는 Api Dashboard가 있다고 생각합니다. POST를 요청하기 전에 도메인을 허용 목록에 추가해야합니다.

관련 문제