class Googlepay::EventTicketObject

Constants

EVENT_URL

Public Class Methods

new(parameters) click to toggle source
# File lib/googlepay/event_ticket_object.rb, line 6
def initialize(parameters)
  @parameters = parameters
end

Public Instance Methods

create() click to toggle source
# File lib/googlepay/event_ticket_object.rb, line 10
def create
  rsa_private = OpenSSL::PKey::RSA.new Googlepay.configuration.service_account[:private_key]
  create_event_object(@parameters)
  payload = {
      "iss": Googlepay.configuration.service_account[:client_email],
      "aud": 'google',
      "typ": 'savetoandroidpay',
      "iat":  Time.now.utc.to_i,
      "payload": {
          'eventTicketObjects': [@parameters.dup.tap { |h| h.delete(:origin) }]
      },
      'origins': @parameters.fetch(:origin)
  }
  JWT.encode payload, rsa_private, 'RS256'
end

Private Instance Methods

create_event_object(event_ticket) click to toggle source
# File lib/googlepay/event_ticket_object.rb, line 28
def create_event_object(event_ticket)
  result = HTTParty.post("#{EVENT_URL}access_token=#{Googlepay.token}",
      :body => event_ticket.to_json,
      :headers => { 'Content-Type' => 'application/json' } )
end