railsとstripeでカード決済システムを作ったのですが買ってから販売者に送金する機能の実装方法がわかりません。送金機能の参考サイトは見つけているのですがそのまま実装すると、Errorが出てしまいます。なにかわかる方は回答お願いします。
error
1You have insufficient funds in your Stripe account. One likely reason you have insufficient funds is that your funds are automatically being paid out; try enabling manual payouts by going to https://dashboard.stripe.com/account/payouts.
手動支払いを有効にしてください。と言っているのですがそうするとまた別のErrorになります。参考サイトにはそもそもこんなことは書いてないのでこんなことはやらなくていいはずです。
class ChargesController < ApplicationController require "stripe" Stripe.api_key = ENV["SECRET_KEY"] def create @post = Post.find(params[:id]) customer = Stripe::Customer.create({ email: params[:stripeEmail], source: params[:stripeToken], }) charge = Stripe::Charge.create({ customer: customer.id, amount: @post.price, description: "商品ID:#{@post.id} 商品名:#{@post.title}", currency: "jpy", }) Stripe::Transfer.create( amount: @post.price, currency: 'jpy', destination: "acct_***" ) redirect_to "/posts/#{@post.id}", notice: "商品を購入しました!" rescue Stripe::CardError => e flash[:error] = e.message redirect_to new_charge_path end end
= form_tag charge_path(@post) do script.stripe-button data-amount="#{@post.price}" data-currency="jpy" data-description="クレジット決済" data-key="#{Rails.configuration.stripe[:publishable_key]}" data-locale="auto" data-name="#{@post.title}を購入" data-email="#{current_user.email}" data-label="購入する" data-allow-remember-me="false" src="https://checkout.stripe.com/checkout.js"
あとアカウントのテストデータを見ると
このアカウントの支払いと入金を有効にするには、アカウントの所有者から Stripe に追加情報をお知らせいただく必要があります。 情報が必要です 銀行口座またはデビットカード 商品の詳細 ビジネスの Web サイト 利用規約への同意 追加の不足データ 期日 今すぐ コード
とかいてあり入金も支払いも無効と書かれていました。これも原因がわからない状態です。
require 'stripe' Stripe.api_key = ENV['SECRET_KEY'] account = Stripe::Account.create({ type: 'standard', country: "JP", })
rails6
postgresSQL
slim
間違っている所だらけかもしれませんし半丸投げ気味になってしまいましたがご了承ください。
回答1件
あなたの回答
tips
プレビュー