2013-07-11 6 views
6

स्ट्रिप अब पेआउट प्रदान करता है, जो आगे के अंत में बैंक खाता टोकन बनाकर काम करता है। वहां से, टोकन सर्वर को भेजता है जहां आप प्राप्तकर्ता ऑब्जेक्ट उस बैंक खाता टोकन के साथ बनाते हैं। वहां से आप इस प्राप्तकर्ता ऑब्जेक्ट को स्थानान्तरण में उपयोग करते हैं।Stripe.js - प्राप्तकर्ता की जानकारी एकत्रित करना

जब मैं परिचित हूँ तुम, custom forms for paymentsसाथ 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; 
    }); 
    }); 

मेरे समस्या यह है कि चेतावनी() शुरू हो जा रही है, जिसका अर्थ है त्रुटियां होने है। मैंने एपीआई को देखा और मुझे यकीन नहीं है कि विशेष रूप से प्राप्तकर्ता बनाने के लिए उन त्रुटियों को कैसे प्रदर्शित किया जाए। भुगतान के लिए यह निम्न उदाहरण देता है:

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

नोट - निश्चित रूप से समस्या नहीं है कि - मैं jQuery/Stripe.js के आयात को बाहर रखा गया। मदद के लिए धन्यवाद!

उत्तर

3

मेरा अनुभव यह प्रतिक्रिया रहा है .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') 

इस के लिये दस्तावेज यहां हैं: https://stripe.com/docs/stripe.js#collecting-bank-account-details

0

बस के रूप में नीचे अपना रूप बदल जाते हैं। अन्य चीजें ठीक हैं। क्योंकि आप $ ('देश') के रूप में मूल्य ला रहे हैं। वैल() जहां । देश इंगित करता है कि कक्षा होना चाहिए। तो बस नीचे दिए गए अपने फॉर्म में कक्षा जोड़ें।

<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> 

संबंधित मुद्दे