require "payment/manager/client/version" require "payment/manager/request" require "payment/manager/config" require "json" module Payment module Manager module Client class << self attr_accessor :config def configure self.config = Payment::Manager::Config yield(config) end def payment_url(plan_id, resource_id) params = { client_id: config.client_id, client_secret: config.client_secret, plan_id: plan_id, resource_id: resource_id } response = Payment::Manager::Request.get(config.api_url + '/api/checkout', params) JSON.parse(response.body)['url'] end def plans params = { client_id: config.client_id, client_secret: config.client_secret, } response = Payment::Manager::Request.get(config.api_url + '/api/plans', params) JSON.parse(response.body) end def valid_token?(token) response = Payment::Manager::Request.get(config.api_url + "/api/tokens/validate/#{config.client_id}/#{token}", {}) JSON.parse(response.body)['valid'] end end end end end