module Simplepay
Constants
- VERSION
Public Class Methods
new(token, amount, amount_currency, status, options = {})
click to toggle source
# File lib/simplepay.rb, line 7 def self.new(token, amount, amount_currency, status, options = {}) uri = URI.parse('https://checkout.simplepay.ng/v2/payments/card/charge/') header = {'Content-Type': 'text/json'} data = { 'token': token, 'amount': amount, 'amount_currency': amount_currency } if ENV['simple_pay_secret'] api_key = ENV['simple_pay_secret'] else if options[:api_key] api_key = options[:api_key] else raise Exception.new('Api Key Missing') end end begin http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Post.new(uri.request_uri, header) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request.basic_auth(api_key, '') request.set_form_data(data) response = http.request(request) res = JSON.parse(response.read_body) response_code = res['response_code'] if response.kind_of? Net::HTTPSuccess if response_code.eql? 20000 @value = {response: res, message: 'Payment Completed Successfully', success: true}.to_json return JSON.parse(@value) else @value = {message: 'Payment could not be processed', logs: res, success: false}.to_json return JSON.parse(@value) end elsif status.eql? true @value = {response: res, message: 'Payment Completed Successfully', success: true}.to_json return JSON.parse(@value) else @value = {message: 'Payment could not be processed', logs: res, success: false}.to_json return JSON.parse(@value) end rescue StandardError => e raise e end end