pay 1.0.0.beta4 → 1.0.0.beta5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pay might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/pay/braintree.rb +28 -3
- data/lib/pay/env.rb +35 -0
- data/lib/pay/stripe.rb +20 -3
- data/lib/pay/stripe/webhooks.rb +0 -6
- data/lib/pay/version.rb +1 -1
- metadata +3 -4
- data/lib/pay/braintree/api.rb +0 -30
- data/lib/pay/stripe/api.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bff729474d018c2cff20005da118f397da764871afb0f15b15b8a589a7126ce4
|
4
|
+
data.tar.gz: 9805c0129c0682a688d5a1f17e7605168505e04fb74710ad055a5ace9ac7b1f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee9881e420e5bd374effc080faf624603cff7cec5bcbccf49ed234ccc441969fea8e6fa3736a59430b4e7dd7332bc327d18ab0a9206d2af46418c434bf655c6b
|
7
|
+
data.tar.gz: 16eac44178c8a355bf3c93657c760c2383fdb44d1ad2a9f0ceca61b155911d255621d5d6eeb84e240b19338a49937442d9f96d1dcdf807e8ae7ab25bce63b8b7
|
data/lib/pay/braintree.rb
CHANGED
@@ -1,16 +1,41 @@
|
|
1
|
-
require 'pay/
|
1
|
+
require 'pay/env'
|
2
2
|
require 'pay/braintree/billable'
|
3
3
|
require 'pay/braintree/charge'
|
4
4
|
require 'pay/braintree/subscription'
|
5
5
|
|
6
6
|
module Pay
|
7
7
|
module Braintree
|
8
|
-
|
9
|
-
|
8
|
+
include Env
|
9
|
+
|
10
|
+
extend self
|
11
|
+
|
12
|
+
def setup
|
13
|
+
Pay.braintree_gateway = ::Braintree::Gateway.new(
|
14
|
+
environment: environment.to_sym,
|
15
|
+
merchant_id: merchant_id,
|
16
|
+
public_key: public_key,
|
17
|
+
private_key: private_key
|
18
|
+
)
|
10
19
|
|
11
20
|
Pay.charge_model.include Pay::Braintree::Charge
|
12
21
|
Pay.subscription_model.include Pay::Braintree::Subscription
|
13
22
|
Pay.user_model.include Pay::Braintree::Billable
|
14
23
|
end
|
24
|
+
|
25
|
+
def public_key
|
26
|
+
find_value_by_name(:braintree, :public_key)
|
27
|
+
end
|
28
|
+
|
29
|
+
def private_key
|
30
|
+
find_value_by_name(:braintree, :private_key)
|
31
|
+
end
|
32
|
+
|
33
|
+
def merchant_id
|
34
|
+
find_value_by_name(:braintree, :merchant_id)
|
35
|
+
end
|
36
|
+
|
37
|
+
def environment
|
38
|
+
find_value_by_name(:braintree, :environment) || 'sandbox'
|
39
|
+
end
|
15
40
|
end
|
16
41
|
end
|
data/lib/pay/env.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Pay
|
2
|
+
module Env
|
3
|
+
|
4
|
+
private
|
5
|
+
|
6
|
+
# Search for environment variables
|
7
|
+
#
|
8
|
+
# We must handle a lot of different cases, including the new Rails 6
|
9
|
+
# environment separated credentials files which have no nesting for
|
10
|
+
# the current environment.
|
11
|
+
#
|
12
|
+
# 1. Check environment variable
|
13
|
+
# 2. Check environment scoped credentials, then secrets
|
14
|
+
# 3. Check unscoped credentials, then secrets
|
15
|
+
def find_value_by_name(scope, name)
|
16
|
+
ENV["#{scope.upcase}_#{name.upcase}"] ||
|
17
|
+
credentials.dig(env, scope, name) ||
|
18
|
+
secrets.dig(env, scope, name) ||
|
19
|
+
credentials.dig(scope, name) ||
|
20
|
+
secrets.dig(scope, name)
|
21
|
+
end
|
22
|
+
|
23
|
+
def env
|
24
|
+
Rails.env.to_sym
|
25
|
+
end
|
26
|
+
|
27
|
+
def secrets
|
28
|
+
Rails.application.secrets
|
29
|
+
end
|
30
|
+
|
31
|
+
def credentials
|
32
|
+
Rails.application.credentials
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/pay/stripe.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'pay/
|
1
|
+
require 'pay/env'
|
2
2
|
require 'pay/stripe/billable'
|
3
3
|
require 'pay/stripe/charge'
|
4
4
|
require 'pay/stripe/subscription'
|
@@ -6,12 +6,29 @@ require 'pay/stripe/webhooks'
|
|
6
6
|
|
7
7
|
module Pay
|
8
8
|
module Stripe
|
9
|
-
|
10
|
-
|
9
|
+
include Env
|
10
|
+
|
11
|
+
extend self
|
12
|
+
|
13
|
+
def setup
|
14
|
+
::Stripe.api_key = private_key
|
15
|
+
::StripeEvent.signing_secret = signing_secret
|
11
16
|
|
12
17
|
Pay.charge_model.include Pay::Stripe::Charge
|
13
18
|
Pay.subscription_model.include Pay::Stripe::Subscription
|
14
19
|
Pay.user_model.include Pay::Stripe::Billable
|
15
20
|
end
|
21
|
+
|
22
|
+
def public_key
|
23
|
+
find_value_by_name(:stripe, :public_key)
|
24
|
+
end
|
25
|
+
|
26
|
+
def private_key
|
27
|
+
find_value_by_name(:stripe, :private_key)
|
28
|
+
end
|
29
|
+
|
30
|
+
def signing_secret
|
31
|
+
find_value_by_name(:stripe, :signing_secret)
|
32
|
+
end
|
16
33
|
end
|
17
34
|
end
|
data/lib/pay/stripe/webhooks.rb
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'stripe_event'
|
2
2
|
Dir[File.join(__dir__, 'webhooks', '**', '*.rb')].each { |file| require file }
|
3
3
|
|
4
|
-
env = Rails.env.to_sym
|
5
|
-
secrets = Rails.application.secrets
|
6
|
-
credentials = Rails.application.credentials
|
7
|
-
|
8
|
-
StripeEvent.signing_secret = ENV["STRIPE_SIGNING_SECRET"] || secrets.dig(env, :stripe, :signing_secret) || credentials.dig(env, :stripe, :signing_secret)
|
9
|
-
|
10
4
|
StripeEvent.configure do |events|
|
11
5
|
# Listen to the charge event to make sure we get non-subscription
|
12
6
|
# purchases as well. Invoice is only for subscriptions and manual creation
|
data/lib/pay/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Charnes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -242,14 +242,13 @@ files:
|
|
242
242
|
- lib/pay/billable.rb
|
243
243
|
- lib/pay/billable/sync_email.rb
|
244
244
|
- lib/pay/braintree.rb
|
245
|
-
- lib/pay/braintree/api.rb
|
246
245
|
- lib/pay/braintree/billable.rb
|
247
246
|
- lib/pay/braintree/charge.rb
|
248
247
|
- lib/pay/braintree/subscription.rb
|
249
248
|
- lib/pay/engine.rb
|
249
|
+
- lib/pay/env.rb
|
250
250
|
- lib/pay/receipts.rb
|
251
251
|
- lib/pay/stripe.rb
|
252
|
-
- lib/pay/stripe/api.rb
|
253
252
|
- lib/pay/stripe/billable.rb
|
254
253
|
- lib/pay/stripe/charge.rb
|
255
254
|
- lib/pay/stripe/subscription.rb
|
data/lib/pay/braintree/api.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
module Pay
|
2
|
-
module Braintree
|
3
|
-
module Api
|
4
|
-
def self.set_api_keys
|
5
|
-
environment = get_key_for(:environment, 'sandbox')
|
6
|
-
merchant_id = get_key_for(:merchant_id)
|
7
|
-
public_key = get_key_for(:public_key)
|
8
|
-
private_key = get_key_for(:private_key)
|
9
|
-
|
10
|
-
Pay.braintree_gateway = ::Braintree::Gateway.new(
|
11
|
-
environment: environment.to_sym,
|
12
|
-
merchant_id: merchant_id,
|
13
|
-
public_key: public_key,
|
14
|
-
private_key: private_key
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.get_key_for(name, default = '')
|
19
|
-
env = Rails.env.to_sym
|
20
|
-
secrets = Rails.application.secrets
|
21
|
-
credentials = Rails.application.credentials
|
22
|
-
|
23
|
-
ENV["BRAINTREE_#{name.upcase}"] ||
|
24
|
-
secrets.dig(env, :braintree, name) ||
|
25
|
-
credentials.dig(env, :braintree, name) ||
|
26
|
-
default
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
data/lib/pay/stripe/api.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
module Pay
|
2
|
-
module Stripe
|
3
|
-
module Api
|
4
|
-
def self.set_api_keys
|
5
|
-
env = Rails.env.to_sym
|
6
|
-
secrets = Rails.application.secrets
|
7
|
-
credentials = Rails.application.credentials
|
8
|
-
|
9
|
-
::Stripe.api_key = ENV["STRIPE_PRIVATE_KEY"] || secrets.dig(env, :stripe, :private_key) || credentials.dig(env, :stripe, :private_key)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|