class NitroPay::Transaction

Transaction Obj, but can Abstract nested objs like Costumer

Attributes

resp[RW]
sold_items[RW]
status[RW]
tid[RW]

Public Class Methods

find(tid) click to toggle source
STATIC methods ================

GET /api/transactions/:tid by the tid passed

# File lib/nitro_pay/transaction.rb, line 127
def self.find(tid)
end
new(params = {}) click to toggle source

Constructor

Calls superclass method NitroPay::Connection::new
# File lib/nitro_pay/transaction.rb, line 10
def initialize(params = {})
  super # super init call
  # Base redirect_link if test_env is set (so the redirect is just appended)
  self.redirect_link = "#{self.end_point_versioned}/transactions" if params[:test_env]
end

Public Instance Methods

charge_page(full_resp=false) click to toggle source

POST /api/transactions/page return operator page URL, like the Cielo Page

# File lib/nitro_pay/transaction.rb, line 35
def charge_page(full_resp=false)
  custom_http_params(skip_formatters=true)
  # SetUp redirect dynamic if is test
  self.request_params[:transaction][:redirect_link] = "#{self.redirect_link}" if self.request_params[:transaction][:test_env]

  # dynamic path (it is written when a specific method use it)
  self.path = 'checkouts'

  # using json_request because need only the answer (do not use something like it HTTP Code)
  self.resp = self.post_json_request unless full_resp
  self.resp = self.post_request if full_resp
  self.resp
end
charge_store(full_resp=false) click to toggle source

POST /api/transactions

# File lib/nitro_pay/transaction.rb, line 50
def charge_store(full_resp=false)
  custom_http_params

  # dynamic path (it is written when a specific method use it)
  self.path = 'transactions/store'

  # using json_request because need only the answer (do not use something like it HTTP Code)
  full_resp ? self.resp = self.post_request : self.resp = self.post_json_request

  # return it received resp
  self.resp
end
checkout_page_url() click to toggle source

Return it Purchase URL, to pay on the OperatorPage

# File lib/nitro_pay/transaction.rb, line 17
def checkout_page_url
  hash_resp[:checkout_page]
end
hash_resp() click to toggle source

return it hash resp when resp is a string

# File lib/nitro_pay/transaction.rb, line 116
def hash_resp
  self.resp.is_a?(String) ? JSON.parse(self.resp).it_keys_to_sym : self.resp
end
payment_history(tid=nil, full_resp=false) click to toggle source

Return the payments executed for the purchase passed

# File lib/nitro_pay/transaction.rb, line 88
def payment_history(tid=nil, full_resp=false)
  setup_tid(tid)
  self.path = "transactions/#{self.recurrent_tid}/subscription/payment_history"
  self.path = "#{self.path}#{self.request_params.it_keys_to_get_param}"

  # Perform the request
  full_resp ? self.resp = self.get_request : self.resp = self.get_json_request

  # return it received resp
  self.resp
end
setup_tid(tid) click to toggle source

Set it TID up

# File lib/nitro_pay/transaction.rb, line 121
def setup_tid(tid)
  tid ? self.recurrent_tid = tid : self.recurrent_tid = get_global_subscription[:tid]
end
unformed_received_amount() click to toggle source
# File lib/nitro_pay/transaction.rb, line 30
def unformed_received_amount
  NitroPay::Currency.to_operator_str self.hash_resp[:amount].to_s
end
unsubscribe(tid=nil, full_resp=false) click to toggle source

Stop a recurrence based on it transaction tid

# File lib/nitro_pay/transaction.rb, line 76
def unsubscribe(tid=nil, full_resp=false)
  setup_tid(tid)
  self.path = "transactions/#{self.recurrent_tid}/subscription/unsubscribe"

  # Perform the request
  full_resp ? self.resp = self.delete_request : self.resp = self.delete_json_request

  # return it received resp
  self.resp
end
up_to_date(tid=nil, full_resp=false) click to toggle source

Check if a subscription is up-to-date or have any pending

# File lib/nitro_pay/transaction.rb, line 101
def up_to_date(tid=nil, full_resp=false)
  setup_tid(tid)

  # Create/customize the path & add the auth as param
  self.path = "transactions/#{self.recurrent_tid}/subscription/up-to-date"
  self.path = "#{self.path}#{self.request_params.it_keys_to_get_param}"

  # Perform the request
  full_resp ? self.resp = self.get_request : self.resp = self.get_json_request

  # return it received resp
  self.resp
end
update_subscription(tid=nil, full_resp=false) click to toggle source

Update the recurrence amount

# File lib/nitro_pay/transaction.rb, line 64
def update_subscription(tid=nil, full_resp=false)
  setup_tid(tid)
  self.path = "transactions/#{self.recurrent_tid}/subscription"

  # Perform the request
  full_resp ? self.resp = self.put_request : self.resp = self.put_json_request

  # return it received resp
  self.resp
end
verify() click to toggle source

GET /api/transactions/:tid by it attr

# File lib/nitro_pay/transaction.rb, line 22
def verify
  auth_hash = {}
  !self.tid.nil? ? tid = self.tid : tid = self.resp[:tid]
  auth_hash[:auth] = self.request_params[:auth]
  if tid.nil? then return {error:'TID not received'} else self.path = "transactions/#{tid}#{auth_hash.it_keys_to_get_param}" end
  return self.get_json_request
end