Car*_*ana 6 ruby-on-rails heroku stripe-payments
我正在构建一个应用程序(基于在线资源).您可以使用设计注册或登录.然后,您可以购买产品.或者制作自己的清单并销售产品.
我正在整合Stripe.当我创建Charge时,我在控制台中收到此错误:Stripe::InvalidRequestError (Must provide source or customer.)
.
以下是charge_controller.rb的代码,用于收费操作:
Stripe.api_key = ENV["STRIPE_API_KEY"]
token = params[:stripeToken]
begin
charge = Stripe::Charge.create(
:amount => (@listing.price * 100).floor,
:currency => "usd",
:card => token
)
flash[:notice] = "Thanks for ordering!"
rescue Stripe::CardError => e
flash[:danger] = e.message
end
Run Code Online (Sandbox Code Playgroud)
当然,我在这里查看Stripe API文档:Charge文档示例和此处:收取完整的API参考
我不知道如何处理:resource
或customer
.我在网络上的其他材料中看到有些人创造了一个客户.在其他网站上它说它已:card
被弃用,所以我有点困惑.
我将离开我的项目的github存储库,并随时查看.我也试图处理转账和收款人.项目存储库
谢谢.
小智 9
正如文档中所提到的,条带期望在创建费用时提及客户或来源.所以,你要么需要
从您收到的令牌创建条带客户(如果您希望将来也向该客户收费),并在创建收费时提及该客户,
customer = Stripe::Customer.create(source: params[:stripeToken])
charge = Stripe::Charge.create({
:amount => 400,
:currency => "usd",
:customer => customer.id,
:description => "Charge for test@example.com"
})
Run Code Online (Sandbox Code Playgroud)或者,如果您不想创建客户,则直接提及收到的令牌作为来源,
Stripe::Charge.create({
:amount => 400,
:currency => "usd",
:source => params[:stripeToken],
:description => "Charge for test@example.com"
})
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
3838 次 |
最近记录: |