0

作成中のウェブサイトのお金を集めるためにストライプを使用しています。

これが私の見解です:

%script.stripe-button{"data-amount" => "10000", "data-description" => "A Generous Donation", "data-key" => Rails.configuration.stripe[:publishable_key], src: "https://checkout.stripe.com/v2/checkout.js"}
%br
%b Amount:
%br
%input
%script.stripe-button{"data-amount" => "", "data-description" => "A Generous Donation", "data-key" => Rails.configuration.stripe[:publishable_key], src: "https://checkout.stripe.com/v2/checkout.js",  style:"padding-left: 30px;"}

これが私のコントローラーです:

def create
    # Amount in cents
    @amount = 500

    customer = Stripe::Customer.create(
      :email => 'example@stripe.com',
      :card  => params[:stripeToken]
    )

    charge = Stripe::Charge.create(
      :customer    => customer.id,
      :amount      => @amount,
      :description => 'Rails Stripe customer',
      :currency    => 'usd'
    )

  rescue Stripe::CardError => e
    flash[:error] = e.message
    redirect_to charges_path
  end

最初のボタンでは、データ量を amount 変数に送信しようとしています。2 つ目は、入力ボックスから値を収集し、ストライプ ボタンに @amount 変数と data-amount タグを設定して支払いを収集しようとしています。どうすればいいですか?

4

2 に答える 2

0

これは、少しの JS で簡単に実行できます。各ボタンのクリック イベントを処理するだけで、クリックを処理するときdata-amountに、最初のケースで値を設定するかinput、2 番目のケースで値を取得します。それで

  • フォームを使用している場合は、入力の値に適切な名前を設定して送信します。
  • AJAXを使用している場合は、これをJSONまたは好きなものに投稿してください。

[編集]

変数をコントローラーに投稿した後、投稿した場所から変数を取得するだけです。

<input type="hidden" name="amount" />

あなたのデータのために、ただ使用してください

@amount = params[:amount]

コントローラーで値を取得します。

[/編集]

于 2013-09-17T05:36:24.117 に答える