Tôi đang sử dụng Rails 4.2 và cố gắng tích hợp Stripe Checkout (https://stripe.com/docs/checkout/guides/rails) trong ứng dụng đường ray của mình và có kịch bản mà tôi chưa thấy ở bất kỳ đâu. Lưu ý: Tôi đã thử tích hợp biểu mẫu tùy chỉnh từ một số tài nguyên trực tuyến nhưng không thể làm cho nó hoạt động để chọn thanh toán.Chỉ để gửi biểu mẫu thanh toán sau khi thanh toán thanh toán thành công sọc
Trong ứng dụng đường ray, tôi có bảng đơn đặt hàng và điều chính tôi đang cố thực hiện là có biểu mẫu nơi người dùng có thể gửi thông tin cá nhân của họ (không thanh toán) để đặt hàng. Sau đó, việc tích hợp thanh toán sọc sẽ cho phép họ thanh toán; tuy nhiên, một bản ghi của đơn đặt hàng sẽ không được tạo trong cơ sở dữ liệu mà không có phí sọc được ghi lại. Tôi đã không thể thực hiện điều này bằng cách sử dụng bộ điều khiển "phí" riêng biệt mà sọc gợi ý, và cũng đã thử kết hợp mã vạch vào bộ điều khiển đơn đặt hàng của tôi (xem bên dưới).
tôi nên lưu ý rằng tôi CÓ có thể nhận được nút kiểm tra để trình sọc và những chi phí được xử lý, nhưng CÓ KHÔNG có thể nhận được một kỷ lục để được tạo ra trong cơ sở dữ liệu của tôi.
Tôi đã tìm kiếm rộng và nhiều câu trả lời cho câu hỏi này (hiện đang chờ phản hồi từ hỗ trợ sọc). Bất kỳ đề xuất sẽ được nhiều đánh giá cao!
orders_controller.rb
(đây là ví dụ nơi tôi đã cố gắng kết hợp các mã vạch từ bộ điều khiển chi phí họ đề nghị vào bộ điều khiển đơn đặt hàng riêng của tôi. Tôi không chắc chắn bây giờ phải làm gì sau khi phí được xử lý để làm cho nó gửi biểu mẫu)
def create
@order = Order.new(order_params)
customer = Stripe::Customer.create(
:email => '[email protected]',
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => 5000,
:description => 'Rails Stripe customer',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
render 'new'
end
lệnh/new.html.erb
(Tôi để lại mã cho tất cả các trường khác trong biểu mẫu của tôi, điều này chỉ hiển thị nút gửi biểu mẫu của tôi và nút thanh toán sọc. Lý tưởng nhất là tôi có thể kết hợp các hành động vào một nút, hoặc chỉ có submit đi qua khi thanh toán xử lý thành công thông qua sọc)
<%= form_for @order do |f| %>
// lots of form fields
<%= f.submit %>
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
data-description="A month's subscription"
data-amount="500"></script>
Cảm ơn bạn rất nhiều. Làm việc như người ở! –