我已经安装了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


返回错误。唯一明显的解决方案是更改我的位置。我已经通过电子邮件发送了条纹支持。

07-24 09:50
查看更多