wepay-rails 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -6,13 +6,6 @@ To install it, add this to your Gemfile
6
6
 
7
7
  gem 'wepay-rails'
8
8
 
9
- Since Wepay uses Oauth2 to authenticate, wepay-rails has been built to handle this for you. You will need to
10
- add a column to one of your models to hold the authentication token. For example, if you have a user model:
11
-
12
- Your migration:
13
-
14
- add_column :users, :wepay_auth_code, :string
15
-
16
9
  You need to also create a new model called WepayCheckoutRecord. It will be updated by wepay's IPN system as changes to the checkout change - such as the status.
17
10
  Wepay-rails handles those IPN notifications for you. You can write observers watching the WepayCheckoutRecord model if you need to have
18
11
  something specific occur when the checkout changes.
@@ -25,12 +18,23 @@ This will create 3 files for you, a migration file for a table to hold the check
25
18
 
26
19
  rake db:migrate
27
20
 
28
- Modify config/wepay.yml.example to your needs. You will need to set the model and column where you are storing your wepay auth code:
21
+ Modify config/wepay.yml.example to your needs and copy it to config/wepay.yml.
22
+
23
+ Assuming that you have:
24
+
25
+ 1. created an account on wepay
26
+ 2. created a user to accept the payments
27
+ 3. created your application for your account
28
+ 4. set your wepay.yml file with the info it needs to talk to the wepay api minus the access_token
29
+
30
+ You can now get your access token.
29
31
 
30
- Snippet of wepay.yml showing the auth_code_location directive:
32
+ To fetch your access_token, open a browser and go to:
31
33
 
32
- production:
33
- auth_code_location: User.wepay_auth_code
34
+ your.railsapp.com/wepay/authorize
35
+
36
+ Login at the prompt or register. You will be sent back to your app and you should have gotten an access_token. Copy it to your wepay.yml
37
+ file and restart your app.
34
38
 
35
39
  You will have to set up a few new controllers in your rails app to handle callbacks and redirects from wepay.
36
40
  I created one called finalize_controller and I use it for a landing page when the customer is finished paying
@@ -44,24 +48,20 @@ For now, here's what I am doing in my rails app to handle it...
44
48
  |_ checkout_controller.rb
45
49
  |_ finalize_controller.rb
46
50
 
47
- Finally, your checkout controller (or some controller that will interact with the Wepay API):
51
+ You will need to set the location of these files in your wepay.yml file. The directives are:
48
52
 
49
- class Purchase::CheckoutController < Purchase::PurchaseController
50
- before_filter :authenticate_user! # I am using devise - this line depends on your authentication scheme
53
+ after_authorize_redirect_uri: "http://www.example.com/purchase/checkout"
54
+ after_checkout_redirect_uri: "http://www.example.com/purchase/finalize"
51
55
 
52
- # PLEASE READ
53
- # I am saving the wepay_auth_code in my Profile model. Somewhere in my rails app, I have a method called
54
- # current_profile which I use to return the Profile object of my user. I pass that object through the
55
- # init_checkout_and_send_user_to_wepay method along with my checkout parameters.
56
+ Finally, your checkout controller (or some controller that will interact with the Wepay API) - notice it includes WepayRails::Payments:
56
57
 
57
- # After the customer is sent to wepay, when they are done paying you, they will be redirected
58
- # back to your application - you will set the location they will be redirected back to using the redirect_uri directive
59
- # either here - or in wepay.yml. Using it here overrides wepay.yml.
58
+ class Purchase::CheckoutController < ApplicationController
59
+ include WepayRails::Payments
60
60
 
61
- def index
61
+ before_filter :authenticate_user! # I am using devise - this line depends on your authentication scheme
62
62
 
63
+ def index
63
64
  cart = current_user.cart # EXAMPLE - get my shopping cart
64
- tx_id = cart.transaction_id # EXAMPLE - I use a column in my cart to have a way to look up the cart upon the user's return from wepay
65
65
 
