fat_zebra 3.2.3 → 3.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,109 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://gateway.sandbox.fatzebra.com.au/v1.0/purchases
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"amount":10000,"card_holder":"Matthew Savage","card_number":"5123456789012346","card_expiry":"02/2030","cvv":123,"reference":"558867e5b205ddc58db8c30edf5fb7f9","customer_ip":"1.2.3.4","capture":false,"currency":"AUD","test":true}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Ruby
16
+ Authorization:
17
+ - Basic VEVTVDpURVNU
18
+ Content-Type:
19
+ - application/json
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 08 Jun 2021 23:45:55 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Status:
34
+ - 200 OK
35
+ Cache-Control:
36
+ - no-store
37
+ Strict-Transport-Security:
38
+ - max-age=31536000; includeSubDomains
39
+ - max-age=31536000; includeSubDomains
40
+ X-Request-Version:
41
+ - 1.21.8
42
+ Pragma:
43
+ - no-cache
44
+ X-Request-Id:
45
+ - 222f16437f6e911726a3586d
46
+ X-Runtime:
47
+ - '0.118003'
48
+ X-Backend:
49
+ - gateway
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"successful":true,"response":{"authorization":"332706","id":"071-P-V9MKMHAL","card_number":"512345XXXXXX2346","card_holder":"Matthew
53
+ Savage","card_expiry":"2030-02-28","card_token":"ca9op0w3dybutwcfsc8i","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","amount":10000,"decimal_amount":100.0,"successful":true,"message":"Approved","reference":"558867e5b205ddc58db8c30edf5fb7f9","currency":"AUD","transaction_id":"071-P-V9MKMHAL","settlement_date":null,"transaction_date":"2021-06-09T09:45:55+10:00","response_code":"00","captured":false,"captured_amount":0,"rrn":"071PV9MKMHAL","cvv_match":"M","metadata":{"authorization_tracking_id":"","card_sequence_number":"","sca_exemption":"","scheme_token_used":"false","original_transaction_reference":""},"addendum_data":{}},"errors":[],"test":true}'
54
+ http_version:
55
+ recorded_at: Tue, 08 Jun 2021 23:45:55 GMT
56
+ - request:
57
+ method: put
58
+ uri: https://gateway.sandbox.fatzebra.com.au/v1.0/purchases/071-P-V9MKMHAL
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"amount":10200,"test":true}'
62
+ headers:
63
+ Accept-Encoding:
64
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
65
+ Accept:
66
+ - application/json
67
+ User-Agent:
68
+ - Ruby
69
+ Authorization:
70
+ - Basic VEVTVDpURVNU
71
+ Content-Type:
72
+ - application/json
73
+ response:
74
+ status:
75
+ code: 200
76
+ message: OK
77
+ headers:
78
+ Date:
79
+ - Tue, 08 Jun 2021 23:45:55 GMT
80
+ Content-Type:
81
+ - application/json; charset=utf-8
82
+ Transfer-Encoding:
83
+ - chunked
84
+ Connection:
85
+ - keep-alive
86
+ Status:
87
+ - 200 OK
88
+ Cache-Control:
89
+ - no-store
90
+ Strict-Transport-Security:
91
+ - max-age=31536000; includeSubDomains
92
+ - max-age=31536000; includeSubDomains
93
+ X-Request-Version:
94
+ - 1.21.8
95
+ Pragma:
96
+ - no-cache
97
+ X-Request-Id:
98
+ - 6f5813c4661a0151133fe49d
99
+ X-Runtime:
100
+ - '0.045495'
101
+ X-Backend:
102
+ - gateway
103
+ body:
104
+ encoding: UTF-8
105
+ string: '{"successful":true,"response":{"authorization":"332706","id":"071-P-V9MKMHAL","card_number":"512345XXXXXX2346","card_holder":"Matthew
106
+ Savage","card_expiry":"2030-02-28","card_token":"ca9op0w3dybutwcfsc8i","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","amount":10200,"decimal_amount":102.0,"successful":true,"message":"Approved","reference":"558867e5b205ddc58db8c30edf5fb7f9","currency":"AUD","transaction_id":"071-P-V9MKMHAL","settlement_date":null,"transaction_date":"2021-06-09T09:45:55+10:00","response_code":"00","captured":false,"captured_amount":0,"rrn":"071PV9MKMHAL","cvv_match":"M","metadata":{"sca_exemption":"","scheme_token_used":"false","card_sequence_number":"","authorization_tracking_id":"","original_transaction_reference":"","original_amount":"10000"},"addendum_data":{}},"errors":[],"test":true}'
107
+ http_version:
108
+ recorded_at: Tue, 08 Jun 2021 23:45:55 GMT
109
+ recorded_with: VCR 3.0.3
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe FatZebra::PaymentPlan do
4
4
  let(:customer) { FatZebra::Customer.create(customer_valid_payload) }
