2016-10-15 2 views
1

수정 가능한 장바구니, 선택 가능한 배송비가있는 레일스 앱을 간단한 PayPal 결제로 완료하려고합니다. PayPal 개발자 문서에 따르면 Express Checkout은 적절하고 Rails의 간단한 방법은 Braintree의 v.zero SDK 일 수 있습니다.(레일즈) Braintree v.zero SDK를 사용하여 PayPal 결제

<div id="paypal-container"></div> 

<script type="text/javascript"> 
    braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", { 
    paypal: { 
     container: "paypal-container", 
    }, 
    onPaymentMethodReceived: function (obj) { 
     doSomethingWithTheNonce(obj.nonce); 
    } 
    }); 
</script> 

이 버튼을 제출하십시오 PayPal client-side implementation에 대한 브레인 문서 도구 (JS v2로 SDK)에 따르면

, 나는 페이팔 버튼의 컨테이너와 모든 옵션이있는 자바 스크립트와 제공된 클라이언트 토큰이있을 것이다 braintree에서 payment_method_nonce를 얻고, 필요한 지불 정보 (payment_method_nonce, amount 등)를 채우기 위해 서버 측 메소드를 호출하고 마지막으로 트랜잭션을 완료해야합니다. 이러한 루비의 server-side implementation docs 같이 : 내가 생각

def checkout 
    result = Braintree::Transaction.sale(
     :amount => "10.00", 
     :payment_method_nonce => params[:payment_method_nonce], 
     :order_id => "Mapped to PayPal Invoice Number", 
     :options => { 
     :paypal => { 
      :custom_field => "PayPal custom field", 
      :description => "Description for PayPal email receipt", 
     }, 
     } 
    ) 
    if result.success? 
     "Success ID: #{result.transaction.id}" 
    else 
     result.message 
    end 
    end 

, 나는 기본적으로이 절차를 이해하지만 내가하지 어떻게 자바 스크립트 내 서버 측 방법과 경로 것. 신용 카드 양식을 사용하면 게시 할 대상을 /checkout과 같이 정의하고 내 결제 방법으로 /checkout 경로를 사용할 수 있습니다. 하지만 PayPal 만 사용하면 PayPal 버튼에서 내 결제 방법으로 어떻게 연결합니까?

감사

답변

3

전체 공개 : 나는 브레인 트리에서 작동합니다. 추가 질문이 있으시면 support으로 연락하십시오.

Braintree의 javascript SDK는 새로운 payment_method_nonce을 생성하지만 서버에 자동으로 전송하지는 않습니다. 그 과정의 일부는 당신에게 달려 있습니다. 당신은 onPaymentMethodReceived callback`를 구현하여 새로운 넌스에 액세스하고 작업 할 수 있습니다

<script type="text/javascript"> 
    braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", { 
    paypal: { 
     container: "paypal-container", 
    }, 
    onPaymentMethodReceived: function (obj) { 
     // you may submit the nonce to your server here 
     doSomethingWithTheNonce(obj.nonce); 
    } 
    }); 
</script> 

그 기능은, doSomethingWithTheNonce이 당신이 비표를 처리 할 곳임을 표시하는 자리 표시 자입니다. 생각한 것처럼 /checkout과 같은 끝점에 대한 게시물을 설정할 수 있습니다. 사용자가 나중에 제출할 양식으로 nonce를 설정 한 다음 양식이 제출되면 양식에서 nonce를 선택할 수도 있습니다.

관련 문제