Module: DistributionApi
- Defined in:
- lib/distribution-api-client.rb,
lib/distribution-api/version.rb
Constant Summary collapse
- VERSION =
'0.1.0'
Class Attribute Summary collapse
-
.api_endpoint ⇒ Object
Returns the value of attribute api_endpoint.
-
.api_key ⇒ Object
Returns the value of attribute api_key.
-
.api_secret ⇒ Object
Returns the value of attribute api_secret.
Class Method Summary collapse
- .cancel_card(reference) ⇒ Object
- .card_url(reference) ⇒ Object
- .create_card(reference, amount, currency, merchant_id, user) ⇒ Object
- .setup(api_key, api_secret, api_endpoint = 'https://distribution.api.wizypay.com/v1') ⇒ Object
Class Attribute Details
.api_endpoint ⇒ Object
Returns the value of attribute api_endpoint.
11 12 13 |
# File 'lib/distribution-api-client.rb', line 11 def api_endpoint @api_endpoint end |
.api_key ⇒ Object
Returns the value of attribute api_key.
11 12 13 |
# File 'lib/distribution-api-client.rb', line 11 def api_key @api_key end |
.api_secret ⇒ Object
Returns the value of attribute api_secret.
11 12 13 |
# File 'lib/distribution-api-client.rb', line 11 def api_secret @api_secret end |
Class Method Details
.cancel_card(reference) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/distribution-api-client.rb', line 29 def self.cancel_card(reference) req_params = { url: ("#{api_endpoint}/cards/#{URI::encode_www_form_component reference}/cancel"), method: :post, headers: { accept: :json }, payload: {} } req = RestClient::Request.new(req_params) req.sign!(api_key, api_secret) req.execute end |
.card_url(reference) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/distribution-api-client.rb', line 36 def self.card_url(reference) = Time.now.utc.httpdate security = Base64.strict_encode64(OpenSSL::HMAC.digest('sha256', api_secret, "#{reference}\n#{timestamp}")) query_string = { key: api_key, timestamp: , reference: reference, security: security }.map { |k, v| "#{k}=#{URI::encode_www_form_component(v)}" }.join('&') "#{api_endpoint}/widget?#{query_string}" end |
.create_card(reference, amount, currency, merchant_id, user) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/distribution-api-client.rb', line 20 def self.create_card(reference, amount, currency, merchant_id, user) user = user.to_json if user.is_a?(Hash) payload = { amount: amount, currency: currency, merchant_id: merchant_id, reference: reference, user: user } req_params = { url: "#{api_endpoint}/cards", method: :post, headers: { accept: :json }, payload: payload } req = RestClient::Request.new(req_params) req.sign!(api_key, api_secret) parse_response req.execute end |
.setup(api_key, api_secret, api_endpoint = 'https://distribution.api.wizypay.com/v1') ⇒ Object
14 15 16 17 18 |
# File 'lib/distribution-api-client.rb', line 14 def self.setup(api_key, api_secret, api_endpoint='https://distribution.api.wizypay.com/v1') self.api_endpoint = api_endpoint self.api_key = api_key self.api_secret = api_secret end |