pin_up 1.3.4 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.4
1
+ 1.4.0
@@ -12,5 +12,8 @@ require 'pin_up/customer'
12
12
  require 'pin_up/recipient'
13
13
  require 'pin_up/refund'
14
14
  require 'pin_up/transfer'
15
+ require 'pin_up/webhook_endpoints'
16
+ require 'pin_up/plan'
17
+ require 'pin_up/subscription'
15
18
 
16
19
  require 'pin_up/pin_errors'
@@ -18,6 +18,12 @@ module Pin
18
18
  case response['error']
19
19
  when 'cannot_delete_primary_card'
20
20
  raise Pin::InvalidResource.new(response, response['error_description'])
21
+ when 'invalid_card'
22
+ raise Pin::InvalidResource.new(response, response['error_description'])
23
+ when 'invalid_state'
24
+ raise Pin::InvalidResource.new(response, response['error_description'])
25
+ when 'invalid_request'
26
+ raise Pin::InvalidResource.new(response, response['error_description'])
21
27
  else
22
28
  raise Pin::ChargeError.new(response)
23
29
  end
@@ -0,0 +1,79 @@
1
+ module Pin
2
+ ##
3
+ # This class models Pins Plans API
4
+ class Plan < Base
5
+ ##
6
+ # Lists all plans for your account
7
+ # args: page (Fixnum), pagination (Boolean)
8
+ # returns: a collection of customer objects
9
+ #
10
+ # if pagination is passed, access the response hash with [:response]
11
+ # and the pagination hash with [:pagination]
12
+ #
13
+ # https://www.pinpayments.com/developers/api-reference/plans
14
+ def self.all(page = nil, pagination = false)
15
+ build_collection_response(make_request(:get, {url: "plans?page=#{page}" } ), pagination)
16
+ end
17
+
18
+ ##
19
+ # Create a plan given plan details
20
+ # args: options (Hash)
21
+ # returns: a plan object
22
+ # https://www.pinpayments.com/developers/api-reference/plans
23
+ def self.create(options = {})
24
+ build_response(make_request(:post, { url: 'plans', options: options }))
25
+ end
26
+
27
+ ##
28
+ # Find a plan for your account given a token
29
+ # args: token (String)
30
+ # returns: a plan object
31
+ # https://www.pinpayments.com/developers/api-reference/plans#get-plan
32
+ def self.find(token)
33
+ build_response(make_request(:get, {url: "plans/#{token}" } ))
34
+ end
35
+
36
+ ##
37
+ # Update a plan given a token
38
+ # args: token (String), options (Hash)
39
+ # returns: a plan object
40
+ # https://www.pinpayments.com/developers/api-reference/plans#put-plan
41
+ def self.update(token, options = {})
42
+ build_response(make_request(:put, { url: "plans/#{token}", options: options }))
43
+ end
44
+
45
+ ##
46
+ # Delete a plan given a token
47
+ # args: token (String)
48
+ # returns: nil
49
+ # https://www.pinpayments.com/developers/api-reference/plans#delete-plan
50
+ def self.delete(token)
51
+ build_response(make_request(:delete, { url: "plans/#{token}" } ))
52
+ end
53
+
54
+ ##
55
+ # List Subscriptions associated with a plan given a token
56
+ # args: token (String)
57
+ # returns: nil
58
+ #
59
+ def self.subscriptions(token, page = nil, pagination = false)
60
+ build_collection_response(make_request(:get, { url: "plans/#{token}/subscriptions" } ), pagination)
61
+ end
62
+
63
+ ##
64
+ # Create a subscription for a plan given a customer_token OR a card_token
65
+ # args: customer_token (String), card (String) see docs.
66
+ # returns: a subscription object
67
+ #
68
+ def self.create_subscription(token, customer_token, card_token = nil)
69
+ options = if card_token
70
+ { customer_token: customer_token,
71
+ card_token: card_token}
72
+ else
73
+ { customer_token: customer_token }
74
+ end
75
+
76
+ build_response(make_request(:post, {url: "plans/#{token}/subscriptions", options: options} ))
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,80 @@
1
+ module Pin
2
+ ##
3
+ # This class models Pins Subscription API
4
+ class Subscription < Base
5
+ ##
6
+ # Lists all subscriptions for your account
7
+ # args: page (Fixnum), pagination (Boolean)
8
+ # returns: a collection of subscription objects
9
+ #
10
+ # if pagination is passed, access the response hash with [:response]
11
+ # and the pagination hash with [:pagination]
12
+ #
13
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#get-subscriptions
14
+ def self.all(page = nil, pagination = false)
15
+ build_collection_response(make_request(:get, { url: "subscriptions?page=#{page}" }), pagination)
16
+ end
17
+
18
+ ##
19
+ # Create a subscription given subscription details
20
+ # args: options (Hash)
21
+ # returns: a subscription object
22
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#post-subscriptions
23
+ def self.create(options = {})
24
+ build_response(make_request(:post, { url: 'subscriptions', options: options }))
25
+ end
26
+
27
+ ##
28
+ # Find a subscription for your account given a token
29
+ # args: token (String)
30
+ # returns: a subscription object
31
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#get-subscription
32
+ def self.find(token)
33
+ build_response(make_request(:get, { url: "subscriptions/#{token}" }))
34
+ end
35
+
36
+ ##
37
+ # Update a subscription for your account given a token
38
+ # and any of: email, card (hash),card_token
39
+ # args: token (String), options (Hash)
40
+ # returns: a subscription object
41
+ # https://pin.net.au/docs/api/subscriptions#put-subscription
42
+ # NB: When providing a card (hash), you need to specify
43
+ # the full list of details.
44
+ def self.update(token, card_token = nil)
45
+ options = unless card_token.empty?
46
+ { card_token: card_token }
47
+ else
48
+ card_token
49
+ end
50
+ build_response(make_request(:put, { url: "subscriptions/#{token}", options: options }))
51
+ end
52
+
53
+ ##
54
+ # Delete (cancel) a subscription given a token
55
+ # args: token (String)
56
+ # returns: nil
57
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#delete-subscription
58
+ def self.delete(token)
59
+ build_response(make_request(:delete, { url: "subscriptions/#{token}" }))
60
+ end
61
+
62
+ ##
63
+ # Reactivate a subscription given a token
64
+ # args: token (String)
65
+ # returns: nil
66
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#reactivate-subscription
67
+ def self.reactivate(token)
68
+ build_response(make_request(:put, { url: "subscriptions/#{token}/reactivate" }))
69
+ end
70
+
71
+ ##
72
+ # Fetch all History for a subscription given a token
73
+ # args: token (String)
74
+ # returns: nil
75
+ # https://www.pinpayments.com/developers/api-reference/subscriptions#history-subscription
76
+ def self.history(token, page = nil, pagination = false)
77
+ build_collection_response(make_request(:get, { url: "subscriptions/#{token}/history?page=#{page}" }), pagination)
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,45 @@
1
+ module Pin
2
+ ##
3
+ # This class models Pin's WebhookEndpoints API
4
+ class WebhookEndpoints < Base
5
+ ##
6
+ # Lists all webhook endpoints for your account
7
+ # args: page (Fixnum), pagination (Boolean)
8
+ # returns: a collection of webhook endpoint objects
9
+ #
10
+ # if pagination is passed, access the response hash with [:response]
11
+ # and the pagination hash with [:pagination]
12
+ #
13
+ # https://pin.net.au/docs/api/webhook_endpoints#get-webhook_endpoints
14
+ def self.all(page = nil, pagination = false)
15
+ build_collection_response(make_request(:get, {url: "webhook_endpoints?page=#{page}" } ), pagination)
16
+ end
17
+
18
+ ##
19
+ # creates a webhook endpoint given a hash of options
20
+ # https://pin.net.au/docs/api/webhook_endpoints
21
+ # args: url (Hash)
22
+ # returns: webhook object
23
+ def self.create(options)
24
+ build_response(make_request(:post, { url: 'webhook_endpoints', options: options }))
25
+ end
26
+
27
+ ##
28
+ # Find a webhook endpoint for your account given a token
29
+ # args: token (String)
30
+ # returns: a webhook endpoint object
31
+ # https://pin.net.au/docs/api/webhook_endpoints#get-webhook_endpoints
32
+ def self.find(token)
33
+ build_response(make_request(:get, {url: "webhook_endpoints/#{token}" } ))
34
+ end
35
+
36
+ ##
37
+ # Delete a webhook endpoint for your account given a token
38
+ # args: token (String)
39
+ # returns: nil
40
+ # https://pin.net.au/docs/api/webhook_endpoints#delete-webhook_endpoints
41
+ def self.delete(token)
42
+ build_response(make_request(:delete, {url: "webhook_endpoints/#{token}" } ))
43
+ end
44
+ end
45
+ end
@@ -2,18 +2,18 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: pin_up 1.3.4 ruby lib
5
+ # stub: pin_up 1.4.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "pin_up"
9
- s.version = "1.3.4"
8
+ s.name = "pin_up".freeze
9
+ s.version = "1.4.0"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Daniel Nitsikopoulos"]
14
- s.date = "2016-08-06"
15
- s.description = "A Ruby gem wrapper for the pin-payments (pin.net.au) API"
16
- s.email = "dnitza@gmail.com"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Daniel Nitsikopoulos".freeze]
14
+ s.date = "2018-06-15"
15
+ s.description = "A Ruby gem wrapper for the pin-payments (pin.net.au) API".freeze
16
+ s.email = "dnitza@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
19
  "README.md"
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.files = [
22
22
  ".document",
23
23
  ".travis.yml",
24
+ "CHANGELOG.md",
24
25
  "Gemfile",
25
26
  "Gemfile.lock",
26
27
  "Guardfile",
@@ -38,9 +39,12 @@ Gem::Specification.new do |s|
38
39
  "lib/pin_up/client.rb",
39
40
  "lib/pin_up/customer.rb",
40
41
  "lib/pin_up/pin_errors.rb",
42
+ "lib/pin_up/plan.rb",
41
43
  "lib/pin_up/recipient.rb",
42
44
  "lib/pin_up/refund.rb",
45
+ "lib/pin_up/subscription.rb",
43
46
  "lib/pin_up/transfer.rb",
47
+ "lib/pin_up/webhook_endpoints.rb",
44
48
  "pin_up.gemspec",
45
49
  "spec/balance_spec.rb",
46
50
  "spec/bank_accounts_spec.rb",
@@ -50,53 +54,53 @@ Gem::Specification.new do |s|
50
54
  "spec/client_spec.rb",
51
55
  "spec/customers_spec.rb",
52
56
  "spec/errors_spec.rb",
57
+ "spec/plan_spec.rb",
53
58
  "spec/recipients_spec.rb",
54
59
  "spec/refund_spec.rb",
55
60
  "spec/spec_helper.rb",
56
- "spec/transfers_spec.rb"
61
+ "spec/subscription_spec.rb",
62
+ "spec/transfers_spec.rb",
63
+ "spec/webhook_endpoints_spec.rb"
57
64
  ]
