wepay-api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/.travis.yml +6 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +118 -0
- data/Rakefile +7 -0
- data/lib/wepay-api.rb +2 -0
- data/lib/wepay.rb +23 -0
- data/lib/wepay/api.rb +27 -0
- data/lib/wepay/api/account.rb +86 -0
- data/lib/wepay/api/base.rb +25 -0
- data/lib/wepay/api/checkout.rb +68 -0
- data/lib/wepay/api/preapproval.rb +50 -0
- data/lib/wepay/api/subscription.rb +50 -0
- data/lib/wepay/api/subscription_plan.rb +59 -0
- data/lib/wepay/api/withdrawal.rb +41 -0
- data/lib/wepay/client.rb +63 -0
- data/lib/wepay/client/data.rb +31 -0
- data/lib/wepay/client/token.rb +30 -0
- data/lib/wepay/configuration.rb +34 -0
- data/lib/wepay/error.rb +28 -0
- data/lib/wepay/middleware.rb +44 -0
- data/lib/wepay/oauth.rb +32 -0
- data/lib/wepay/version.rb +3 -0
- data/spec/fixtures/vcr_cassettes/Wepay_Middleware/Wepay_Middleware_CheckStatus/raises_a_Wepay_ApiError_with_proper_error_type_message_and_code.yml +35 -0
- data/spec/fixtures/vcr_cassettes/wepay_account.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_add_bank.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_balance.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_create.yml +46 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_delete.yml +48 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_find.yml +43 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_get_tax.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_modify.yml +49 -0
- data/spec/fixtures/vcr_cassettes/wepay_account_set_tax.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout.yml +40 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_cancel.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_capture.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_create.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_find.yml +51 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_modify.yml +40 -0
- data/spec/fixtures/vcr_cassettes/wepay_checkout_refund.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_preapproval.yml +39 -0
- data/spec/fixtures/vcr_cassettes/wepay_preapproval_cancel.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_preapproval_create.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_preapproval_find.yml +39 -0
- data/spec/fixtures/vcr_cassettes/wepay_preapproval_modify.yml +39 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_cancel.yml +36 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_create.yml +48 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_find.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_modify.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan.yml +39 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan_create.yml +48 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan_delete.yml +48 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan_find.yml +39 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan_get_button.yml +48 -0
- data/spec/fixtures/vcr_cassettes/wepay_subscription_plan_modify.yml +49 -0
- data/spec/fixtures/vcr_cassettes/wepay_withdrawal.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_withdrawal_create.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_withdrawal_find.yml +38 -0
- data/spec/fixtures/vcr_cassettes/wepay_withdrawal_modify.yml +38 -0
- data/spec/settings.yml.example +6 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/support/matchers.rb +5 -0
- data/spec/support/rspec_helper.rb +30 -0
- data/spec/support/settings.rb +14 -0
- data/spec/support/vcr.rb +17 -0
- data/spec/wepay/api/account_spec.rb +110 -0
- data/spec/wepay/api/checkout_spec.rb +86 -0
- data/spec/wepay/api/preapproval_spec.rb +69 -0
- data/spec/wepay/api/subscription_plan_spec.rb +83 -0
- data/spec/wepay/api/subscription_spec.rb +65 -0
- data/spec/wepay/api/withdrawal_spec.rb +53 -0
- data/spec/wepay/api_spec.rb +9 -0
- data/spec/wepay/configuration_spec.rb +25 -0
- data/spec/wepay/middleware_spec.rb +21 -0
- data/spec/wepay/oauth_spec.rb +23 -0
- data/wepay-api.gemspec +29 -0
- metadata +273 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
module Api
|
|
3
|
+
class Subscription < Base
|
|
4
|
+
##
|
|
5
|
+
# @param params [Hash] See documentation below
|
|
6
|
+
# @return [Hashie::Mash]
|
|
7
|
+
# @docs [/subscription](https://www.wepay.com/developer/reference/subscription#lookup)
|
|
8
|
+
#
|
|
9
|
+
def show(params)
|
|
10
|
+
post 'subscription', params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
##
|
|
14
|
+
# @param params [Hash] See documentation below
|
|
15
|
+
# @return [Hashie::Mash]
|
|
16
|
+
# @docs [/subscription/find](https://www.wepay.com/developer/reference/subscription#find)
|
|
17
|
+
#
|
|
18
|
+
def find(params)
|
|
19
|
+
post 'subscription/find', params
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# @param params [Hash] See documentation below
|
|
24
|
+
# @return [Hashie::Mash]
|
|
25
|
+
# @docs [/subscription/create](https://www.wepay.com/developer/reference/subscription#create)
|
|
26
|
+
#
|
|
27
|
+
def create(params)
|
|
28
|
+
post 'subscription/create', params
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
# @param params [Hash] See documentation below
|
|
33
|
+
# @return [Hashie::Mash]
|
|
34
|
+
# @docs [/subscription/cancel](https://www.wepay.com/developer/reference/subscription#cancel)
|
|
35
|
+
#
|
|
36
|
+
def cancel(params)
|
|
37
|
+
post 'subscription/cancel', params
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
##
|
|
41
|
+
# @param params [Hash] See documentation below
|
|
42
|
+
# @return [Hashie::Mash]
|
|
43
|
+
# @docs [/subscription/modify](https://www.wepay.com/developer/reference/subscription#modify)
|
|
44
|
+
#
|
|
45
|
+
def modify(params)
|
|
46
|
+
post 'subscription/modify', params
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
module Api
|
|
3
|
+
class SubscriptionPlan < Base
|
|
4
|
+
##
|
|
5
|
+
# @param params [Hash] See documentation below
|
|
6
|
+
# @return [Hashie::Mash]
|
|
7
|
+
# @docs [/subscription_plan](https://www.wepay.com/developer/reference/subscription_plan#lookup)
|
|
8
|
+
#
|
|
9
|
+
def show(params)
|
|
10
|
+
post 'subscription_plan', params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
##
|
|
14
|
+
# @param params [Hash] See documentation below
|
|
15
|
+
# @return [Hashie::Mash]
|
|
16
|
+
# @docs [/subscription_plan/find](https://www.wepay.com/developer/reference/subscription_plan#find)
|
|
17
|
+
#
|
|
18
|
+
def find(params)
|
|
19
|
+
post 'subscription_plan/find', params
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# @param params [Hash] See documentation below
|
|
24
|
+
# @return [Hashie::Mash]
|
|
25
|
+
# @docs [/subscription_plan/create](https://www.wepay.com/developer/reference/subscription_plan#create)
|
|
26
|
+
#
|
|
27
|
+
def create(params)
|
|
28
|
+
post 'subscription_plan/create', params
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
# @param params [Hash] See documentation below
|
|
33
|
+
# @return [Hashie::Mash]
|
|
34
|
+
# @docs [/subscription_plan/delete](https://www.wepay.com/developer/reference/subscription_plan#delete)
|
|
35
|
+
#
|
|
36
|
+
def delete(params)
|
|
37
|
+
post 'subscription_plan/delete', params
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
##
|
|
41
|
+
# @param params [Hash] See documentation below
|
|
42
|
+
# @return [Hashie::Mash]
|
|
43
|
+
# @docs [/subscription_plan/get_button](https://www.wepay.com/developer/reference/subscription_plan#get_button)
|
|
44
|
+
#
|
|
45
|
+
def get_button(params)
|
|
46
|
+
post 'subscription_plan/get_button', params
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
##
|
|
50
|
+
# @param params [Hash] See documentation below
|
|
51
|
+
# @return [Hashie::Mash]
|
|
52
|
+
# @docs [/subscription_plan/modify](https://www.wepay.com/developer/reference/subscription_plan#modify)
|
|
53
|
+
#
|
|
54
|
+
def modify(params)
|
|
55
|
+
post 'subscription_plan/modify', params
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
module Api
|
|
3
|
+
class Withdrawal < Base
|
|
4
|
+
##
|
|
5
|
+
# @param params [Hash] See documentation below
|
|
6
|
+
# @return [Hashie::Mash]
|
|
7
|
+
# @docs [/withdrawal](https://www.wepay.com/developer/reference/withdrawal#lookup)
|
|
8
|
+
#
|
|
9
|
+
def show(params)
|
|
10
|
+
post 'withdrawal', params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
##
|
|
14
|
+
# @param params [Hash] See documentation below
|
|
15
|
+
# @return [Hashie::Mash]
|
|
16
|
+
# @docs [/withdrawal/find](https://www.wepay.com/developer/reference/withdrawal#find)
|
|
17
|
+
#
|
|
18
|
+
def find(params)
|
|
19
|
+
post 'withdrawal/find', params
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# @param params [Hash] See documentation below
|
|
24
|
+
# @return [Hashie::Mash]
|
|
25
|
+
# @docs [/withdrawal/create](https://www.wepay.com/developer/reference/withdrawal#create)
|
|
26
|
+
#
|
|
27
|
+
def create(params)
|
|
28
|
+
post 'withdrawal/create', params
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
# @param params [Hash] See documentation below
|
|
33
|
+
# @return [Hashie::Mash]
|
|
34
|
+
# @docs [/withdrawal/modify](https://www.wepay.com/developer/reference/withdrawal#modify)
|
|
35
|
+
#
|
|
36
|
+
def modify(params)
|
|
37
|
+
post 'withdrawal/modify', params
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/wepay/client.rb
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
require "faraday"
|
|
2
|
+
require "faraday_middleware"
|
|
3
|
+
|
|
4
|
+
module Wepay
|
|
5
|
+
class Client
|
|
6
|
+
DEFAULTS = {
|
|
7
|
+
open_timeout: 5,
|
|
8
|
+
timeout: 10
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
@connection = Faraday.new(url, connection_options) do |builder|
|
|
13
|
+
# Request
|
|
14
|
+
builder.use Wepay::Middleware::CatchTimeout
|
|
15
|
+
|
|
16
|
+
yield builder if block_given?
|
|
17
|
+
|
|
18
|
+
# Response
|
|
19
|
+
builder.use FaradayMiddleware::Mashify
|
|
20
|
+
builder.use Wepay::Middleware::CheckStatus
|
|
21
|
+
builder.use FaradayMiddleware::ParseJson
|
|
22
|
+
|
|
23
|
+
builder.adapter :net_http
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def get(*args, &block)
|
|
28
|
+
make_request(:get, *args, &block)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def post(*args, &block)
|
|
32
|
+
make_request(:post, *args, &block)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
def connection_options
|
|
38
|
+
{
|
|
39
|
+
request: {
|
|
40
|
+
open_timeout: open_timeout,
|
|
41
|
+
timeout: timeout,
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def url
|
|
47
|
+
raise NotImplementedError
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def make_request(http_method, *args, &block)
|
|
51
|
+
response = @connection.send(http_method, *args, &block)
|
|
52
|
+
response.body
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def open_timeout
|
|
56
|
+
Wepay.open_timeout || DEFAULTS[:open_timeout]
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def timeout
|
|
60
|
+
Wepay.timeout || DEFAULTS[:timeout]
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
##
|
|
3
|
+
# Client for query and manipulation of Wepay's data.
|
|
4
|
+
#
|
|
5
|
+
class Client::Data < Client
|
|
6
|
+
def initialize
|
|
7
|
+
super() do |builder|
|
|
8
|
+
# Request
|
|
9
|
+
builder.use FaradayMiddleware::EncodeJson
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def url
|
|
15
|
+
Wepay.api_endpoint
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def make_request(http_method, *args, &block)
|
|
19
|
+
params = args[1]
|
|
20
|
+
access_token = params.delete(:access_token) if params.is_a?(Hash)
|
|
21
|
+
access_token ||= Wepay.access_token
|
|
22
|
+
|
|
23
|
+
response = @connection.send http_method, *args do |builder|
|
|
24
|
+
builder.headers['Authorization'] = "Bearer #{access_token}"
|
|
25
|
+
block.call(builder) if block_given?
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
response.body
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
##
|
|
3
|
+
# Client for getting access token from Wepay's oauth endpoint.
|
|
4
|
+
#
|
|
5
|
+
class Client::Token < Client
|
|
6
|
+
def get_access_token(code, redirect_uri)
|
|
7
|
+
params = {
|
|
8
|
+
client_id: client_id,
|
|
9
|
+
client_secret: client_secret,
|
|
10
|
+
code: code,
|
|
11
|
+
redirect_uri: redirect_uri
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
get '', params
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
def url
|
|
19
|
+
Wepay.oauth_token_endpoint
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def client_id
|
|
23
|
+
Wepay.client_id
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def client_secret
|
|
27
|
+
Wepay.client_secret
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
module Configuration
|
|
3
|
+
attr_accessor :client_id, :client_secret, :access_token, :account_id, :scope, :using_stage
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
# Time to wait for the connection to Wepay to open. After that
|
|
7
|
+
# {Wepay::TimeoutError} is thrown.
|
|
8
|
+
#
|
|
9
|
+
attr_accessor :open_timeout
|
|
10
|
+
|
|
11
|
+
##
|
|
12
|
+
# Time to wait for the first block of response from Wepay. After that
|
|
13
|
+
# {Wepay::TimeoutError} is thrown.
|
|
14
|
+
#
|
|
15
|
+
attr_accessor :timeout
|
|
16
|
+
|
|
17
|
+
def configure
|
|
18
|
+
yield self
|
|
19
|
+
self
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def api_endpoint
|
|
23
|
+
using_stage ? "https://stage.wepayapi.com/v2/" : "https://wepayapi.com/v2/"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def oauth_authorization_endpoint
|
|
27
|
+
using_stage ? "https://stage.wepay.com/v2/oauth2/authorize" : "https://www.wepay.com/v2/oauth2/authorize"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def oauth_token_endpoint
|
|
31
|
+
using_stage ? "https://stage.wepayapi.com/v2/oauth2/token" : "https://wepayapi.com/v2/oauth2/token"
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
data/lib/wepay/error.rb
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Wepay
|
|
2
|
+
class Error < StandardError
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
# This error is raised when there is an error in the request.
|
|
7
|
+
#
|
|
8
|
+
class ApiError < Error
|
|
9
|
+
attr_reader :type, :code
|
|
10
|
+
|
|
11
|
+
def initialize(type, message, code)
|
|
12
|
+
super(message)
|
|
13
|
+
@type = type
|
|
14
|
+
@code = code
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def message
|
|
18
|
+
"#{type} (#{code}): #{super}"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# @see Wepay::Configuration#open_timeout
|
|
24
|
+
# @see Wepay::Configuration#timeout
|
|
25
|
+
#
|
|
26
|
+
class TimeoutError < Error
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require "faraday"
|
|
2
|
+
require "faraday_middleware/response_middleware"
|
|
3
|
+
|
|
4
|
+
module Wepay
|
|
5
|
+
module Middleware
|
|
6
|
+
##
|
|
7
|
+
# Translates `Faraday::Error::TimeoutError` into `Wepay::TimeoutError`.
|
|
8
|
+
#
|
|
9
|
+
# @raise Wepay::TimeoutError
|
|
10
|
+
#
|
|
11
|
+
class CatchTimeout
|
|
12
|
+
def initialize(app)
|
|
13
|
+
@app = app
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def call(env)
|
|
17
|
+
begin
|
|
18
|
+
@app.call(env)
|
|
19
|
+
rescue Faraday::Error::TimeoutError
|
|
20
|
+
raise Wepay::TimeoutError
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
##
|
|
26
|
+
# Checks for errors in responses from Wepay, in which case it raises a
|
|
27
|
+
# `Wepay::ApiError` which contains the code and the message found in the response.
|
|
28
|
+
#
|
|
29
|
+
# @raise Wepay::ApiError
|
|
30
|
+
#
|
|
31
|
+
class CheckStatus < Faraday::Response::Middleware
|
|
32
|
+
def on_complete(env)
|
|
33
|
+
response = env[:body]
|
|
34
|
+
if response.is_a?(Hash) && response["error"]
|
|
35
|
+
type = response["error"]
|
|
36
|
+
message = response["error_description"]
|
|
37
|
+
code = response["error_code"]
|
|
38
|
+
|
|
39
|
+
raise Wepay::ApiError.new(type, message, code)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/wepay/oauth.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'uri'
|
|
2
|
+
|
|
3
|
+
module Wepay
|
|
4
|
+
module OAuth
|
|
5
|
+
##
|
|
6
|
+
# @param redirect_uri [String] The uri the user will be redirected to after authorization. Must have the same domain as the application.
|
|
7
|
+
# @return [String] URL to redirect user to Wepay Authorization page
|
|
8
|
+
#
|
|
9
|
+
def authorization_url(redirect_uri)
|
|
10
|
+
url = URI.parse(Wepay.oauth_authorization_endpoint)
|
|
11
|
+
|
|
12
|
+
query = {
|
|
13
|
+
client_id: Wepay.client_id,
|
|
14
|
+
scope: Wepay.scope,
|
|
15
|
+
redirect_uri: redirect_uri
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
url.query = query.map { |k, v| "#{k}=#{v}" }.join("&")
|
|
19
|
+
url.to_s
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# @param code [String] The authorization code used to get the access token
|
|
24
|
+
# @param redirect_uri [String] The uri the user was redirected to after authorization. Must be the same as passed in /oauth2/authorize
|
|
25
|
+
# @return [Hashie::Mash]
|
|
26
|
+
#
|
|
27
|
+
def get_access_token(code, redirect_uri)
|
|
28
|
+
client = Wepay::Client::Token.new
|
|
29
|
+
client.get_access_token(code, redirect_uri)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: https://stage.wepayapi.com/v2/null
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Faraday v0.8.8
|
|
12
|
+
Authorization:
|
|
13
|
+
- Bearer access_token
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 501
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
server:
|
|
20
|
+
- nginx
|
|
21
|
+
date:
|
|
22
|
+
- Tue, 03 Dec 2013 09:34:30 GMT
|
|
23
|
+
content-type:
|
|
24
|
+
- application/json
|
|
25
|
+
transfer-encoding:
|
|
26
|
+
- chunked
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: UTF-8
|
|
31
|
+
string: '{"error":"invalid_request","error_description":"that is not a recognized
|
|
32
|
+
WePay API call","error_code":1001}'
|
|
33
|
+
http_version:
|
|
34
|
+
recorded_at: Tue, 03 Dec 2013 09:34:31 GMT
|
|
35
|
+
recorded_with: VCR 2.8.0
|