class OffsitePayments::Integrations::BitPay::Helper
Public Class Methods
new(order_id, account, options)
click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/bit_pay.rb, line 23 def initialize(order_id, account, options) super @account = account add_field('posData', {'orderId' => order_id}.to_json) add_field('fullNotifications', true) add_field('transactionSpeed', 'high') end
Public Instance Methods
form_fields()
click to toggle source
# File lib/offsite_payments/integrations/bit_pay.rb, line 55 def form_fields invoice = create_invoice raise ActionViewHelperError, "Invalid response while retrieving BitPay Invoice ID. Please try again." unless invoice {"id" => invoice['id']} end
form_method()
click to toggle source
# File lib/offsite_payments/integrations/bit_pay.rb, line 51 def form_method "GET" end
Private Instance Methods
create_invoice()
click to toggle source
# File lib/offsite_payments/integrations/bit_pay.rb, line 65 def create_invoice uri = URI.parse(BitPay.invoicing_url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.request_uri) request.content_type = "application/json" request.body = @fields.to_json request.basic_auth @account, '' response = http.request(request) JSON.parse(response.body) rescue JSON::ParserError end