class AmplifypayRuby::Checkout::Invoice

Attributes

customer[RW]
invoice_url[RW]
paymentDescription[RW]
redirect_url[RW]
response_text[RW]
status_code[RW]
status_desc[RW]
store[RW]
total_amount[RW]
trans_id[RW]
transaction_ref[RW]

Public Class Methods

new() click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 8
def initialize
  @trans_id = "22"
  @customer = {}
  @total_amount =  0.0
  @redirect_url  =  ""
  @paymentDescription = ""
end

Public Instance Methods

confirm(token) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 24
def confirm(token)
  verification_payload = build_verification_payload(token)
  result = http_json_request(AmplifypayRuby::Setup.checkout_confirm_base_url, verification_payload)

  if result["StatusDesc"] == "Approved"
    # rebuild_invoice(result)
    @response_text = "Payment was successful"
    true
  else
    @status = result["status"]
    @response_text = "Invoice status is #{result['StatusDesc'].upcase}"
    false
  end
end
create() click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 39
def create
  result = http_json_request(AmplifypayRuby::Setup.checkout_base_url,build_invoice_payload)
  @store = result.inspect
  create_response(result)
end
get_custom_data(key) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 20
def get_custom_data(key)
  @custom_data["#{key}"]
end
get_customer_info(key) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 16
def get_customer_info(key)
  @customer["#{key}"]
end

Protected Instance Methods

build_invoice_payload() click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 46
def build_invoice_payload
   { 
    merchantId: AmplifypayRuby::Setup.merchant_id,
    apiKey: AmplifypayRuby::Setup.private_key, 
    transID: @trans_id, 
    customerEmail: @customer["email"], 
    customerName: @customer["name"], 
    Amount: @total_amount, 
    redirectUrl: AmplifypayRuby::Setup.redirect_url,
    paymentDescription: @paymentDescription
}
end
build_verification_payload(token) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 59
def build_verification_payload(token)
   { 
    merchantId: AmplifypayRuby::Setup.merchant_id,
    apiKey: AmplifypayRuby::Setup.private_key, 
    transactionRef: token
}

end
create_response(result={}) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 72
def create_response(result={})

  if result["StatusCode"] == "000"
    @status_desc = result["StatusDesc"]
    @status_code = result["StatusCode"]
    @trans_id = result["TransID"]
    @transaction_ref = result["TransactionRef"]
    @auth_token = result["AuthToken"]
    @invoice_url = result["PaymentUrl"]
    @status = AmplifypayRuby::SUCCESS
    true
  else
    @status_desc = result["StatusDesc"]
    @status_code = result["StatusCode"]
    @invoice_url = nil
    @status = AmplifypayRuby::FAIL
    false
  end
end
rebuild_invoice(result={}) click to toggle source
# File lib/amplifypay_ruby/checkout/redirect_invoice.rb, line 68
def rebuild_invoice(result={})

end