58
- s.homepage = "http://github.com/dNitza/pin_up"
59
- s.licenses = ["MIT"]
60
- s.rubygems_version = "2.5.1"
61
- s.summary = "A Ruby gem wrapper for the pin-payments API"
65
+ s.homepage = "http://github.com/dNitza/pin_up".freeze
66
+ s.licenses = ["MIT".freeze]
67
+ s.rubygems_version = "2.7.3".freeze
68
+ s.summary = "A Ruby gem wrapper for the pin-payments API".freeze
62
69
 
63
70
  if s.respond_to? :specification_version then
64
71
  s.specification_version = 4
65
72
 
66
73
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
67
- s.add_runtime_dependency(%q<httparty>, [">= 0.11.0"])
68
- s.add_development_dependency(%q<shoulda>, ["~> 3.5"])
69
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
70
- s.add_development_dependency(%q<rspec>, [">= 0"])
71
- s.add_development_dependency(%q<jeweler>, ["~> 2.1.1"])
72
- s.add_development_dependency(%q<simplecov>, ["~> 0.7.1"])
73
- s.add_development_dependency(%q<webmock>, ["~> 1.12.3"])
74
- s.add_development_dependency(%q<vcr>, ["~> 2.5.0"])
75
- s.add_development_dependency(%q<guard-rspec>, [">= 0"])
76
- s.add_development_dependency(%q<terminal-notifier-guard>, ["~> 1.5.3"])
74
+ s.add_runtime_dependency(%q<httparty>.freeze, [">= 0.11.0"])
75
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
76
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
77
+ s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
78
+ s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.7.1"])
79
+ s.add_development_dependency(%q<webmock>.freeze, [">= 0"])
80
+ s.add_development_dependency(%q<vcr>.freeze, [">= 0"])
81
+ s.add_development_dependency(%q<guard-rspec>.freeze, [">= 0"])
82
+ s.add_development_dependency(%q<terminal-notifier-guard>.freeze, ["~> 1.5.3"])
77
83
  else