66
66
  checkout_params = {
67
67
  :amount => cart.grand_total,
@@ -70,14 +70,14 @@ Finally, your checkout controller (or some controller that will interact with th
70
70
  }
71
71
 
72
72
  # Finally, send the user off to wepay so you can get paid! - CASH MONEY
73
- init_checkout_and_send_user_to_wepay(checkout_params, current_user)
73
+ init_checkout_and_send_user_to_wepay(checkout_params)
74
74
  end
75
75
  end
76
76
 
77
77
  The controller I use for finalizing the checkout - AKA - the controller the user is sent back to after his/her trip to
78
78
  wepay to checkout.
79
79
 
80
- class Purchase::FinalizeController < Wepay::ApplicationController
80
+ class Purchase::FinalizeController < ApplicationController
81
81
  def index
82
82
  wcr = WepayCheckoutRecord.find_by_checkout_id(params[:checkout_id])
83
83
 
@@ -89,7 +89,7 @@ wepay to checkout.
89
89
  # Convert cart to an order?? Move to observer of WepayCheckoutRecord??
90
90
  cart.convert_cart_to_order if wcr.state == 'authorized'
91
91
 
92
- render :text => wcr.inspect
92
+ render :text => "Hooray - you bought some widgets!"
93
93
  end
94
94
  end
95
95
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 2.0.0
@@ -1,11 +1,2 @@
1
1
  class Wepay::ApplicationController < ApplicationController
2
- include WepayRails::Payments
3
-
4
- def wepayable_class
5
- WepayRails::Configuration.wepayable_class
6
- end
7
-
8
- def wepayable_column
9
- WepayRails::Configuration.wepayable_column
10
- end
11
2
  end
@@ -1,17 +1,19 @@
1
+ require 'digest/sha2'
1
2
  class Wepay::AuthorizeController < Wepay::ApplicationController
3
+
2
4
  def index
3
- ref_id = session[unique_wepay_auth_token_key]
5
+ wepay_gateway = WepayRails::Payments::Gateway.new
4
6
 
5
- if WepayRails::Configuration.settings[:orm] == 'mongoid'
6
- wepayable = wepayable_class.where(wepayable_column => ref_id)[0]
7
+ if params[:code].present?
8
+ access_token = wepay_gateway.get_access_token(params[:code], redirect_uri)
9
+ render :text => "Copy this access token, #{access_token} to the access_token directive in your wepay.yml"
7
10
  else
8
- wepayable = wepayable_class.all(:conditions => ["#{wepayable_column} = ?", ref_id])[0]
11
+ redirect_to wepay_gateway.auth_code_url redirect_uri
9
12
  end
13
+ end
10
14
 
11
- wepayable.update_attribute(wepayable_column.to_sym, params[:code])
12
- redirect_to session[:after_authorize_redirect_uri] and return if session[:after_authorize_redirect_uri]
13
- redirect_to WepayRails::Configuration.settings[:after_authorize_redirect_uri]
14
- rescue => e
15
- raise AuthorizationError.new("WepayRails was unable to find the record to save the auth code to. : #{e.message}") unless wepayable.present?
15
+ private
16
+ def redirect_uri
17
+ "#{WepayRails::Configuration.settings[:root_callback_uri]}/wepay/authorize"
16
18
  end
17
19
  end
@@ -1,10 +1,10 @@
1
1
  class Wepay::IpnController < Wepay::ApplicationController
2
- def index
2
+ def create
3
3
 
4
4
  record = WepayCheckoutRecord.find_by_checkout_id(params[:checkout_id])
5
5
 
6
6
  if record.present?
7
- wepay_gateway.wepay_access_token = record.access_token
7
+ wepay_gateway = WepayRails::Payments::Gateway.new
8
8
  checkout = wepay_gateway.lookup_checkout(record.checkout_id)
9
9
  record.update_attributes(checkout)
10
10
  render :text => "ok"
@@ -2,27 +2,27 @@ module WepayRails
2
2
  module Api
3
3
  module AccountMethods
4
4
  def create_account(params)
5
- self.call("/account/create", {:body => params})
5
+ self.call_api("/account/create", params)
6
6
  end
7
7
 
8
8
  def get_account(account_id)
9
- self.call("/account", {:body => {:account_id => account_id}})
9
+ self.call_api("/account", {:account_id => account_id})
10
10
  end
11
11
 
12
12
  def find_account(args)
13
- self.call("/account/find", {:body => args})
13
+ self.call_api("/account/find", args)
14
14
  end
15
15
 
16
16
  def modify_account(args)
17
- self.call("/account/modify", {:body => args})
17
+ self.call_api("/account/modify", args)
18
18
  end
19
19
 
20
20
  def delete_account(account_id)
21
- self.call("/account/delete", {:body => {:account_id => account_id}})
21
+ self.call_api("/account/delete", {:account_id => account_id})
22
22
  end
23
23
 
24
24
  def get_account_balance(account_id)
25
- self.call("/account/balance", {:body => {:account_id => account_id}})
25
+ self.call_api("/account/balance", {:account_id => account_id})
26
26
  end
27
27
  end
28
28
  end
@@ -38,23 +38,33 @@ module WepayRails
38
38
  # :charge_tax No A boolean value (0 or 1). If set to 1 and the account has a relevant tax entry (see /account/set_tax), then tax will be charged.
39
39
  def perform_checkout(parms)
40
40
  defaults = {
41
- :callback_uri => (@wepay_config[:ipn_callback_uri].present? ? @wepay_config[:ipn_callback_uri] : "#{@wepay_config[:root_callback_uri]}/wepay/ipn"),
42
- :redirect_uri => (@wepay_config[:checkout_redirect_uri].present? ? @wepay_config[:checkout_redirect_uri] : "#{@wepay_config[:root_callback_uri]}/wepay/checkout"),
43
- :fee_payer => @wepay_config[:fee_payer],
44
- :type => @wepay_config[:checkout_type],
45
- :charge_tax => @wepay_config[:charge_tax] ? 1 : 0,
46
- :app_fee => @wepay_config[:app_fee],
47
- :auto_capture => @wepay_config[:auto_capture] ? 1 : 0,
41
+ :callback_uri => ipn_callback_uri,
42
+ :redirect_uri => checkout_redirect_uri,
43
+ :fee_payer => @wepay_config[:fee_payer],
44
+ :type => @wepay_config[:checkout_type],
45
+ :charge_tax => @wepay_config[:charge_tax] ? 1 : 0,
46
+ :app_fee => @wepay_config[:app_fee],
47
+ :auto_capture => @wepay_config[:auto_capture] ? 1 : 0,
48
48
  :require_shipping => @wepay_config[:require_shipping] ? 1 : 0,
49
- :shipping_fee => @wepay_config[:shipping_fee],
50
- :account_id => @wepay_config[:account_id]
49
+ :shipping_fee => @wepay_config[:shipping_fee],
50
+ :account_id => @wepay_config[:account_id]
51
51
  }.merge(parms)
52
52
 
53
- self.call("/checkout/create", {:body => defaults})
53
+ self.call_api("/checkout/create", defaults)
54
54
  end
55
55
 
56
56
  def lookup_checkout(checkout_id)
57
- self.call("/checkout", {:body => {:checkout_id => checkout_id}})
57
+ self.call_api("/checkout", {:checkout_id => checkout_id})
58
+ end
59
+
60
+ def ipn_callback_uri
61
+ return @wepay_config[:ipn_callback_uri] if @wepay_config[:ipn_callback_uri].present?
62
+ "#{@wepay_config[:root_callback_uri]}/wepay/ipn"
63
+ end
64
+
65
+ def checkout_redirect_uri
66
+ return @wepay_config[:checkout_redirect_uri] if @wepay_config[:checkout_redirect_uri].present?
67
+ "#{@wepay_config[:root_callback_uri]}/wepay/checkout"
58
68
  end
59
69
  end
60
70
  end
@@ -4,8 +4,6 @@ class CreateWepayCheckoutRecords < ActiveRecord::Migration
4
4
  create_table :wepay_checkout_records do |t|
5
5
  t.integer :checkout_id
6
6
  t.integer :account_id
7
- t.string :auth_code
8
- t.string :access_token
9
7
  t.string :state
10
8
  t.string :short_description
11
9
  t.text :long_description
@@ -2,13 +2,13 @@ production:
2
2
  client_id: <your client id from wepay>
3
3
  client_secret: <your client secret from wepay>
4
4
  account_id: <your account id from wepay>
5
- auth_code_location: MyModel.wepay_auth_code #model and column where you store the auth code for each of your customers eg. Profile.wepay_auth_code
5
+ access_token: <your access token that you recieved when you went to http://your.domain.com/wepay/authorize>
6
6
  root_callback_uri: "http://www.example.com"
7
7
  after_authorize_redirect_uri: "http://www.example.com/purchase/checkout"
8
8
  after_checkout_redirect_uri: "http://www.example.com/purchase/finalize"
9
+ registration_confirmation_uri: "http://www.example.com/purchase/cart?msg=Please confirm your wepay account."
9
10
  scope: [refund_payments,collect_payments,view_balance,view_user]
10
- wepay_api_uri: "https://api.wepay.com"
11
- wepay_api_version: "v2"
11
+ wepay_api_uri: "https://api.wepay.com/v2"
12
12
  fee_payer: Payee
13
13
  checkout_type: GOODS
14
14
  charge_tax: false
@@ -2,77 +2,6 @@ module WepayRails
2
2
  module Helpers
3
3
  module ControllerHelpers
4
4
 
5
- def redirect_to_wepay_for_auth(wepayable_object, params = {})
6
- # Initially set a reference ID to the column created for the wepayable
7
- # so that when the redirect back from wepay happens, we can reference
8
- # the original wepayable, and then save the new auth code into the reference ID's
9
- # place
10
- ref_id = Digest::SHA1.hexdigest("#{Time.now.to_i+rand(4)}")
11
- session[unique_wepay_auth_token_key] = ref_id
12
- wepayable_object.update_attribute(WepayRails::Configuration.wepayable_column.to_sym, ref_id)
13
-
14
- redirect_to wepay_gateway.auth_code_url(params)
15
- end
16
-
17
- # @deprecated Use wepay_gateway instead of gateway
18
- def gateway
19
- warn "[DEPRECATION] Use wepay_gateway instead of gateway"
20
- wepay_gateway
21
- end
22
-
23
- def wepay_gateway
24
- @gateway ||= WepayRails::Payments::Gateway.new(wepay_access_token)
25
- end
26
-
27
- # From https://stage.wepay.com/developer/tutorial/authorization
28
- # Request
29
- # https://stage.wepay.com/v2/oauth2/token
30
- # ?client_id=[your client id]
31
- # &redirect_uri=[your redirect uri ex. 'http://exampleapp.com/wepay']
32
- # &client_secret=[your client secret]
33
- # &code=[the code you got in step one]
34
- #
35
- # Response
36
- # {"user_id":"123456","access_token":"1337h4x0rzabcd12345","token_type":"BEARER"} Example
37
- def initialize_wepay_access_token(wepayable_object)
38
- return if wepay_access_token_exists?
39
- begin
40
- # check to see if they have an auth code
41
- # If not, send them to wepay to get one
42
- wepayable_column = WepayRails::Configuration.wepayable_column
43
- raise unless wepayable_object.send(wepayable_column.to_sym).present?
44
-
45
- # It's possible that we raise an exception here - probably the auth code
46
- # was too old and they need an updated one. Send them to wepay to
47
- # get a new one if a raise happens while we run the following line of code.
48
- session[unique_wepay_access_token_key] = wepay_gateway.access_token(wepayable_object)
49
- rescue
50
- redirect_to_wepay_for_auth(wepayable_object)
51
- end
52
- return
53
- end
54
-
55
- # Since we are saving the access token in the session,
56
- # ensure key uniqueness. Might be a good idea to have this
57
- # be a setting in the wepay.yml file.
58
- def unique_wepay_access_token_key
59
- :IODDR8856UUFG6788
60
- end
61
-
62
- def unique_wepay_auth_token_key
63
- :J8876GFUU6588RDDO
64
- end
65
-
66
- # Access token is the OAUTH access token that is used for future
67
- # comunique
68
- def wepay_access_token
69
- session[unique_wepay_access_token_key]
70
- end
71
-
72
- def wepay_access_token_exists?
73
- wepay_access_token.present?
74
- end
75
-
76
5
  # Many of the settings you pass in here are already factored in from
77
6
  # the wepay.yml file and only need to be overridden if you insist on doing
78
7
  # so when this method is called. The following list of key values are pulled
@@ -108,28 +37,16 @@ module WepayRails
108
37
  # :require_shipping No A boolean value (0 or 1). If set to 1 then the payer will be asked to enter a shipping address when they pay. After payment you can retrieve this shipping address by calling /checkout
109
38
  # :shipping_fee No The amount that you want to charge for shipping.
110
39
  # :charge_tax No A boolean value (0 or 1). If set to 1 and the account has a relevant tax entry (see /account/set_tax), then tax will be charged.
111
- def init_checkout_and_send_user_to_wepay(params, wepayable_object)
112
- initialize_wepay_access_token(wepayable_object)
113
- response = wepay_gateway.perform_checkout(params)
114
-
115
- unless response && response.has_key?('checkout_uri')
116
- raise WepayRails::Exceptions::InitializeCheckoutError.new("A problem occurred while trying to checkout.
117
- Wepay didn't send us back a checkout uri. Response was: #{response.inspect},
118
- Params were: #{params}, Token was: #{wepay_access_token}")
119
- end
120
-
121
- wepayable_column = WepayRails::Configuration.wepayable_column
122
- raise unless wepayable_object.send(wepayable_column.to_sym).present?
123
-
124
- wcr_params = {
125
- :auth_code => wepayable_object.send(wepayable_column),
126
- :access_token => wepay_access_token,
40
+ def init_checkout_and_send_user_to_wepay(params, access_token=nil)
41
+ wepay_gateway = WepayRails::Payments::Gateway.new(access_token)
42
+ response = wepay_gateway.perform_checkout(params)
43
+ params.merge!({
44
+ :access_token => wepay_gateway.access_token,
127
45
  :checkout_id => response['checkout_id']
128
- }
129
-
130
- params.merge!(wcr_params)
46
+ })
131
47
 
132
48
  WepayCheckoutRecord.create(params)
49
+
133
50
  redirect_to response['checkout_uri'] and return
134
51
  end
135
52
  end
data/lib/wepay-rails.rb CHANGED
@@ -4,23 +4,12 @@ require 'api/account_methods'
4
4
  require 'api/checkout_methods'
5
5
  module WepayRails
6
6
  class Configuration
7
- @@wepayable_class = nil
8
- @@wepayable_column = nil
9
7
  @@settings = nil
10
8
 
11
- def self.init_conf(klass, column, settings)
12
- @@wepayable_class, @@wepayable_column = klass, column
9
+ def self.init_conf(settings)
13
10
  @@settings = settings
14
11
  end
15
12
 
16
- def self.wepayable_class
17
- @@wepayable_class
18
- end
19
-
20
- def self.wepayable_column
21
- @@wepayable_column
22
- end
23
-
24
13
  def self.settings
25
14
  @@settings
26
15
  end
@@ -31,8 +20,7 @@ module WepayRails
31
20
  initializer "WepayRails.initialize_wepay_rails" do |app|
32
21
  yml = Rails.root.join('config', 'wepay.yml').to_s
33
22
  settings = YAML.load_file(yml)[Rails.env].symbolize_keys
34
- klass, column = settings[:auth_code_location].split('.')
35
- Configuration.init_conf(eval(klass), column, settings)
23
+ Configuration.init_conf(settings)
36
24
  end
37
25
  end
38
26
 
@@ -49,72 +37,52 @@ module WepayRails
49
37
 
50
38
  base_uri @base_uri
51
39
 
52
- attr_accessor :wepay_access_token, :wepay_auth_code, :scope
40
+ attr_accessor :access_token
53
41
 
54
42
  # Pass in the wepay access token that we got after the oauth handshake
55
43
  # and use it for ongoing comunique with Wepay.
56
44
  # This also relies heavily on there being a wepay.yml file in your
57
45
  # rails config directory - it must look like this:
58
- #
59
- #
60
46
  def initialize(*args)
61
- @wepay_access_token = args.first
62
-
63
47
  @wepay_config = WepayRails::Configuration.settings
64
-
65
- # Build the base uri
66
- # Default if there isn't a setting for version and/or api uri
67
- version = @wepay_config[:wepay_api_version].present? ? @wepay_config[:wepay_api_version] : "v2"
68
- api_uri = @wepay_config[:wepay_api_uri].present? ? @wepay_config[:wepay_api_uri] : "https://wepayapi.com"
69
-
70
- @base_uri = "#{api_uri}/#{version}"
48
+ @access_token = args.first || @wepay_config[:access_token]
49
+ @base_uri = @wepay_config[:wepay_api_uri] || "https://www.wepay.com/v2"
71
50
  end
72
51
 
73
- def access_token(wepayable_object)
74
- w_column = WepayRails::Configuration.wepayable_column.to_s.to_sym
75
- auth_code = if wepayable_object.is_a?(String)
76
- wepayable_object
77
- elsif wepayable_object.respond_to?(w_column)
78
- wepayable_object.send(w_column)
79
- end
80
-
81
- unless auth_code.present?
82
- raise WepayRails::Exceptions::AccessTokenError.new("The argument, #{wepayable_object.inspect}, passed into the
83
- access_token method cannot be used to get an access token. It is neither a string,
84
- nor an object containing the auth_code column you specified in wepay.yml.")
85
- end
52
+ # Fetch the access token from wepay for the auth code
53
+ def get_access_token(auth_code, redirect_uri)
86
54
 
87
55
  params = {
88
- :client_id => @wepay_config[:client_id],
56
+ :client_id => @wepay_config[:client_id],
89
57
  :client_secret => @wepay_config[:client_secret],
90
- :redirect_uri => (@wepay_config[:redirect_uri].present? ? @wepay_config[:redirect_uri] : "#{@wepay_config[:root_callback_uri]}/wepay/authorize"),
91
- :code => auth_code
58
+ :redirect_uri => redirect_uri,
59
+ :code => auth_code
92
60
  }
93
61
 
94
- response = self.call("/oauth2/token", {:body => params})
62
+ response = self.class.post("#{@base_uri}/oauth2/token", {:body => params})
63
+ json = JSON.parse(response.body)
95
64
 
96
- if response.has_key?("error")
97
- if response.has_key?("error_description")
98
- if ['invalid code parameter','the code has expired'].include?(response['error_description'])
99
- raise WepayRails::Exceptions::ExpiredTokenError.new("Token either expired or invalid: #{response["error_description"]}")
65
+ if json.has_key?("error")
66
+ if json.has_key?("error_description")
67
+ if ['invalid code parameter','the code has expired','this access_token has been revoked'].include?(json['error_description'])
68
+ raise WepayRails::Exceptions::ExpiredTokenError.new("Token either expired, revoked or invalid: #{json["error_description"]}")
100
69
  end
101
- raise WepayRails::Exceptions::AccessTokenError.new(response["error_description"])
70
+ raise WepayRails::Exceptions::AccessTokenError.new(json["error_description"])
102
71
  end
103
72
  end
104
73
 
105
- raise WepayRails::Exceptions::AccessTokenError.new("A problem occurred trying to get the access token: #{response.inspect}") unless response.has_key?("access_token")
74
+ raise WepayRails::Exceptions::AccessTokenError.new("A problem occurred trying to get the access token: #{json.inspect}") unless json.has_key?("access_token")
106
75
 
107
- @wepay_auth_code = auth_code
108
- @wepay_access_token = response["access_token"]
76
+ @access_token = json["access_token"]
109
77
  end
110
78
 
111
79
  # Get the auth code url that will be used to fetch the auth code for the customer
112
80
  # arguments are the redirect_uri and an array of permissions that your application needs
113
81
  # ex. ['manage_accounts','collect_payments','view_balance','view_user']
114
- def auth_code_url(params = {})
82
+ def auth_code_url(redirect_uri, params = {})
115
83
  params[:client_id] ||= @wepay_config[:client_id]
116
- params[:redirect_uri] ||= (@wepay_config[:redirect_uri].present? ? @wepay_config[:redirect_uri] : "#{@wepay_config[:root_callback_uri]}/wepay/authorize")
117
- params[:scope] ||= WepayRails::Configuration.settings[:scope].join(',')
84
+ params[:scope] ||= @wepay_config[:scope].join(',')
85
+ params[:redirect_uri] = redirect_uri
118
86
 
119
87
  query = params.map do |k, v|
120
88
  "#{k.to_s}=#{v}"
@@ -124,21 +92,14 @@ module WepayRails
124
92
  end
125
93
 
126
94
  def wepay_auth_header
127
- unless @wepay_access_token
95
+ unless @access_token
128
96
  raise WepayRails::Exceptions::AccessTokenError.new("No access token available")
129
97
  end
130
- {'Authorization' => "Bearer: #{@wepay_access_token}"}
131
- end
132
-
133
- # Make a call to wepay to get the user info. This will only make one call
134
- # per request. Any subsequent calls to wepay_user will return the data
135
- # retrieved from the first call.
136
- def wepay_user
137
- @wepay_user ||= self.call("/user")
98
+ {'Authorization' => "Bearer: #{@access_token}"}
138
99
  end
139
100
 
140
- def call(api_path, params={})
141
- response = self.class.post("#{@base_uri}#{api_path}", {:headers => wepay_auth_header}.merge!(params))
101
+ def call_api(api_path, params={})
102
+ response = self.class.post("#{@base_uri}#{api_path}", {:headers => wepay_auth_header}.merge!({:body => params}))
142
103
  JSON.parse(response.body)
143
104
  end
144
105
 
data/wepay-rails.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "wepay-rails"
8
- s.version = "1.1.0"
8
+ s.version = "2.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adam Medeiros"]
12
- s.date = "2011-11-26"
12
+ s.date = "2011-11-27"
13
13
  s.description = "Rails gem that interfaces with the WePay API"
14
14
  s.email = "adammede@gmail.com"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wepay-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-26 00:00:00.000000000Z
12
+ date: 2011-11-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &10731560 !ruby/object:Gem::Requirement
16
+ requirement: &9095360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10731560
24
+ version_requirements: *9095360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &10729980 !ruby/object:Gem::Requirement
27
+ requirement: &9093080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *10729980
35
+ version_requirements: *9093080
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &10728420 !ruby/object:Gem::Requirement
38
+ requirement: &9091480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *10728420
46
+ version_requirements: *9091480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &10726600 !ruby/object:Gem::Requirement
49
+ requirement: &9090080 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *10726600
57
+ version_requirements: *9090080
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &10704300 !ruby/object:Gem::Requirement
60
+ requirement: &9088680 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *10704300
68
+ version_requirements: *9088680
69
69
  description: Rails gem that interfaces with the WePay API
70
70
  email: adammede@gmail.com
71
71
  executables: []
@@ -114,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  segments:
116
116
  - 0
117
- hash: 1601135752143681885
117
+ hash: -431317544786585156
118
118
  required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements: