ruby on rails - Saving bank info into your model from a payment API -
i'm using balanced payment api. i'm trying users bank account information i'm using example jsfiddle guide. know must save bank account uri user model. question how pull off in rails?
this rails version of jsfiddle.
%form#bank-account-form{:action => "#", :method => "post"} = label_tag :bank_name, "account holder's name" = text_field_tag :bank_name, nil, name: nil, :value => "john q. taxpayer", class: "ba-name" %p = label_tag :route_num, "routing number" = text_field_tag :route_num, nil, name: nil, :value => "121000358", class: "ba-rn" %p = label_tag :acct_num, "account number" = text_field_tag :acct_num, nil, name: nil, :value => "9900000001", class: "ba-an" %p %button.btn{:type => "submit"} tokenize %script{:charset => "utf-8", :type => "text/javascript"} \// demonstration purposes - if have server can post to, replace \// url url post to. \// go http://requestb.in/ \// click create new request bin , copy url without ?inspect @ end var requestbinurl = 'http://requestb.in/1jwwlla1'; // make sure doesn't end in ?inspect var marketplaceuri = '/v1/marketplaces/test-mpg9bciquzmboipmnvwkqjw'; balanced.init(marketplaceuri); function responsecallbackhandler(response) { switch (response.status) { case 400: \// missing or invalid field - check response.error details console.log(response.error); break; case 404: \// marketplace uri incorrect console.log(response.error); break; case 201: \// woo hoo! money! \// response.data.uri == uri of bank account resource \// should store bank account uri later credit console.log(response.data); var $form = $("#bank-account-form"); \// uri opaque token referencing tokenized bank account var bank_account_uri = response.data['uri']; \// append token hidden field submit server $(' %input>/ ').attr({ type: 'hidden', value: bank_account_uri, name: 'balancedbankaccounturi' }).appendto($form); $form.attr({action: requestbinurl}); $form.get(0).submit(); } } var tokenizeinstrument = function(e) { e.preventdefault(); var $form = $('#bank-account-form'); var bankaccountdata = { name: $form.find('.ba-name').val(), account_number: $form.find('.ba-an').val(), bank_code: $form.find('.ba-rn').val(), type: $form.find('select').val() }; balanced.bankaccount.create(bankaccountdata, responsecallbackhandler); }; $('#bank-account-form').submit(tokenizeinstrument);
the response callback should send uri method in 1 of rails controllers you'll call add_bank_account on either account or customer object. point have created account or customer object user , have stored account_uri or customer_uri in column in database. so,
customer = balanced::customer.find(current_user.customer_uri) customer.add_bank_account(bank_account_uri) if you're planning on having 1 bank account per user, can store bank_account_uri in database if like, balanced api uses last added bank account default.
also, if weren't aware, there's example rails application can reference. https://github.com/balanced/rentmybikes-rails
if have other issues, feel free drop #balanced on freenode irc.
Comments
Post a Comment