activewepay 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODlhNTRiYTc3ZWU4MjE3NTBiZmViNTA3MmZiNWRiNzcyNDM1MWExZA==
4
+ Yzk2OThkM2Y4YmQzOTM4YTJjYzM0NmRiY2QzMGM0YzhhYjczNmRmYw==
5
5
  data.tar.gz: !binary |-
6
- NjE1NzhlMTJlMThiZmI4M2MxYTNmODM0MzExYzk3MWFjMjg4YTE4NA==
6
+ ZmI0OTY1MzEyZjNmOGEzYWQwZWI0N2U2MGE1NTgzYjQ0MmZkNjZlZA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZDM2MDFhNTM3NmI1MjYzYWNhMzc5ZjNkNGU5NGJmYWY1ODAyMTA1MTA4NTgz
10
- OTQxMjA5Zjg1MTkyY2RkOWQyNDljZmY4OTZhODY1YmY1NmU0NWI4MGM1MWI2
11
- MTZjNGJiMjRiYjFmYWEyMmY1NzFjYzYyNTljNzkyYmRiOWJiNDM=
9
+ NGQ5NjIxZjA3NzUyMTRmNTQxYjVmODAxMWZlMWU2OTdmNDJkZjYwMTJhZDc4
10
+ NjFlMDkyYzJlNTNkYmYwNmNkZTc2ZGYxYmU5N2QxNTBhZTAwNmE4ZjdhMjYx
11
+ YjcyNThjYWMwZWNhMGVkODMzMmI1OTczNmEyODk1ZTk5ZmQ1MmQ=
12
12
  data.tar.gz: !binary |-
13
- OTg1YzBjMmUyOTRkMTU0YjYxN2JmZmU4M2M3MDgzODg4MWNlMjgxNDVlMzRj
14
- YzgzMzlmZTlmNTE2MmFjMDYxZTI1MzhhM2NlMTYwN2I5MjBjMDY4ZDlkZTVm
15
- MzY3ZDRhZmRlZTU0ZGQ0MDIxNDllY2ZmNzVkODM4ZWU3YTI1MGY=
13
+ M2NiMTYyOWIxYTM3NjI1Yzc1NjdkZWFiNWMwOWMxZGRlNjU1MmRhN2E5ZWZm
14
+ YmQyZjA4NDVhOTVjMmMyNzQ2Nzk3ZjEwMTJmMzJhNGM3MzI3NTMxNGZiNjQw
15
+ MTkwMzg0ZGMyYzQzMjQ4ODQ3ODA1OTEwNjNhZjNiZjBjZjZkYzg=
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Activewepay
2
2
 
3
- TODO: Write a gem description
3
+ Access the WePay like ActiveModel/ActiveRecord objects.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,38 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ Access a WePay object by calling something like `ActiveWepay::Checkout.create` or `ActiveWepay::Checkout.find(<checkout id>)`
22
+
23
+ ### Setup:
24
+
25
+ Once instantiated, an object can have useful methods called on it, depending on the object type. Example:
26
+
27
+ checkout = ActiveWepay::Checkout.create({
28
+ oauth_token: <oauth token>,
29
+ account_id: <account id>,
30
+ amount: <amount>,
31
+ redirect_uri: <redirect uri>,
32
+ callback_uri: <callback uri>
33
+ })
34
+ checkout.refund
35
+
36
+
37
+ preapproval = ActiveWepay::Preapproval.create
38
+ preapproval.cancel
39
+
40
+ You can also access the returned properties on the object:
41
+
42
+ checkout.amount
43
+ checkout.id
44
+
45
+ preapproval.preapproval_uri
46
+
47
+ If there's an error in the call, you can call them like you would any ActiveModel object:
48
+
49
+ checkout.errors.any?
50
+ checkout.errors.full_messages
51
+
52
+ The gem automatically switches between stage and production domains based on the Rails environment.
22
53
 
23
54
  ## Contributing
24
55
 
data/activewepay.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["asherlc@asherlc.com"]
11
11
  spec.description = %q{ActiveModel style WePay interface.}
12
12
  spec.summary = %q{{ActiveModel style WePay interface.}}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/Asherlc/activewepay"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
data/lib/activewepay.rb CHANGED
@@ -21,6 +21,7 @@ module ActiveWepay
21
21
 
22
22
  def initialize
23
23
  @errors = ActiveModel::Errors.new(self)
24
+ @options ||= {}
24
25
  end
25
26
 
26
27
  # make a call to the WePay API
@@ -71,8 +72,10 @@ module ActiveWepay
71
72
  class Account < Base
72
73
  def self.create(oauth_token, name)
73
74
  @account = self.new
75
+ @account.options[:oauth_token] = oauth_token
76
+
74
77
  theme = { name: 'Black and White', primary_color: 'FFFFFF', secondary_color: '000000', background_color: 'FFFFFF', button_color: 'FFFFFF' }