78
- s.add_dependency(%q<httparty>, [">= 0.11.0"])
79
- s.add_dependency(%q<shoulda>, ["~> 3.5"])
80
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
81
- s.add_dependency(%q<rspec>, [">= 0"])
82
- s.add_dependency(%q<jeweler>, ["~> 2.1.1"])
83
- s.add_dependency(%q<simplecov>, ["~> 0.7.1"])
84
- s.add_dependency(%q<webmock>, ["~> 1.12.3"])
85
- s.add_dependency(%q<vcr>, ["~> 2.5.0"])
86
- s.add_dependency(%q<guard-rspec>, [">= 0"])
87
- s.add_dependency(%q<terminal-notifier-guard>, ["~> 1.5.3"])
84
+ s.add_dependency(%q<httparty>.freeze, [">= 0.11.0"])
85
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
86
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
87
+ s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
88
+ s.add_dependency(%q<simplecov>.freeze, ["~> 0.7.1"])
89
+ s.add_dependency(%q<webmock>.freeze, [">= 0"])
90
+ s.add_dependency(%q<vcr>.freeze, [">= 0"])
91
+ s.add_dependency(%q<guard-rspec>.freeze, [">= 0"])
92
+ s.add_dependency(%q<terminal-notifier-guard>.freeze, ["~> 1.5.3"])
88
93
  end
