2014-11-13 1 views
0

이것이 가능한지 아니면 완전한 광기인지 모르겠지만 AJAX 호출을 사용하여 OctoberCMS Ajax Framework을 사용하여 PHP 메소드를 실행하려고 시도하고 있습니다. (jQuery를 사용한다고 가정합니다) 결코 작동하지 않기 때문에 작동하지 않습니다. 페이팔 사이트로 리디렉션. 내가 작업을 얻기 위해 노력하고있어 PHP 코드는 하나입니다 :OctoberCMS에서 구성 요소 내부의 메서드를 호출하는 방법은 무엇입니까?

실행되고 페이지가 여러 번 다시 브라우저를 닫고 다시 나를 강제 갇히지 무엇 것도 페이팔로 리디렉션하지 않기 때문에 무슨 일이 일어나고
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()); 
    } 
} 

, 어떤 방법 눈에 보이는 오류는 없습니다. 내가하려는 일을하는 것이 가능합니까? 광기가 아닌가? 내 오류가 어디에서 가능합니까?

추가 정보 저는 Laravel 내에서 Omnipay를 처리하기 위해 Barryvdh Laravel-omnipay 패키지를 사용하고 있습니다.

+0

Omnipay를 사용했지만 Express Checkout에서 페이팔로 리디렉션해야하므로 AJAX에서 어떻게 처리합니까? XMLHTTPRequest는 HTTP 리디렉션을 따르지 않습니다. – prodigitalson

+0

@prodigitalson 정확히 무슨 일이 일어나고 있는지 "페이팔로 리디렉션"그래서 어떻게 처리해야합니까? 어떻게이 코드를 OctoberCMS 페이지 수명주기에 맞 춥니 까? 그게 내가 일반적으로하는 방식 대신 Ajax를 통과하는 것입니다. – ReynierPM

+0

저는 OctoberCMS에 대해 아무 것도 몰라요. 그러나 일반적으로 당신은 아약스에 대한 명시적인 요청을하지 않을 것입니다. CMS 때문에 ajax가 필요합니까? 또는 직선 POST로 빠른 지불 방법을 처리 할 수 ​​있습니까? – prodigitalson

답변

0

설명서를 간단히 살펴본 후에 purchase() 메소드에 필수 입력란이 누락되었습니다. 처리를 위해 card 매개 변수 (유효하지 않은 매개 변수 일지라도)가 필요하다고 생각합니다.

+0

[This] (http : /stackoverflow.com/a/20779741/719427) 대답은 필수 사항이 아닙니다. 어디에서 읽었습니까? PayPal을 통해 지불하게되는 이유는 비록 그것이 faker 일지라도 CC를 사용해야합니까? – ReynierPM

+0

아, 네 말이 맞아. '카드'는 불필요합니다. 미안합니다. 여기에 내가했던 필수 필드가 발견됩니다 [여기] (https://github.com/thephpleague/omnipay) 게이트웨이 방법 미만 : '토큰, 양, 통화, 설명, transactionId는, clientIp, returnUrl, cancelUrl'입니다. 사과. – cchapman

+0

흠 나는 모든 매개 변수가 필요하지 않기 때문에 이것이 문제라고 생각하지 않습니다. [여기] (https://github.com/thephpleague/omnipay-paypal/blob/master/src/ProGateway.php#L17-L25)를 보시면 몇 가지만보실 수 있습니다. 또한이 댓글이 있습니다. 모두 게이트웨이 메소드는 $ options 배열을 인수로 사용합니다. 각 매개 변수는 필요한 매개 변수가 다르며 게이트 웨 이는 필수 매개 변수를 생략하면 InvalidRequestException을 발생시킵니다. '문서에서는'InvalidRequestException'이 표시되지 않습니다. – ReynierPM

관련 문제