Ruby on rails 针对不在Ruby on Rails应用程序上工作的付款的条带测试API?
我正在为我的学习课程开发一个使用RubyonRails的应用程序。对于付款,我使用测试API在应用程序上安装了Stripe,它运行良好,但随后我在另一个应用程序上安装了Stripe,并使用了相同的测试API。当我点击Buy Now时,它不会进入Stripe支付页面,我会收到一条消息“Waiting for q.Stripe.com”。我可以对两个应用程序使用相同的测试API吗?还是这是一个不同的问题 我的代码如下: 在_controller.rb的位置Ruby on rails 针对不在Ruby on Rails应用程序上工作的付款的条带测试API?,ruby-on-rails,ruby,api,web-applications,stripe-payments,Ruby On Rails,Ruby,Api,Web Applications,Stripe Payments,我正在为我的学习课程开发一个使用RubyonRails的应用程序。对于付款,我使用测试API在应用程序上安装了Stripe,它运行良好,但随后我在另一个应用程序上安装了Stripe,并使用了相同的测试API。当我点击Buy Now时,它不会进入Stripe支付页面,我会收到一条消息“Waiting for q.Stripe.com”。我可以对两个应用程序使用相同的测试API吗?还是这是一个不同的问题 我的代码如下: 在_controller.rb的位置 def show session
def show
session = Stripe::Checkout::Session.create(
payment_method_types: ['card'],
customer_email: current_user.email,
line_items: [{
name: @place.name,
description: @place.description,
amount: @place.price,
currency: 'aud',
quantity: 1
}],
payment_intent_data: {
metadata: {
user_id: current_user.id,
place_id: @place.id
}
},
success_url: "#{root_url}payments/success?placeId=#{@place.id}",
# todo - check if we can use places_path
cancel_url: "#{root_url}places"
)
@sessions_id = session.id
end
和show.html.erb中的位置视图
<button data-stripe="payment">
Buy Now!
</button>
<script src="https://js.stripe.com/v3/"></script>
<script>
document
.querySelector("[data-stripe='payment']")
.addEventListener("click", () => {
const stripe = Stripe(
"<%= Rails.application.credentials.dig(:stripe, :public_key) %>"
)
stripe.redirectToCheckout({
sessionId: "<%= @session_id %>"
})
})
</script>
是的,您可以在多个应用程序上使用您的测试/生产密钥,如果您正试图这样做的话。检查控制台是否有任何错误消息会有所帮助。在两个应用程序中使用“测试API”是什么意思?你的意思是在两个地方使用测试密钥吗?只要PK和SK是同一帐户的匹配对,就可以了。这听起来像是发生了什么事。关于错误的更多细节以及如何达到它将是有帮助的。我正在创建一个住宿应用程序。是的,我复制了两个键并创建了一个“立即购买”按钮。但当我点击它时,它不会进入条带页面。我在控制台下面附上了一张图片。我首先复制了两个键并将其放入凭据中,然后在Stripe.rb中执行上面的代码,以及上面的所有操作,然后创建了“立即购买”按钮。当我点击它时,它不会进入条纹页面。出现一条消息“Waiting Waiting q.stripe.com”,然后它消失了。我在控制台上没有收到任何错误,在连接到条带页面失败后,会出现以下消息。您是否有可能在服务器上托管此应用程序?请确保它可以联系Stripe的域:是的,我正在使用Rails服务器并连接到Stripe域。您是否可以尝试再次单击“立即购买”,并在浏览器开发人员控制台中查看网络日志?它能接触条纹吗?因为如果签出会话有任何问题,您至少会被重定向到Stripe并显示一条错误消息。谢谢您的帮助。我再次尝试,但控制台上没有消息或错误消息。当我点击localhost:3000上的buy now时,会出现一条消息“请求处理”,然后等待q.stripe.com出现。
Stripe.api_key = Rails.application.credentials.dig(:stripe, :secret_key)