Sha256: 543574604d733295013dbcfe9d83c812a0846480bc14dd656d827aa2f23ce53c

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
payment-manager-client-0.2.0 lib/payment/manager/client.rb