問題タブ [braintree-rails]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Braintree Rails サブスクリプションに割引を追加する
Braintree-Rails gemを使用して割引オブジェクトをサブスクリプションに追加しようとしていますが、適用されません。私のコードが間違っているに違いないと推測していますが、実際の例が見つかりません。
をダンプするdiscount
と、正しくロードされます。サブスクリプションは問題なく作成されますが、定価です。割引はありません。サブスクリプションに割引を追加するにはどうすればよいですか?
更新:直接クエリを変更しようとしましたが、それは役に立ちませんでした。
更新 2 : 上記のコードで期待されるリクエストを使用して、API に対して直接 Braintree リクエストを実行したところ、機能しました。設定と保存の間に何か問題が発生しています。
更新 3BraintreeRails::Subscription
:オブジェクトの属性を抽出しBraintree::Subscription
、API を呼び出して、それをBraintreeRails::Subscription.find
オブジェクトにロードし直すことにより、回避策が可能です。ただし、これはあまりクリーンではなく、追加の API 呼び出しが必要になるため、最適とは言えません。
ruby-on-rails - Railsコントローラーは別のコントローラーのフォームにリダイレクトしてから、保存されたモデルに戻ります
Rails アプリで何か変なことをする必要があります。ユーザーが create アクションを介して Product インスタンスを作成したら、それを保存してから、アカウントにまだ追加していない場合は Braintree 支払い方法フォームにリダイレクトする必要があります。製品。
商品の作成アクションは次のとおりです。
Braintree カスタマー コントローラーの確認メソッドは次のとおりです。
私がやりたいことは可能ですか?
ruby-on-rails - Braintree.js で CC 情報を持つユーザーを作成する
私は、braintree.js を介して新しいユーザー (デバイス) と支払いトークンをすべて 1 つのフォームで作成するフォームを送信しようとしています。私のhtmlフォームは次のようになります。
これを提出したときに起こるべきだと思うことは次のとおりです。Rails は新しいユーザーを作成します。次に、Braintree.js は CC 情報を使用してサービスにリクエストを送信し、値を含む params[:payment method_nonce] を返します。ただし、ユーザーが作成されますが、payment_method_nonce に関する情報は返されません。
1 つのページからこのすべての情報を追加しようとしているのはなぜですか? ユーザーがサインアップしたら、バックグラウンド ワーカーを作成してサブスクリプションを作成する予定です。
コントローラー (私のユーザーコントローラー)
私のスキーマは次のようになります
追加情報
-Rails 4 -Ruby 2.0 -Braintree.js v2
ruby-on-rails - ERB で復号化されている Braintree クライアント トークン
Braintree を Ruby と JS で使用して、Braintree ドロップイン UI の基本的な実装を試みています。
関連するコード スニペットを次に示します。
トークンを作成するトランザクションコントローラー
@client_token = Braintree::ClientToken
トークンの初期化ページ
<script>
braintree.setup(“<%= @client_token %>”, 'dropin', {
container: 'checkout'
});
</script>
そして、何らかの理由で、トークンの復号化されたバージョンになってしまいます。出力は次のようになります。
そして、それは確かに、クライアント トークンがどのように見えるべきかということではありません。
復号化されたバージョンになってしまうのはなぜですか?
braintree - Dropin UI を使用して BrainTree で nonce を複製する
サンドボックスで Braintree マーケットプレイスを使用していますが、問題や質問があります。
client_token を生成するときに顧客 ID を使用し、データベースに payment_nonce を保存し、後で (3 ~ 4 分で) submit_for_settlement に使用しています。問題は、各トランザクションに固有のナンスが必要なことですが、Dropin UI を 2 ~ 3 分以内に 2 回送信すると、同じナンスが返され、2 番目のトランザクションは次のエラーで失敗します。一意のノンスを確実に取得する方法はありますか? ありがとうございました
ruby-on-rails - spree 拡張機能に新しい JavaScript ファイルを追加したい
私はレールが初めてです。Braintree のドロップイン UI を使用するために Spree 拡張機能を構築しようとしています。拡張機能に新しいbraintree.jsを追加しようとしています。これらは私がこれまでに行った手順です。
braintree.js
に追加<my_extension>/app/assets/javascripts/spree/frontend/
//= require spree/frontend/braintree
に追加app/assets/javascripts/spree/frontend/<my_extension>.js
。で作成さ
/li>braintree.rb
れました<my_extension>/config/initializers/
。このファイルの内容:私が走った酒宴の店から
bundle install
、それは成功しました。次
/li>rails g <my_extension>:install
のエラーが表示されます。
ruby-on-rails - Rails アプリで Braintree ClientToken を非同期的にロードする
現在、gon
gem を使用して client_token をブレインツリーにロードしています。
以下に、コントローラーのメソッドを示します。
すぐに、この方法の潜在的な問題に気付きました。Braintree への接続が遅い場合は、リクエストが保留され、他のすべてのリクエストがブロックされます。場合によっては (まれな確率で)、リクエストの読み込みに 6 ~ 10 秒かかることがあります。そして、60秒待った後に実際にNet::OpenTimeout - execution expired
エラーが発生することがあります..
これを回避し、他のリクエストをブロックしないようにする良い方法は何だろうか