Sha256: 5554ecb298fabeca2140229c5e6a758fc4a81cf99a304a02b20851d11e9221d1

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

module WepayRails
  module Helpers
    module ControllerHelpers

      def redirect_to_wepay_for_auth(scope=gateway.scope)
        redirect_to gateway.auth_code_url(scope)
      end

      def gateway
        @gateway ||= WepayRails::Payments::Gateway.new(wepay_access_token)
      end

      # From https://stage.wepay.com/developer/tutorial/authorization
      # Request
      # https://stage.wepay.com/v2/oauth2/token
      # ?client_id=[your client id]
      # &redirect_uri=[your redirect uri ex. 'http://exampleapp.com/wepay']
      # &client_secret=[your client secret]
      # &code=[the code you got in step one]
      #
      # Response
      # {"user_id":"123456","access_token":"1337h4x0rzabcd12345","token_type":"BEARER"} Example
      def initialize_wepay_access_token(auth_code)
        session[unique_wepay_access_token_key] = gateway.access_token(auth_code)
        return
      rescue WepayRails::Exceptions::ExpiredTokenError => e
        redirect_to_wepay_for_auth(gateway.scope) and return
      end

      # Since we are saving the access token in the session,
      # ensure key uniqueness. Might be a good idea to have this
      # be a setting in the wepay.yml file.
      def unique_wepay_access_token_key
        :IODDR8856UUFG6788
      end

      # Access token is the OAUTH access token that is used for future
      # comunique
      def wepay_access_token
        session[unique_wepay_access_token_key]
      end

      def wepay_access_token_exists?
        @access_token_exists ||= wepay_access_token.present?
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
wepay-rails-0.1.43 lib/helpers/controller_helpers.rb
wepay-rails-0.1.42 lib/helpers/controller_helpers.rb
wepay-rails-0.1.41 lib/helpers/controller_helpers.rb
wepay-rails-0.1.40 lib/helpers/controller_helpers.rb