class Card
Public Instance Methods
initiate_charge(data)
click to toggle source
method to initiate card charge
# File lib/rave_ruby/rave_objects/card.rb, line 7 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 = ["PBFPubKey", "cardno", "cvv", "expirymonth", "expiryyear", "amount", "txRef", "email"] 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
tokenized_charge(data)
click to toggle source
method to initiate card charge
# File lib/rave_ruby/rave_objects/card.rb, line 38 def tokenized_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!({"SECKEY" => rave_object.secret_key.dup}) required_parameters = ["SECKEY", "amount", "currency", "country", "token", "txRef", "email"] check_passed_parameters(required_parameters, data) payload = data.to_json response = post_request("#{base_url}#{BASE_ENDPOINTS::TOKENISED_CHARGE_ENDPOINT}", payload) return handle_charge_response(response) end
validate_charge(flwRef, otp)
click to toggle source
# File lib/rave_ruby/rave_objects/card.rb, line 60 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::CARD_VALIDATE_ENDPOINT}", payload) return handle_validate_response(response) end
verify_charge(txref)
click to toggle source
# File lib/rave_ruby/rave_objects/card.rb, line 78 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_response(response) end