我可以在 Rails 4 应用程序中通过带有条纹的活跃商人传递不同的货币吗?
Posted
技术标签:
【中文标题】我可以在 Rails 4 应用程序中通过带有条纹的活跃商人传递不同的货币吗?【英文标题】:Can i pass different currency in active-merchant with stripe in Rails 4 application? 【发布时间】:2016-07-29 16:20:26 【问题描述】:我正在开发 Rails 4 应用程序,用户可以通过应用程序订阅一次付款。
对于订阅,使用带有条纹的 Active Merchant,现在用户现在支付 50 美元并成功完成付款。下面的代码:
ActiveMerchant::Billing::Base.mode = :test
transaction = ActiveMerchant::Billing::StripeGateway.new(:login => Rails.application.secrets.stripe_secret_key)
paymentInfo = ActiveMerchant::Billing::CreditCard.new(
:number => purchage_params[:card_holder_number],
:month => purchage_params[:expiry_month],
:year => purchage_params[:expiry_year],
:verification_value => purchage_params[:cvv])
purchaseOptions = :billing_address =>
:name => purchage_params[:card_holder_name],
:currency => @country.currency,
:address1 => session[:address],
:city => session[:city],
:state => @region.name,
:zip => session[:zip_postal]
response = transaction.purchase((amount * 100).to_i, paymentInfo, purchaseOptions)
现在我的问题是,我想根据用户所在国家/地区明智地扣除付款。根据以下国家和付款方式。
USA = $50 USD
South Africa = 355 ZAR
India = 520 INR
Australia = $50 AUD
那么,我该如何明智地设置货币和付款国家/地区。有人对此有想法吗?
谢谢
【问题讨论】:
【参考方案1】:我并不完全清楚您在寻找什么,但据我了解,您正试图根据国家/地区对每个潜艇收取指定的价格。根据我的阅读,您不需要让它确定原产国,因为宝石以美元收费,理论上信用卡公司应该自动将其转换为该价格。
--编辑--
好的,在我做了一些挖掘之后,看起来我有点不正确。如果你设法做你想做的事,你会得到这个错误
response.message: The transaction currency specified must be the same as previously specified.
活跃商家货币的默认货币是美元。交易完成后,它将作为美元收费,您在添加购买时实际上无法更改它。因此,您必须在将其设置为购买方式之前对其进行更改。由于您基于需要注册的订阅,因此您可以将用户设置为默认国家/地区,因为无论如何您都必须收集他们的私人信息才能获得帐单地址。这样,选项是预定义的,您只需在将商品应用到购物车之前使用货币转换器即可。
【讨论】:
好的,谢谢@tommy 的回复。我可以更改活跃商家的默认货币吗?表示美国用户 USD,印度用户 INR。表示运行时。 取决于您选择使用的网关。这是 Stripe 的文档以及支持的货币。 rubydoc.info/github/Shopify/active_merchant/ActiveMerchant/…【参考方案2】:我得到了我的解决方案。请查看以下代码如何传递货币。
purchaseOptions = :billing_address =>
:name => purchage_params[:card_holder_name],
:currency => @country.currency,
:address1 => session[:address],
:city => session[:city],
:state => @region.name,
:zip => session[:zip_postal]
,
:currency => "CAD"
我们可以放置动态代码而不是"CAD".
【讨论】:
以上是关于我可以在 Rails 4 应用程序中通过带有条纹的活跃商人传递不同的货币吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Rails 中通过 jQuery 调用 JSON 文件?