我已经安装了gem'tripe-rails将条带集成到我的rails项目中。
出于某种原因,Stripe经常给我一个错误,上面写着“这种货币不支持您的卡”。当我使用他们的测试卡时
这是JSON响应正文。
<ItemGroup>
<PublishFile Remove="directory\**" />
</ItemGroup>
我的订单管理员。
{
"error": {
"message": "Your card is not supported for this currency.",
"type": "card_error",
"param": "number",
"code": "card_declined",
"decline_code": "currency_not_supported"
}
}
提交条形付款的表单。
def create
@order = Order.new(product_id: params[:product_id])
@product = Product.find(params[:product_id])
stripe_token = params[:stripeToken]
payment_type = params[:stripeTokenType]
customer_email = params[:stripeEmail]
Stripe.api_key = Rails.configuration.stripe.secret_key
Stripe::Charge.create (
amount: @product.price* 100,
currency:"sgd",
source: stripe_token
)
end
我添加了Stripe在application.html.erb中提供的javascript脚本标记
<%= form_for [@product, Order.new], method: :post do %>
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_pTJ7JEFGxnr5gdgtDG33ZhTt"
data-amount=<%= @product.price * 100 %>
data-name="Fruit Ninja"
data-description="Buy <%= @product.name %>"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
<% end %>
我已经尝试了所有的测试卡,但似乎被抛出相同的错误。
答案 0 :(得分:1)
感谢大家的回复。我意识到在商业环境中将我的国家改为美国解决了这个问题。由于某些原因,条纹测试卡在新加坡不起作用。我已尝试过每张卡片,包括
4000007020000003
返回错误。唯一明显的解决方案是改变我的位置。我通过电子邮件发送了条带支持。
答案 1 :(得分:0)
根据Stripe docs,如果您想使用SGD(新加坡元)进行测试,则需要使用测试卡4000007020000003
。查看那里的“亚太”标签了解具体细节。