5
5
 
6
- let(:payment_plan_valid_payload) {{
6
+ let(:valid_instalment_payload) {{
7
7
  payment_method: 'Credit Card',
8
8
  customer: customer.id,
9
9
  reference: SecureRandom.hex,
@@ -16,22 +16,45 @@ describe FatZebra::PaymentPlan do
16
16
  total_amount: 500
17
17
  }}
18
18
 
19
+ let(:valid_subscription_payload) {{
20
+ payment_method: 'Credit Card',
21
+ customer: customer.id,
22
+ reference: SecureRandom.hex,
23
+ setup_fee: 0,
24
+ amount: 100,
25
+ start_date: (Date.today + 90).strftime('%Y-%m-%d'),
26
+ end_date: (Date.today + 180).strftime('%Y-%m-%d'),
27
+ frequency: 'Weekly',
28
+ anniversary: 5,
29
+ }}
30
+
31
+
19
32
  describe '.create', :vcr do
20
- subject(:payment_plan) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
33
+ subject(:payment_plan) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
21
34
 
22
35
  it { is_expected.to be_accepted }
23
36
  it { expect(payment_plan.id).to_not be_empty }
24
37
  it { expect(payment_plan.payments.count).to eq(5) }
25
38
 
39
+ context 'perpetual subscription' do
40
+ subject(:subscription_payload) { FatZebra::PaymentPlan.create(valid_subscription_payload) }
41
+ it { is_expected.to be_accepted }
42
+ it { expect(subscription_payload.id).to_not be_empty }
43
+ it { expect(subscription_payload.payments.count).to eq(12) }
44
+ end
45
+
26
46
  context 'validations' do
27
- let(:payment_plan_valid_payload) {{}}
47
+ let(:valid_instalment_payload) {{}}
28
48
 
29
49
  it { expect { payment_plan }.to raise_error(FatZebra::RequestValidationError) }
50
+
30
51
  end
52
+
53
+
31
54
  end
32
55
 
33
56
  describe '.find', :vcr do
34
- let!(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
57
+ let!(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
35
58
  subject(:payment_plan) { FatZebra::PaymentPlan.find(create.reference) }
36
59
 
37
60
  it { is_expected.to be_accepted }
@@ -40,7 +63,7 @@ describe FatZebra::PaymentPlan do
40
63
  end
41
64
 
42
65
  describe '.update', :vcr do
43
- let(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
66
+ let(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
44
67
 
45
68
  subject(:payment_plan) { FatZebra::PaymentPlan.update(create.id, new_status: 'Suspended') }
46
69
 
@@ -50,7 +73,7 @@ describe FatZebra::PaymentPlan do
50
73
  end
51
74
 
52
75
  context '#update', :vcr do
53
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
76
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
54
77
  before { payment_plan.save }
55
78
  before { payment_plan.update(new_status: 'Suspended') }
56
79
 
@@ -59,21 +82,21 @@ describe FatZebra::PaymentPlan do
59
82
  end
60
83
 
61
84
  describe '.delete', :vcr do
62
- let(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
85
+ let(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
63
86
  subject(:payment_plan) { FatZebra::PaymentPlan.delete(create.id) }
64
87
 
65
88
  it { is_expected.to be_accepted }
66
89
  end
67
90
 
68
91
  describe '#destroy', :vcr do
69
- let(:payment_plan) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
92
+ let(:payment_plan) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
70
93
  before { payment_plan.destroy }
71
94
 
72
95
  it { expect(payment_plan.status).to eq('Cancelled') }
73
96
  end
74
97
 
75
98
  describe '#suspend!', :vcr do
76
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
99
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
77
100
  before { payment_plan.save }
78
101
  before { payment_plan.suspend! }
79
102
 
@@ -82,7 +105,7 @@ describe FatZebra::PaymentPlan do
82
105
  end
83
106
 
84
107
  describe '#active!', :vcr do
85
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
108
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
86
109
  before { payment_plan.save }
87
110
  before { expect(payment_plan.suspend!.status).to eq('Suspended') }
88
111
  before { payment_plan.active! }
@@ -102,4 +102,22 @@ describe FatZebra::Purchase do
102
102
  it { expect(settlement.data.first).to be_a(FatZebra::Purchase) }
103
103
  end
104
104
 
105
+ describe '#extend!', :vcr do
106
+ let(:purchase) { FatZebra::Purchase.create(valid_purchase_payload.merge(capture: false)) }
107
+ subject(:extend) { purchase.extend! }
108
+
109
+ it { is_expected.to be_accepted }
110
+ it { is_expected.to be_successful }
111
+ it { expect(extend).to be_a(FatZebra::Purchase) }
112
+ end
113
+
114
+ describe '#increment', :vcr do
115
+ let(:purchase) { FatZebra::Purchase.create(valid_purchase_payload.merge(capture: false)) }
116
+ subject(:increment) { purchase.increment!(200) }
117
+
118
+ it { is_expected.to be_accepted }
119
+ it { is_expected.to be_successful }
120
+ it { expect(increment).to be_a(FatZebra::Purchase) }
121
+ it { expect(increment.amount).to eq(valid_purchase_payload[:amount] + 200) }
122
+ end
105
123
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fat_zebra
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fat Zebra
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-04 00:00:00.000000000 Z
11
+ date: 2022-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -234,6 +234,9 @@ files:
234
234
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml
235
235
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml
236
236
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml
237
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_1.yml
238
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_2.yml
239
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_3.yml
237
240
  - spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml
238
241
  - spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml
239
242
  - spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml
@@ -278,10 +281,17 @@ files:
278
281
  - spec/cassettes/FatZebra_Purchase/_create/1_1_9.yml
279
282
  - spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_1.yml
280
283
  - spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_2.yml
284
+ - spec/cassettes/FatZebra_Purchase/_extend_/1_9_1.yml
285
+ - spec/cassettes/FatZebra_Purchase/_extend_/1_9_2.yml
286
+ - spec/cassettes/FatZebra_Purchase/_extend_/1_9_3.yml
281
287
  - spec/cassettes/FatZebra_Purchase/_find/1_2_1.yml
282
288
  - spec/cassettes/FatZebra_Purchase/_find/1_2_2.yml
283
289
  - spec/cassettes/FatZebra_Purchase/_find/1_2_3.yml
284
290
  - spec/cassettes/FatZebra_Purchase/_find/1_2_4.yml
291
+ - spec/cassettes/FatZebra_Purchase/_increment/1_10_1.yml
292
+ - spec/cassettes/FatZebra_Purchase/_increment/1_10_2.yml
293
+ - spec/cassettes/FatZebra_Purchase/_increment/1_10_3.yml
294
+ - spec/cassettes/FatZebra_Purchase/_increment/1_10_4.yml
285
295
  - spec/cassettes/FatZebra_Purchase/_refund/1_4_1.yml
286
296
  - spec/cassettes/FatZebra_Purchase/_refund/1_4_2.yml
287
297
  - spec/cassettes/FatZebra_Purchase/_refund/1_4_3.yml
@@ -355,7 +365,7 @@ files:
355
365
  homepage: ''
356
366
  licenses: []
357
367
  metadata: {}
358
- post_install_message:
368
+ post_install_message:
359
369
  rdoc_options: []
360
370
  require_paths:
361
371
  - lib
@@ -370,8 +380,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
370
380
  - !ruby/object:Gem::Version
371
381
  version: '0'
372
382
  requirements: []
373
- rubygems_version: 3.1.2
374
- signing_key:
383
+ rubygems_version: 3.1.6
384
+ signing_key:
375
385
  specification_version: 4
376
386
  summary: Fat Zebra payments gem - integrate your ruby app with Fat Zebra
377
387
  test_files: []