75
- @account.call('/account/create', oauth_token, {
78
+ @account.call('/account/create', @account.options[:oauth_token], {
76
79
  :name => name,
77
80
  :description => 'Automatically generated by Vocalem',
78
81
  :theme_object => theme
@@ -81,44 +84,43 @@ module ActiveWepay
81
84
  end
82
85
 
83
86
  class Checkout < Base
84
- def self.create(oauth_token, options = {})
87
+ def self.create(options = {})
85
88
  @checkout = self.new
86
- @checkout.oauth_token = oauth_token
87
89
  @checkout.options = options
88
- @checkout.call('/checkout/create', oauth_token, {
89
- account_id: options[:organization].wepay_account_id,
90
- amount: options[:amount],
90
+ @checkout.call('/checkout/create', @checkout.options[:oauth_token], {
91
+ account_id: @checkout.options[:account_id],
92
+ amount: @checkout.options[:amount],
91
93
  short_description: 'Payment',
92
94
  type: 'DONATION',
93
95
  mode: 'iframe',
94
- app_fee: options[:amount] * 0.021,
95
- redirect_uri: options[:redirect_uri],
96
- callback_uri: options[:callback_uri]
96
+ app_fee: @checkout.options[:amount] * 0.021,
97
+ redirect_uri: @checkout.options[:redirect_uri],
98
+ callback_uri: @checkout.options[:callback_uri]
97
99
  })
98
100
  end
99
101
 
100
102
  def self.find(id, oauth_token)
101
103
  @checkout = self.new
102
104
  @checkout.id = id
103
- @checkout.oauth_token = oauth_token
105
+ @checkout.options[:oauth_token] = oauth_token
104
106
  @checkout.information
105
107
  end
106
108
 
107
109
  def information
108
- call('/checkout/', @oauth_token, {
110
+ call('/checkout/', @options[:oauth_token], {
109
111
  checkout_id: @id
110
112
  })
111
113
  end
112
114
 
113
115
  def cancel
114
- self.call('/checkout/cancel/', @oauth_token, {
116
+ self.call('/checkout/cancel/', @options[:oauth_token], {
115
117
  checkout_id: @id,
116
118
  cancel_reason: 'Refund'
117
119
  })
118
120
  end
119
121
 
120
122
  def refund
121
- call('/checkout/refund', @oauth_token, {
123
+ call('/checkout/refund', @options[:oauth_token], {
122
124
  checkout_id: @id,
123
125
  refund_reason: 'Refunded'
124
126
  })
@@ -128,33 +130,34 @@ module ActiveWepay
128
130
  class Preapproval < Base
129
131
  attr_accessor :options, :id
130
132
 
131
- def self.create(options)
133
+ def self.create(options = {})
132
134
  @recurring = self.new
133
135
  @recurring.options = options
134
- @recurring.call('/preapproval/create', ENV['WEPAY_ACCESS_TOKEN'], {
136
+ @recurring.call('/preapproval/create', @recurring.options[:oauth_token], {
135
137
  short_description: 'Vocalem plan change',
136
- account_id: ENV['WEPAY_ACCOUNT_ID'],
137
- amount: options[:amount],
138
+ account_id: @recurring.options[:account_id],
139
+ amount: @recurring.options[:amount],
138
140
  period: 'monthly',
139
- redirect_uri: options[:redirect_uri],
140
- callback_uri: options[:callback_uri],
141
+ redirect_uri: @recurring.options[:redirect_uri],
142
+ callback_uri: @recurring.options[:callback_uri],
141
143
  auto_recur: true,
142
144
  mode: 'iframe'
143
145
  })
144
146
  end
145
147
 
146
- def self.find(id)
148
+ def self.find(id, oauth_token)
147
149
  @recurring = self.new
150
+ @recurring.options[:oauth_token] = oauth_token
148
151
  @recurring.id = id
149
152
 
150
- @recurring.call('/preapproval/', ENV['WEPAY_ACCESS_TOKEN'], {
153
+ @recurring.call('/preapproval/', @recurring.options[:oauth_token], {
151
154
  preapproval_id: id
152
155
  })
153
156
  end
154
157
 
155
158
  def cancel
156
159
 
157
- call('/preapproval/cancel', ENV['WEPAY_ACCESS_TOKEN'], {
160
+ call('/preapproval/cancel', @options[:oauth_token], {
158
161
  preapproval_id: @id
159
162
  })
160
163
  end
@@ -163,14 +166,13 @@ module ActiveWepay
163
166
  class Withdrawal < Base
164
167
  attr_accessor :options, :id, :oauth_token
165
168
 
166
- def self.create(oauth_token, options)
169
+ def self.create(options = {})
167
170
  @withdrawal = self.new
168
171
  @withdrawal.options = options
169
- @withdrawal.oauth_token = oauth_token
170
172
 
171
- @withdrawal.call('/withdrawal/create', oauth_token, {
172
- account_id: options[:organization].wepay_account_id,
173
- redirect_uri: options[:redirect_uri],
173
+ @withdrawal.call('/withdrawal/create', @withdrawal.options[:oauth_token], {
174
+ account_id: @withdrawal.options[:account_id],
175
+ redirect_uri: @withdrawal.options[:redirect_uri],
174
176
  mode: 'iframe'
175
177
  })
176
178
  end
@@ -1,3 +1,3 @@
1
1
  module Activewepay
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activewepay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asher Cohen
@@ -67,7 +67,7 @@ files:
67
67
  - activewepay.gemspec
68
68
  - lib/activewepay.rb
69
69
  - lib/activewepay/version.rb
70
- homepage: ''
70
+ homepage: https://github.com/Asherlc/activewepay
71
71
  licenses:
72
72
  - MIT
73
73
  metadata: {}