class Orbital::Gateway::Api::Authorization
Public Class Methods
auth_and_capture(parameters, retry_trace=nil)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 19 def auth_and_capture(parameters, retry_trace=nil) gateway = new xml_data = gateway.auth_and_capture(parameters) response = gateway.post(xml_data, retry_trace || rand(9999999999999999)) OrbitalResponse::AuthorizationResponse.new(response, xml_data) end
auth_only(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 26 def auth_only(parameters) gateway = new xml_data = gateway.auth_only(parameters) response = gateway.post(xml_data) OrbitalResponse::AuthorizationResponse.new(response, xml_data) end
refund(tx_ref_num:, account_num: nil, order_id: SecureRandom.hex(8), tx_ref_idx: nil, card_brand: nil, amount: nil)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 12 def refund(tx_ref_num:, account_num: nil, order_id: SecureRandom.hex(8), tx_ref_idx: nil, card_brand: nil, amount: nil) gateway = new xml_data = gateway.refund({tx_ref_num: tx_ref_num, account_num: account_num, order_id: order_id, tx_ref_idx: nil, card_brand: card_brand, amount: amount}) response = gateway.post(xml_data) OrbitalResponse::AuthorizationResponse.new(response, xml_data) end
void(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 5 def void(parameters) gateway = new xml_data = gateway.void(parameters) response = gateway.post(xml_data) OrbitalResponse::AuthorizationResponse.new(response, xml_data) end
Public Instance Methods
add_bin_merchant_and_terminal(xml)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 34 def add_bin_merchant_and_terminal(xml) xml.tag! :BIN, bin xml.tag! :MerchantID, orbital_merchant_id xml.tag! :TerminalID, '001' end
add_cryptogram(xml, parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 137 def add_cryptogram(xml, parameters) card_brand = parameters[:card_brand] if card_brand == 'VI' xml.tag!(:CAVV, Base64.encode64(parameters[:avs_cvv]).strip) end end
add_data(xml, parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 90 def add_data(xml, parameters) xml.tag! :CardBrand, parameters[:card_brand] xml.tag! :AccountNum, parameters[:account_num] xml.tag! :Exp, parameters[:expiration_date] xml.tag! :CurrencyCode, CURRENCY_CODES.fetch(parameters[:currency_country], '840') xml.tag! :CurrencyExponent, CURRENCY_EXPONENTS.fetch(parameters[:currency_country], '2') xml.tag! :AVSzip, parameters[:avs_zip] xml.tag! :AVSaddress1, parameters[:avs_address_one] xml.tag! :AVSaddress2, parameters[:avs_address_two] xml.tag! :AVScity, parameters[:avs_city] xml.tag! :AVSstate, parameters[:avs_state] xml.tag! :AVSphoneNum, parameters[:avs_phone] xml.tag! :CustomerRefNum, parameters[:customer_ref_num] xml.tag! :OrderID, parameters[:order_id] xml.tag! :Amount, parameters[:amount] xml.tag!(:TxRefNum, parameters[:tx_ref_num]) if parameters[:tx_ref_num] xml.tag!(:PartialAuthInd, parameters[:partial_auth_ind]) if parameters[:partial_auth_ind] xml.target! end
auth_and_capture(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 53 def auth_and_capture(parameters) xml = xml_envelope xml.tag! :Request do xml.tag! :NewOrder do add_xml_credentials(xml) xml.tag! :IndustryType, 'EC' xml.tag! :MessageType, 'AC' add_bin_merchant_and_terminal(xml) add_data(xml, parameters) end end end
auth_only(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 40 def auth_only(parameters) xml = xml_envelope xml.tag! :Request do xml.tag! :NewOrder do add_xml_credentials(xml) xml.tag! :IndustryType, 'EC' xml.tag! :MessageType, 'A' add_bin_merchant_and_terminal(xml) add_data(xml, parameters) end end end
inquery_data(xml, parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 132 def inquery_data(xml, parameters) xml.tag! :OrderID, parameters[:order_id] xml.tag! :InquiryRetryNumber, parameters[:inquiry_retry_number] end
refund(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 66 def refund(parameters) xml = xml_envelope xml.tag! :Request do xml.tag! :NewOrder do add_xml_credentials(xml) xml.tag! :IndustryType, 'EC' xml.tag! :MessageType, 'R' add_bin_merchant_and_terminal(xml) add_data(xml, parameters) end end end
refund_data(xml, parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 110 def refund_data(xml, parameters) xml.tag! :CurrencyCode, CURRENCY_CODES.fetch(parameters[:currency_country], '840') xml.tag! :CurrencyExponent, CURRENCY_EXPONENTS.fetch(parameters[:currency_country], '2') xml.tag! :OrderID, parameters[:order_id] xml.tag! :Amount, parameters[:amount] xml.tag! :CardBrand, parameters[:card_brand] xml.tag! :AccountNum, parameters[:account_num] xml.tag! :TxRefNum, parameters[:tx_ref_num] xml.tag! :TxRefIdx, parameters[:tx_ref_idx] xml.target! end
void(parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 79 def void(parameters) xml = xml_envelope xml.tag! :Request do xml.tag! :Reversal do add_xml_credentials(xml) void_data(xml, parameters) xml.target! end end end
void_data(xml, parameters)
click to toggle source
# File lib/orbital/gateway/api/authorization.rb, line 122 def void_data(xml, parameters) xml.tag! :TxRefNum, parameters[:tx_ref_num] xml.tag! :TxRefIdx, parameters[:tx_ref_idx] xml.tag! :AdjustedAmt, parameters[:amount] if parameters[:amount] xml.tag! :OrderID, parameters[:order_id] add_bin_merchant_and_terminal(xml) xml.tag! :ReversalRetryNumber, parameters[:reversal_retry_number] if parameters[:reversal_retry_number] xml.tag! :OnlineReversalInd, parameters[:online_reversal_ind] if parameters[:online_reversal_ind] end