2013-07-11 2 views
6

스트라이프는 이제 프런트 엔드에은행 계좌 토큰을 만들어 지불금을 제공합니다. 거기에서 토큰은 해당 은행 계좌 토큰을 가진 수취인 개체를 만드는 서버로 전송됩니다. 거기에서 전송에서이받는 사람 개체를 사용합니다. 나는 그것을받는 사람에 대한 토큰을 만들에 올 때, custom forms for payments와 stripe.js를 만들 수 있습니다 잘 알고 있지만Stripe.js - 수신자 정보 수집

, 나는 this 이외의 문서를 찾을 수없는 것.

<form method="POST" id="inst-form">  

    <div class="form-row"> 
     <label> 
     <span>Bank Location</span> 
      <select data-stripe="country"> 
       <option value="US">United States</option> 
      </select> 
     </label> 
    </div> 

    <div class="form-row"> 
     <label> 
     <span>Routing Number</span> 
      <input type="text" size="9" data-stripe="routingNumber"/> 
     </label> 
    </div> 

    <div class="form-row"> 
     <label> 
     <span>Account Number</span> 
      <input type="text" size="17" data-stripe="accountNumber"/> 
     </label> 
    </div> 


    <button type="submit">Make Recipient!</button> 
</form> 

지금까지, 나는이 양식에서 필요로하는 세 가지가 국가, routingNumber, 그리고이 accountNumber 있습니다 : 여기

먼저, 내 양식 내 문제입니다. 자바 스크립트 살펴 봅시다 것은 그래서 나는 Stripe.js와 해당 필드를 사용할 수 있습니다

// Create a handler to manage what Stripe returns. 
    var stripeResponseHandler = function(status, response) { 
    var $form = $('#inst-form'); 
    if (response.error) 
    { 
     alert("Error"); 
     // Not sure how to get these errors. 
     $form.find('button').prop('disabled', false); 
    } 
    else 
    { 
     var token = response.id; 
     $form.append($('<input type="hidden" name="stripeToken" />').val(token)); 
     $form.get(0).submit(); 
    } 
    }; 

    // Now the handler is done, lets use it when the form is submitted. 
    // On form submission execute: 
    jQuery(function($) { 
    $('#inst-form').submit(function(event) { 
     // Get the form object. 
     var $form = $(this); 
     // Disable the submit button to prevent repeated clicks 
     $form.find('button').prop('disabled', true); 
     // Create a token with Stripe 
     Stripe.bankAccount.createToken({ 
     country: $('.country').val(), 
     routingNumber: $('.routingNumber').val(), 
     accountNumber: $('.accountNumber').val(), 
     }, stripeResponseHandler); 
     // Prevent the form from submitting with the default action 
     return false; 
    }); 
    }); 

내 문제는 경고()이 오류가 의미하는 트리거되고 있다는 점이다. API를 살펴본 결과 수신자를 생성하기 위해 이러한 오류를 표시하는 방법을 잘 모릅니다. 지불을 위해 다음과 같은 예를 제공합니다

$(".payment-errors").text(response.error.message); 

주 - 반드시 문제가되지 않습니다 - 나는 jQuery를/Stripe.js의 수입을 제외. 도움에 감사드립니다!

답변

3

내 경험으로는 response.error.message가 실제로 올바른 방법입니다. 당신은 여전히 ​​올바른 오류가 표시되지 않는 경우

Stripe.bankAccount.createToken({ 
    country: 'US', 
    routingNumber: bank_routing_number, 
    accountNumber: bank_account_number, 
}, function(status, response) { 
    if (response.error) 
    { 
     console.log(response); 
     alert(response.error.message); 
    } 
    else 
    { 
     var token = response.id; 
     /* send the token to the server along with the withdraw request */ 
    } 
}); 

것은, 당신이 (응답) CONSOLE.LOG하려고 단서를위한 자바 스크립트 콘솔을 표시한다 : 여기

이에 대한 내 자신의 코드의 샘플입니다 . 여기

재현 할 수있는 쉬운 오류의 예입니다

라우팅 번호 당신은 루틴 계정 및 라우팅 번호를 확인하는 물론,해야 9 자리

이 있어야합니다 Stripe.js가 제공합니다. 다음은 사용 예는 문서에서 가져온 :

// This will return true, indicating a potentially valid bank 
// routing number. 

Stripe.bankAccount.validateRoutingNumber('111000025') 
Stripe.bankAccount.validateRoutingNumber('110000000') 

// These invalid bank routing numbers will all return false. 

Stripe.bankAccount.validateRoutingNumber('990000000') 
// (Doesn't pass the checksum check.) 
Stripe.bankAccount.validateRoutingNumber('12345') 
Stripe.bankAccount.validateRoutingNumber('mistake') 

이에 대한 문서는 여기에 있습니다 :

0

https://stripe.com/docs/stripe.js#collecting-bank-account-details 그냥 아래 양식을 변경합니다. 다른 것은 괜찮습니다. $ ('국가')로 값을 가져오고 있기 때문에 val() 여기서 . 국가는 클래스가 있어야한다고 나타냅니다. 아래 양식과 같이 클래스를 추가하십시오.

<form method="POST" id="inst-form">  

<div class="form-row"> 
    <label> 
    <span>Bank Location</span> 
     <select data-stripe="country" class="country"> 
      <option value="US">United States</option> 
     </select> 
    </label> 
</div> 

<div class="form-row"> 
    <label> 
    <span>Routing Number</span> 
     <input type="text" size="9" data-stripe="routingNumber" class="routingNumber"/> 
    </label> 
</div> 

<div class="form-row"> 
    <label> 
    <span>Account Number</span> 
     <input type="text" size="17" data-stripe="accountNumber" class="accountNumber"/> 
    </label> 
</div> 

<button type="submit">Make Recipient!</button>