89
94
  else
90
- s.add_dependency(%q<httparty>, [">= 0.11.0"])
91
- s.add_dependency(%q<shoulda>, ["~> 3.5"])
92
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
93
- s.add_dependency(%q<rspec>, [">= 0"])
94
- s.add_dependency(%q<jeweler>, ["~> 2.1.1"])
95
- s.add_dependency(%q<simplecov>, ["~> 0.7.1"])
96
- s.add_dependency(%q<webmock>, ["~> 1.12.3"])
97
- s.add_dependency(%q<vcr>, ["~> 2.5.0"])
98
- s.add_dependency(%q<guard-rspec>, [">= 0"])
99
- s.add_dependency(%q<terminal-notifier-guard>, ["~> 1.5.3"])
95
+ s.add_dependency(%q<httparty>.freeze, [">= 0.11.0"])
96
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
97
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
98
+ s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
99
+ s.add_dependency(%q<simplecov>.freeze, ["~> 0.7.1"])
100
+ s.add_dependency(%q<webmock>.freeze, [">= 0"])
101
+ s.add_dependency(%q<vcr>.freeze, [">= 0"])
102
+ s.add_dependency(%q<guard-rspec>.freeze, [">= 0"])
103
+ s.add_dependency(%q<terminal-notifier-guard>.freeze, ["~> 1.5.3"])
100
104
  end
