Skip to content

Instantly share code, notes, and snippets.

@ldandersen
Last active January 10, 2019 22:52
Show Gist options
  • Save ldandersen/c0468ff06792a04c74266d7cbfc473d7 to your computer and use it in GitHub Desktop.
Save ldandersen/c0468ff06792a04c74266d7cbfc473d7 to your computer and use it in GitHub Desktop.
Kiosk Backend Code for Stripe Card Present Source Conversion
require 'sinatra'
require 'stripe'
require "net/http"
require "uri"
require 'json'
Stripe.api_key = "sk_test_jHt1s7iazJkYNA8o9GbHZ9e2"
set :bind, '0.0.0.0'
before do
content_type 'application/json'
end
post '/terminal_connection_token' do
token = Stripe::Terminal::ConnectionToken.create
token.to_json
end
put '/create_card_source' do
uri = URI.parse("https://api.stripe.com/v1/sources")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request["Authorization"] = "Bearer " + Stripe.api_key
request.set_form_data({"type" => "card", "amount" => "100", "currency" => "USD", "card[card_present_source]" => "#{params['card_present_id']}", "owner[address][line1]" => "#{params['addressLine1']}", "owner[address][line2]" => "#{params['addressLine2']}", "owner[address][city]" => "#{params['addressCity']}", "owner[address][state]" => "#{params['addressState']}", "owner[address][country]" => "#{params['addressCountry']}", "owner[address][postal_code]" => "#{params['addressPostalCode']}", "owner[name]" => "Laurence D Andersen"})
res = http.start do |http|
http.request request
end
res.body
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment