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
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