101
105
  end
102
106
 
@@ -1,12 +1,24 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe 'Card', :vcr, class: Pin::Card do
4
+ let(:card_1) {
5
+ { number: '5520000000000000',
6
+ expiry_month: '12',
7
+ expiry_year: '2025',
8
+ cvc: '123',
9
+ name: 'Roland Robot',
10
+ address_line1: '123 Fake Street',
11
+ address_city: 'Melbourne',
12
+ address_postcode: '1234',
13
+ address_state: 'Vic',
14
+ address_country: 'Australia' }
15
+ }
16
+
4
17
  before(:each) do
5
18
  Pin::Base.new(ENV['PIN_SECRET'], :test)
6
19
  end
7
20
 
8
21
  it 'should create a card and respond with the card detail from pin' do
9
- options = { number: '5520000000000000', expiry_month: '12', expiry_year: '2018', cvc: '123', name: 'Roland Robot', address_line1: '123 Fake Road', address_line2: '', address_city: 'Melbourne', address_postcode: '1223', address_state: 'Vic', address_country: 'AU' }
10
- expect(Pin::Card.create(options)['token']).to match(/^[a-z]{4}[_]/)
22
+ expect(Pin::Card.create(card_1)['token']).to match(/^[a-z]{4}[_]/)
11
23
  end
12
24
  end
@@ -1,8 +1,58 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'Charge', :vcr, class: Pin::Charges do
4
+ let(:card_1) {
5
+ { number: '5520000000000000',
6
+ expiry_month: '12',
7
+ expiry_year: '2025',
8
+ cvc: '123',
9
+ name: 'Roland Robot',
10
+ address_line1: '123 Fake Street',
11
+ address_city: 'Melbourne',
12
+ address_postcode: '1234',
13
+ address_state: 'Vic',
14
+ address_country: 'Australia' }
15
+ }
16
+
17
+ let(:customer_token) {
18
+ Pin::Customer.create('email@example.com', card_1)['token']
19
+ }
20
+
21
+ let(:charge) {
22
+ Pin::Charges.create(email: 'email@example.com',
23
+ description: 'Charge description',
24
+ amount: '500',
25
+ currency: 'AUD',
26
+ number: '5520000000000000',
27
+ ip_address: '203.192.1.172',
28
+ customer_token: customer_token)
29
+ }
30
+
31
+ let(:charge_hash) {
32
+ { email: 'email@example.com',
33
+ description: 'A new charge from testing Pin gem',
34
+ amount: '400',
35
+ currency: 'AUD',
36
+ ip_address: '127.0.0.1',
37
+ customer_token: customer_token }
38
+ }
39
+
40
+ let(:charge_capture_false) {
41
+ { email: 'email@example.com',
42
+ description: 'A new captured charge from testing Pin gem',
43
+ amount: '400',
44
+ currency: 'AUD',
45
+ ip_address: '127.0.0.1',
46
+ customer_token: customer_token,
47
+ capture: false }
48
+ }
49
+
4
50
  before(:each) do
5
51
  Pin::Base.new(ENV['PIN_SECRET'], :test)
52
+ # Create a customer
53
+ customer_token
54
+ # Create a charge
55
+ charge
6
56
  end
7
57
 
8
58
  it 'should list charges in Pin' do
@@ -14,17 +64,15 @@ describe 'Charge', :vcr, class: Pin::Charges do
14
64
  end
15
65
 
16
66
  it 'should create a charge given details' do
