我已经安装了gem'stripe-rails,将stripe集成到我的rails项目中。
由于某种原因,Stripe不断向我抛出错误,显示为“该货币不支持您的卡”。当我使用他们的测试卡时
这是JSON响应主体。
{
"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
提交条纹付款的表格。
<%= 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 %>
我添加了Stripe在application.html.erb中提供的javascript脚本标记
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
我已经尝试了所有测试卡,但似乎会抛出相同的错误。
最佳答案
谢谢各位的回应。我意识到将自己的国家/地区改为美国可以解决此问题。由于某些原因,Stripe测试卡在新加坡不起作用。我已经尝试过每张卡片,包括
4000007020000003
返回错误。唯一明显的解决方案是更改我的位置。我已经通过电子邮件发送了条纹支持。