Единый заряд с полосой в рельсах

Я пытаюсь выяснить, как принимать кредитные карты, используя полосу в один заряд, который вводится в поле ввода формы.

Пример: user1 вошел в систему и создал сообщение, ввел $20 в поле и нажимает кнопку отправить. Пост создается и 20 долларов списывается на его карту. Пользователь2 делает то же самое, но кладет 45 долларов, вводит свою кредитную карту и отправляет форму.

Я сделал следующее сделано; - разработка устройства - роли - установка полосы и установка учетной записи

Я не нашел пример, который объяснял бы одну плату за полосу, все основано на подписке.

Я новичок в этом, поэтому я пытаюсь имитировать примеры подписки, но безуспешно.

1 ответ

Вот как я выполняю одну зарядку с использованием Stripe и драгоценного камня ActiveMerchant.

transaction = ActiveMerchant::Billing::StripeGateway.new(:login => STRIPE_SECRET_KEY)

paymentInfo = ActiveMerchant::Billing::CreditCard.new(
            :number             => "4242424242424242",
            :month              => "12",
            :year               => "2020",
            :verification_value => "411")

purchaseOptions = {:billing_address => {
    :name     => "Customer Name",
    :address1 => "Customer Address Line 1",
    :city     => "Customer City",
    :state    => "Customer State",
    :zip      => "Customer Zip Code"
}}

response = transaction.purchase((17.50 * 100).to_i, paymentInfo, purchaseOptions)

if response.success? then
  logger.debug "charge successful"
end

Вам нужно использовать Stripe.js, чтобы получить токен, а затем передать эту строку токена вместо объекта кредитной карты.

В целях тестирования вы можете перейти по https://stripe.com/docs/stripe-js и получить токен из формы, как показано на следующем рисунке:

Как использовать его в консоли рельсов:

gateway = ActiveMerchant::Billing::StripeGateway.new(:login => STRIPE_SECRET_KEY)
gateway.purchase(1200, "tok_1E0CzPDdSOg3FLH0IFmWo1T2")
Другие вопросы по тегам