17
- customer = Pin::Customer.create('email@example.com', number: '5520000000000000', expiry_month: '12', expiry_year: Time.now.year+1, cvc: '123', name: 'Roland Robot', address_line1: '123 fake street', address_city: 'Melbourne', address_postcode: '1234', address_state: 'Vic', address_country: 'Australia')
18
- options = { email: 'email@example.com', description: 'A new charge from testing Pin gem', amount: '400', currency: 'AUD', ip_address: '127.0.0.1', customer_token: customer['token'] }
19
- expect(Pin::Charges.create(options)['success']).to eq true
67
+ expect(Pin::Charges.create(charge_hash)['success']).to eq true
20
68
  end
21
69
 
22
70
  it 'should show a charge given a token' do
23
- expect(Pin::Charges.find('ch_YFEgBSs5qTIWggGt72jn7Q')['token']).to match(/^[a-z]{2}[_]/)
71
+ expect(Pin::Charges.find(charge['token'])['token']).to match(/^[a-z]{2}[_]/)
24
72
  end
25
73
 
26
74
  it 'should show a charge given a search term' do
27
- expect(Pin::Charges.search(query: 'A new charge from testing Pin gem', end_date: 'Aug 31, 2016')).to_not eq []
75
+ expect(Pin::Charges.search(query: 'Charge Desc', end_date: 'Aug 31, 2025')).to_not eq []
28
76
  end
29
77
 
30
78
  it 'should return pagination if "pagination" is true' do
@@ -36,23 +84,19 @@ describe 'Charge', :vcr, class: Pin::Charges do
36
84
  end
37
85
 
38
86
  it 'should return pagination for search if "pagination" is true' do
39
- expect(Pin::Charges.search(3, true, query: 'A new charge from testing Pin gem', end_date: 'Aug 31, 2016')[:pagination]['current']).to eq 3
87
+ expect(Pin::Charges.search(3, true, query: 'Charge Desc', end_date: 'Aug 31, 2025')[:pagination]['current']).to eq 3
40
88
  end
41
89
 
42
90
  it 'should list charges for search on a page given a page' do
43
- expect(Pin::Charges.search(1, query: 'A new charge from testing Pin gem', end_date: 'Aug 31, 2016')).to_not eq []
91
+ expect(Pin::Charges.search(1, query: 'Charge Desc', end_date: 'Aug 31, 2025')).to_not eq []
44
92
  end
45
93
 
46
94
  it 'should create a pre-auth (capture a charge)' do
47
- customer = Pin::Customer.create('email@example.com', number: '5520000000000000', expiry_month: '12', expiry_year: Time.now.year+1, cvc: '123', name: 'Roland Robot', address_line1: '123 fake street', address_city: 'Melbourne', address_postcode: '1234', address_state: 'Vic', address_country: 'Australia')
48
- options = { email: 'email@example.com', description: 'A new captured charge from testing Pin gem', amount: '400', currency: 'AUD', ip_address: '127.0.0.1', customer_token: customer['token'], capture: false }
49
- expect(Pin::Charges.create(options)['captured']).to eq false
95
+ expect(Pin::Charges.create(charge_capture_false)['captured']).to eq false
50
96
  end
51
97
 
52
98
  it 'should capture a charge' do
53
- customer = Pin::Customer.create('email@example.com', number: '5520000000000000', expiry_month: '12', expiry_year: Time.now.year+1, cvc: '123', name: 'Roland Robot', address_line1: '123 fake street', address_city: 'Melbourne', address_postcode: '1234', address_state: 'Vic', address_country: 'Australia')
54
- options = { email: 'email@example.com', description: 'A new captured charge from testing Pin gem', amount: '400', currency: 'AUD', ip_address: '127.0.0.1', customer_token: customer['token'], capture: false }
55
- token = Pin::Charges.create(options)['token']
99
+ token = Pin::Charges.create(charge_capture_false)['token']
56
100
  expect(Pin::Charges.capture(token)['success']).to eq true
57
101
  end
58
102
  end