Class: Account
- Inherits:
-
ChargeBase
- Object
- Base
- ChargeBase
- Account
- Defined in:
- lib/rave_ruby/rave_objects/account.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initiate_charge(data) ⇒ Object
method to initiate the account payment.
- #validate_charge(flwRef, otp) ⇒ Object
- #verify_charge(txref) ⇒ Object
Methods inherited from ChargeBase
#get_auth_type, #handle_charge_response, #handle_validate_account_response, #handle_validate_response, #handle_verify_account_response, #handle_verify_response, #update_payload
Methods inherited from Base
#check_passed_parameters, #get_request, #handle_list_bank, #initialize, #post_request
Constructor Details
This class inherits a constructor from Base
Instance Method Details
#initiate_charge(data) ⇒ Object
method to initiate the account payment
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rave_ruby/rave_objects/account.rb', line 8 def initiate_charge(data) base_url = rave_object.base_url hashed_secret_key = get_hashed_key public_key = rave_object.public_key # only update the payload with the transaction reference if it isn't already added to the payload if !data.key?("txRef") data.merge!({"txRef" => Util.transaction_reference_generator}) end data.merge!({"PBFPubKey" => public_key}) required_parameters = ["accountbank", "accountnumber", "amount", "email", "phonenumber", "IP"] check_passed_parameters(required_parameters, data) encrypt_data = Util.encrypt(hashed_secret_key, data) payload = { "PBFPubKey" => public_key, "client" => encrypt_data, "alg" => "3DES-24" } payload = payload.to_json response = post_request("#{base_url}#{BASE_ENDPOINTS::CHARGE_ENDPOINT}", payload) return handle_charge_response(response) end |
#validate_charge(flwRef, otp) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rave_ruby/rave_objects/account.rb', line 38 def validate_charge(flwRef, otp) base_url = rave_object.base_url public_key = rave_object.public_key payload = { "PBFPubKey" => public_key, "transactionreference" => flwRef, "transaction_reference" => flwRef, "otp" => otp, } payload = payload.to_json response = post_request("#{base_url}#{BASE_ENDPOINTS::ACCOUNT_VALIDATE_ENDPOINT}", payload) return handle_validate_account_response(response) end |
#verify_charge(txref) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rave_ruby/rave_objects/account.rb', line 55 def verify_charge(txref) base_url = rave_object.base_url payload = { "txref" => txref, "SECKEY" => rave_object.secret_key.dup, } payload = payload.to_json response = post_request("#{base_url}#{BASE_ENDPOINTS::VERIFY_ENDPOINT}", payload) return handle_verify_account_response(response) end |