module Proxypay
Constants
- VERSION
Public Class Methods
get_customer(id, options = {})
click to toggle source
get a customer by id
# File lib/proxypay.rb, line 64 def self.get_customer(id, options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) get("/customers/#{id}", content).parsed_response end
get_customers(options = {})
click to toggle source
Get a list of customers
# File lib/proxypay.rb, line 56 def self.get_customers(options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:query] = options.delete(:query) || {} get("/customers", content).parsed_response end
get_payments(options={})
click to toggle source
Fetch all availables payments that have not been acknowledged.
# File lib/proxypay.rb, line 33 def self.get_payments(options={}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:query] = options.delete(:query) || {} get("/events/payments", content).parsed_response end
get_reference(id, options = {})
click to toggle source
Fetch a specific reference by his ID string
# File lib/proxypay.rb, line 18 def self.get_reference(id, options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) get("/references/#{id}", content).parsed_response end
get_references(options = {})
click to toggle source
Fetch all available references
# File lib/proxypay.rb, line 10 def self.get_references(options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:query] = options.delete(:query) || {} get("/references", content).parsed_response end
new_customer(id, nome, telemovel, email, options = {})
click to toggle source
Store a new customer or update one
# File lib/proxypay.rb, line 71 def self.new_customer(id, nome, telemovel, email, options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:body] = {:customer => {:name => nome.to_s, :mobile => telemovel.to_s, :email => email.to_s}}.to_json put("/customers/#{id}", content).parsed_response end
new_payment(id, options = {})
click to toggle source
Acknowledge a payment by submitting his ID
# File lib/proxypay.rb, line 41 def self.new_payment(id, options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) delete("/events/payments/#{id}", content).parsed_response end
new_payments(ids, options = {})
click to toggle source
Acknowledge multiple payments by submitting an array of ids
# File lib/proxypay.rb, line 48 def self.new_payments(ids, options = {}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:body] = { :ids => ids }.to_json delete("/events/payments", content).parsed_response end
new_reference(amount, expiry_date, options={})
click to toggle source
Submit a request to create a new reference
# File lib/proxypay.rb, line 25 def self.new_reference(amount, expiry_date, options={}) set_base_url(options.delete(:is_test)) content = set_headers(options) content[:body] = {:reference => {:amount => amount.to_s, :expiry_date => expiry_date.to_s, custom_fields: (options.delete(:custom_fields) || {})}}.to_json post("/references", content).parsed_response end
set_base_url(is_test = false)
click to toggle source
# File lib/proxypay.rb, line 78 def self.set_base_url(is_test = false) self.base_uri is_test == true ? "https://api.sandbox.proxypay.co.ao" : "https://api.proxypay.co.ao" end
Private Class Methods
authenticate(api_key = nil)
click to toggle source
# File lib/proxypay.rb, line 90 def self.authenticate(api_key = nil) auth = { username: api_key.nil? ? ENV["PROXYPAY_USER"] : 'api', password: api_key.nil? ? ENV["PROXYPAY_API_KEY"] : api_key } return auth end
set_headers(options)
click to toggle source
# File lib/proxypay.rb, line 83 def self.set_headers(options) content = {} content[:basic_auth] = authenticate(options.delete(:api_key)) content[:headers] = {'Content-Type' => 'application/json', 'Accept' => 'application/vnd.proxypay.v1+json'} return content end