ianfleeton-paypal-express 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +22 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +11 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE +20 -0
  8. data/README.rdoc +43 -0
  9. data/Rakefile +19 -0
  10. data/VERSION +1 -0
  11. data/ianfleeton-paypal-express.gemspec +24 -0
  12. data/lib/paypal.rb +86 -0
  13. data/lib/paypal/base.rb +19 -0
  14. data/lib/paypal/exception.rb +4 -0
  15. data/lib/paypal/exception/api_error.rb +94 -0
  16. data/lib/paypal/exception/http_error.rb +12 -0
  17. data/lib/paypal/express.rb +1 -0
  18. data/lib/paypal/express/request.rb +186 -0
  19. data/lib/paypal/express/response.rb +35 -0
  20. data/lib/paypal/ipn.rb +23 -0
  21. data/lib/paypal/nvp/request.rb +66 -0
  22. data/lib/paypal/nvp/response.rb +237 -0
  23. data/lib/paypal/payment/common/amount.rb +13 -0
  24. data/lib/paypal/payment/recurring.rb +43 -0
  25. data/lib/paypal/payment/recurring/activation.rb +14 -0
  26. data/lib/paypal/payment/recurring/billing.rb +39 -0
  27. data/lib/paypal/payment/recurring/summary.rb +11 -0
  28. data/lib/paypal/payment/request.rb +67 -0
  29. data/lib/paypal/payment/request/item.rb +26 -0
  30. data/lib/paypal/payment/response.rb +75 -0
  31. data/lib/paypal/payment/response/address.rb +7 -0
  32. data/lib/paypal/payment/response/info.rb +45 -0
  33. data/lib/paypal/payment/response/item.rb +41 -0
  34. data/lib/paypal/payment/response/payee_info.rb +7 -0
  35. data/lib/paypal/payment/response/payer.rb +7 -0
  36. data/lib/paypal/payment/response/reference.rb +23 -0
  37. data/lib/paypal/payment/response/refund.rb +17 -0
  38. data/lib/paypal/payment/response/refund_info.rb +7 -0
  39. data/lib/paypal/util.rb +27 -0
  40. data/spec/fake_response/BillAgreementUpdate/fetch.txt +1 -0
  41. data/spec/fake_response/BillAgreementUpdate/revoke.txt +1 -0
  42. data/spec/fake_response/CreateBillingAgreement/success.txt +1 -0
  43. data/spec/fake_response/CreateRecurringPaymentsProfile/failure.txt +1 -0
  44. data/spec/fake_response/CreateRecurringPaymentsProfile/success.txt +1 -0
  45. data/spec/fake_response/DoCapture/failure.txt +1 -0
  46. data/spec/fake_response/DoCapture/success.txt +1 -0
  47. data/spec/fake_response/DoExpressCheckoutPayment/failure.txt +1 -0
  48. data/spec/fake_response/DoExpressCheckoutPayment/success.txt +1 -0
  49. data/spec/fake_response/DoExpressCheckoutPayment/success_with_billing_agreement.txt +1 -0
  50. data/spec/fake_response/DoExpressCheckoutPayment/success_with_many_items.txt +1 -0
  51. data/spec/fake_response/DoReferenceTransaction/failure.txt +1 -0
  52. data/spec/fake_response/DoReferenceTransaction/success.txt +1 -0
  53. data/spec/fake_response/DoVoid/success.txt +1 -0
  54. data/spec/fake_response/GetExpressCheckoutDetails/failure.txt +1 -0
  55. data/spec/fake_response/GetExpressCheckoutDetails/success.txt +1 -0
  56. data/spec/fake_response/GetExpressCheckoutDetails/with_billing_accepted_status.txt +1 -0
  57. data/spec/fake_response/GetRecurringPaymentsProfileDetails/failure.txt +1 -0
  58. data/spec/fake_response/GetRecurringPaymentsProfileDetails/success.txt +1 -0
  59. data/spec/fake_response/GetTransactionDetails/failure.txt +1 -0
  60. data/spec/fake_response/GetTransactionDetails/success.txt +1 -0
  61. data/spec/fake_response/IPN/invalid.txt +1 -0
  62. data/spec/fake_response/IPN/valid.txt +1 -0
  63. data/spec/fake_response/ManageRecurringPaymentsProfileStatus/failure.txt +1 -0
  64. data/spec/fake_response/ManageRecurringPaymentsProfileStatus/success.txt +1 -0
  65. data/spec/fake_response/RefundTransaction/full.txt +1 -0
  66. data/spec/fake_response/SetExpressCheckout/failure.txt +1 -0
  67. data/spec/fake_response/SetExpressCheckout/success.txt +1 -0
  68. data/spec/helpers/fake_response_helper.rb +29 -0
  69. data/spec/paypal/exception/api_error_spec.rb +105 -0
  70. data/spec/paypal/exception/http_error_spec.rb +20 -0
  71. data/spec/paypal/express/request_spec.rb +578 -0
  72. data/spec/paypal/express/response_spec.rb +89 -0
  73. data/spec/paypal/ipn_spec.rb +19 -0
  74. data/spec/paypal/nvp/request_spec.rb +113 -0
  75. data/spec/paypal/nvp/response_spec.rb +175 -0
  76. data/spec/paypal/payment/common/amount_spec.rb +36 -0
  77. data/spec/paypal/payment/recurring/activation_spec.rb +19 -0
  78. data/spec/paypal/payment/recurring_spec.rb +170 -0
  79. data/spec/paypal/payment/request/item_spec.rb +27 -0
  80. data/spec/paypal/payment/request_spec.rb +136 -0
  81. data/spec/paypal/payment/response/address_spec.rb +26 -0
  82. data/spec/paypal/payment/response/info_spec.rb +93 -0
  83. data/spec/paypal/payment/response/item_spec.rb +78 -0
  84. data/spec/paypal/payment/response/payee_info_spec.rb +24 -0
  85. data/spec/paypal/payment/response/payer_spec.rb +26 -0
  86. data/spec/paypal/payment/response/reference_info_spec.rb +36 -0
  87. data/spec/paypal/payment/response/refund_info_spec.rb +18 -0
  88. data/spec/paypal/payment/response/refund_spec.rb +28 -0
  89. data/spec/paypal/payment/response_spec.rb +29 -0
  90. data/spec/paypal/util_spec.rb +32 -0
  91. data/spec/spec_helper.rb +25 -0
  92. metadata +319 -0
@@ -0,0 +1,78 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::Info do
4
+ let :attributes do
5
+ {
6
+ :NAME => 'Item Name',
7
+ :DESC => 'Item Description',
8
+ :QTY => '1',
9
+ :NUMBER => '1',
10
+ :ITEMCATEGORY => 'Digital',
11
+ :ITEMWIDTHVALUE => '1.0',
12
+ :ITEMHEIGHTVALUE => '2.0',
13
+ :ITEMLENGTHVALUE => '3.0',
14
+ :ITEMWEIGHTVALUE => '4.0'
15
+ }
16
+ end
17
+
18
+ describe '.new' do
19
+ subject { Paypal::Payment::Response::Item.new(attributes) }
20
+
21
+ describe '#name' do
22
+ subject { super().name }
23
+ it { is_expected.to eq('Item Name') }
24
+ end
25
+
26
+ describe '#description' do
27
+ subject { super().description }
28
+ it { is_expected.to eq('Item Description') }
29
+ end
30
+
31
+ describe '#quantity' do
32
+ subject { super().quantity }
33
+ it { is_expected.to eq(1) }
34
+ end
35
+
36
+ describe '#category' do
37
+ subject { super().category }
38
+ it { is_expected.to eq('Digital') }
39
+ end
40
+
41
+ describe '#width' do
42
+ subject { super().width }
43
+ it { is_expected.to eq('1.0') }
44
+ end
45
+
46
+ describe '#height' do
47
+ subject { super().height }
48
+ it { is_expected.to eq('2.0') }
49
+ end
50
+
51
+ describe '#length' do
52
+ subject { super().length }
53
+ it { is_expected.to eq('3.0') }
54
+ end
55
+
56
+ describe '#weight' do
57
+ subject { super().weight }
58
+ it { is_expected.to eq('4.0') }
59
+ end
60
+
61
+ describe '#number' do
62
+ subject { super().number }
63
+ it { is_expected.to eq('1') }
64
+ end
65
+
66
+ context 'when non-supported attributes are given' do
67
+ it 'should ignore them and warn' do
68
+ _attr_ = attributes.merge(
69
+ :ignored => 'Ignore me!'
70
+ )
71
+ expect(Paypal.logger).to receive(:warn).with(
72
+ "Ignored Parameter (Paypal::Payment::Response::Item): ignored=Ignore me!"
73
+ )
74
+ Paypal::Payment::Response::Item.new _attr_
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::PayeeInfo do
4
+ let :attributes do
5
+ {
6
+ payee_email: 'payee@example.org',
7
+ payee_id: '0123456789ABCDEFG'
8
+ }
9
+ end
10
+
11
+ describe '.new' do
12
+ subject { Paypal::Payment::Response::PayeeInfo.new(attributes) }
13
+
14
+ describe '#payee_email' do
15
+ subject { super().payee_email }
16
+ it { is_expected.to eq 'payee@example.org' }
17
+ end
18
+
19
+ describe '#payee_id' do
20
+ subject { super().payee_id }
21
+ it { is_expected.to eq '0123456789ABCDEFG' }
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::Payer do
4
+ let :keys do
5
+ Paypal::Payment::Response::Payer.optional_attributes
6
+ end
7
+
8
+ describe '.new' do
9
+ it 'should allow nil for attributes' do
10
+ payer = Paypal::Payment::Response::Payer.new
11
+ keys.each do |key|
12
+ expect(payer.send(key)).to be_nil
13
+ end
14
+ end
15
+
16
+ it 'should treat all attributes as String' do
17
+ attributes = keys.inject({}) do |attributes, key|
18
+ attributes.merge!(key => "xyz")
19
+ end
20
+ payer = Paypal::Payment::Response::Payer.new attributes
21
+ keys.each do |key|
22
+ expect(payer.send(key)).to eq("xyz")
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::Reference do
4
+ let :attributes do
5
+ {
6
+ identifier: 'B-8XW15926RT2253736',
7
+ payee_email: 'payee@example.org',
8
+ payee_id: '0123456789ABCDEFG'
9
+ }
10
+ end
11
+
12
+ describe '.new' do
13
+ subject { Paypal::Payment::Response::Reference.new(attributes) }
14
+
15
+ describe '#identifier' do
16
+ subject { super().identifier }
17
+ it { is_expected.to eq 'B-8XW15926RT2253736' }
18
+ end
19
+
20
+ context 'when no payee info' do
21
+ let(:attributes) { { identifier: 'id' } }
22
+ it 'does not populate payee_info' do
23
+ expect(subject.payee_info).to be_nil
24
+ end
25
+ end
26
+
27
+ it 'stores payee information in payee_info' do
28
+ payee_info = double(Paypal::Payment::Response::PayeeInfo)
29
+ expect(Paypal::Payment::Response::PayeeInfo)
30
+ .to receive(:new)
31
+ .with(payee_email: 'payee@example.org', payee_id: '0123456789ABCDEFG')
32
+ .and_return(payee_info)
33
+ expect(subject.payee_info).to eq payee_info
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::RefundInfo do
4
+ let :attributes do
5
+ {
6
+ refund_status: 'Instant'
7
+ }
8
+ end
9
+
10
+ describe '.new' do
11
+ subject { Paypal::Payment::Response::RefundInfo.new(attributes) }
12
+
13
+ describe '#refund_status' do
14
+ subject { super().refund_status }
15
+ it { is_expected.to eq 'Instant' }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response::Refund do
4
+ let :attributes do
5
+ {
6
+ transaction_id: '0000000000000000L',
7
+ refund_status: 'Instant'
8
+ }
9
+ end
10
+
11
+ describe '.new' do
12
+ subject { Paypal::Payment::Response::Refund.new(attributes) }
13
+
14
+ describe '#transaction_id' do
15
+ subject { super().transaction_id }
16
+ it { is_expected.to eq '0000000000000000L' }
17
+ end
18
+
19
+ it 'stores refund information in info' do
20
+ info = double(Paypal::Payment::Response::RefundInfo)
21
+ expect(Paypal::Payment::Response::RefundInfo)
22
+ .to receive(:new)
23
+ .with(refund_status: 'Instant')
24
+ .and_return(info)
25
+ expect(subject.info).to eq info
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Payment::Response do
4
+ describe '.new' do
5
+ let :attributes do
6
+ {
7
+ CUSTOM: 'custom'
8
+ }
9
+ end
10
+
11
+ subject { Paypal::Payment::Response.new(attributes) }
12
+
13
+ describe '#custom' do
14
+ subject { super().custom }
15
+ it { is_expected.to eq 'custom' }
16
+ end
17
+
18
+ context 'when non-supported attributes are given' do
19
+ it 'should ignore them and warn' do
20
+ expect(Paypal.logger).to receive(:warn).with(
21
+ "Ignored Parameter (Paypal::Payment::Response): ignored=Ignore me!"
22
+ )
23
+ response = Paypal::Payment::Response.new(
24
+ :ignored => 'Ignore me!'
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper.rb'
2
+
3
+ describe Paypal::Util do
4
+ describe '.formatted_amount' do
5
+ it 'should return String in "xx.yy" format' do
6
+ expect(Paypal::Util.formatted_amount(nil)).to eq('0.00')
7
+ expect(Paypal::Util.formatted_amount(10)).to eq('10.00')
8
+ expect(Paypal::Util.formatted_amount(10.02)).to eq('10.02')
9
+ expect(Paypal::Util.formatted_amount(10.2)).to eq('10.20')
10
+ expect(Paypal::Util.formatted_amount(10.24)).to eq('10.24')
11
+ expect(Paypal::Util.formatted_amount(10.255)).to eq('10.25')
12
+ end
13
+ end
14
+
15
+ describe '.to_numeric' do
16
+ it 'should return Numeric' do
17
+ expect(Paypal::Util.to_numeric('10')).to be_kind_of(Integer)
18
+ expect(Paypal::Util.to_numeric('10.5')).to be_kind_of(Float)
19
+ expect(Paypal::Util.to_numeric('-1.5')).to eq(-1.5)
20
+ expect(Paypal::Util.to_numeric('-1')).to eq(-1)
21
+ expect(Paypal::Util.to_numeric('0')).to eq(0)
22
+ expect(Paypal::Util.to_numeric('0.00')).to eq(0)
23
+ expect(Paypal::Util.to_numeric('10')).to eq(10)
24
+ expect(Paypal::Util.to_numeric('10.00')).to eq(10)
25
+ expect(Paypal::Util.to_numeric('10.02')).to eq(10.02)
26
+ expect(Paypal::Util.to_numeric('10.2')).to eq(10.2)
27
+ expect(Paypal::Util.to_numeric('10.20')).to eq(10.2)
28
+ expect(Paypal::Util.to_numeric('10.24')).to eq(10.24)
29
+ expect(Paypal::Util.to_numeric('10.25')).to eq(10.25)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start do
4
+ add_filter 'spec'
5
+ end
6
+
7
+ require 'paypal'
8
+ require 'rspec'
9
+ require 'helpers/fake_response_helper'
10
+
11
+ RSpec.configure do |config|
12
+ config.before do
13
+ Paypal.logger = double("logger")
14
+ end
15
+ config.after do
16
+ WebMock.reset!
17
+ end
18
+ end
19
+
20
+ def sandbox_mode(&block)
21
+ Paypal.sandbox!
22
+ yield
23
+ ensure
24
+ Paypal.sandbox = false
25
+ end
metadata ADDED
@@ -0,0 +1,319 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ianfleeton-paypal-express
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.2
5
+ platform: ruby
6
+ authors:
7
+ - Ian Fleeton
8
+ - nov matake
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-04-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '2.3'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '6'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '2.3'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '6'
34
+ - !ruby/object:Gem::Dependency
35
+ name: rest-client
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: attr_required
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.0'
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 0.0.5
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '0.0'
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 0.0.5
68
+ - !ruby/object:Gem::Dependency
69
+ name: rake
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '12.0'
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: 12.0.0
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '12.0'
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: 12.0.0
88
+ - !ruby/object:Gem::Dependency
89
+ name: simplecov
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ type: :development
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ - !ruby/object:Gem::Dependency
103
+ name: rspec
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '3.5'
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 3.5.0
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '3.5'
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: 3.5.0
122
+ - !ruby/object:Gem::Dependency
123
+ name: webmock
124
+ requirement: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '3.0'
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 3.0.1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.0'
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: 3.0.1
142
+ description: PayPal Express Checkout API Client for Instance, Recurring and Digital
143
+ Goods Payment.
144
+ email: ianfleeton@gmail.com
145
+ executables: []
146
+ extensions: []
147
+ extra_rdoc_files:
148
+ - LICENSE
149
+ - README.rdoc
150
+ files:
151
+ - ".document"
152
+ - ".gitignore"
153
+ - ".rspec"
154
+ - ".travis.yml"
155
+ - Gemfile
156
+ - LICENSE
157
+ - README.rdoc
158
+ - Rakefile
159
+ - VERSION
160
+ - ianfleeton-paypal-express.gemspec
161
+ - lib/paypal.rb
162
+ - lib/paypal/base.rb
163
+ - lib/paypal/exception.rb
164
+ - lib/paypal/exception/api_error.rb
165
+ - lib/paypal/exception/http_error.rb
166
+ - lib/paypal/express.rb
167
+ - lib/paypal/express/request.rb
168
+ - lib/paypal/express/response.rb
169
+ - lib/paypal/ipn.rb
170
+ - lib/paypal/nvp/request.rb
171
+ - lib/paypal/nvp/response.rb
172
+ - lib/paypal/payment/common/amount.rb
173
+ - lib/paypal/payment/recurring.rb
174
+ - lib/paypal/payment/recurring/activation.rb
175
+ - lib/paypal/payment/recurring/billing.rb
176
+ - lib/paypal/payment/recurring/summary.rb
177
+ - lib/paypal/payment/request.rb
178
+ - lib/paypal/payment/request/item.rb
179
+ - lib/paypal/payment/response.rb
180
+ - lib/paypal/payment/response/address.rb
181
+ - lib/paypal/payment/response/info.rb
182
+ - lib/paypal/payment/response/item.rb
183
+ - lib/paypal/payment/response/payee_info.rb
184
+ - lib/paypal/payment/response/payer.rb
185
+ - lib/paypal/payment/response/reference.rb
186
+ - lib/paypal/payment/response/refund.rb
187
+ - lib/paypal/payment/response/refund_info.rb
188
+ - lib/paypal/util.rb
189
+ - spec/fake_response/BillAgreementUpdate/fetch.txt
190
+ - spec/fake_response/BillAgreementUpdate/revoke.txt
191
+ - spec/fake_response/CreateBillingAgreement/success.txt
192
+ - spec/fake_response/CreateRecurringPaymentsProfile/failure.txt
193
+ - spec/fake_response/CreateRecurringPaymentsProfile/success.txt
194
+ - spec/fake_response/DoCapture/failure.txt
195
+ - spec/fake_response/DoCapture/success.txt
196
+ - spec/fake_response/DoExpressCheckoutPayment/failure.txt
197
+ - spec/fake_response/DoExpressCheckoutPayment/success.txt
198
+ - spec/fake_response/DoExpressCheckoutPayment/success_with_billing_agreement.txt
199
+ - spec/fake_response/DoExpressCheckoutPayment/success_with_many_items.txt
200
+ - spec/fake_response/DoReferenceTransaction/failure.txt
201
+ - spec/fake_response/DoReferenceTransaction/success.txt
202
+ - spec/fake_response/DoVoid/success.txt
203
+ - spec/fake_response/GetExpressCheckoutDetails/failure.txt
204
+ - spec/fake_response/GetExpressCheckoutDetails/success.txt
205
+ - spec/fake_response/GetExpressCheckoutDetails/with_billing_accepted_status.txt
206
+ - spec/fake_response/GetRecurringPaymentsProfileDetails/failure.txt
207
+ - spec/fake_response/GetRecurringPaymentsProfileDetails/success.txt
208
+ - spec/fake_response/GetTransactionDetails/failure.txt
209
+ - spec/fake_response/GetTransactionDetails/success.txt
210
+ - spec/fake_response/IPN/invalid.txt
211
+ - spec/fake_response/IPN/valid.txt
212
+ - spec/fake_response/ManageRecurringPaymentsProfileStatus/failure.txt
213
+ - spec/fake_response/ManageRecurringPaymentsProfileStatus/success.txt
214
+ - spec/fake_response/RefundTransaction/full.txt
215
+ - spec/fake_response/SetExpressCheckout/failure.txt
216
+ - spec/fake_response/SetExpressCheckout/success.txt
217
+ - spec/helpers/fake_response_helper.rb
218
+ - spec/paypal/exception/api_error_spec.rb
219
+ - spec/paypal/exception/http_error_spec.rb
220
+ - spec/paypal/express/request_spec.rb
221
+ - spec/paypal/express/response_spec.rb
222
+ - spec/paypal/ipn_spec.rb
223
+ - spec/paypal/nvp/request_spec.rb
224
+ - spec/paypal/nvp/response_spec.rb
225
+ - spec/paypal/payment/common/amount_spec.rb
226
+ - spec/paypal/payment/recurring/activation_spec.rb
227
+ - spec/paypal/payment/recurring_spec.rb
228
+ - spec/paypal/payment/request/item_spec.rb
229
+ - spec/paypal/payment/request_spec.rb
230
+ - spec/paypal/payment/response/address_spec.rb
231
+ - spec/paypal/payment/response/info_spec.rb
232
+ - spec/paypal/payment/response/item_spec.rb
233
+ - spec/paypal/payment/response/payee_info_spec.rb
234
+ - spec/paypal/payment/response/payer_spec.rb
235
+ - spec/paypal/payment/response/reference_info_spec.rb
236
+ - spec/paypal/payment/response/refund_info_spec.rb
237
+ - spec/paypal/payment/response/refund_spec.rb
238
+ - spec/paypal/payment/response_spec.rb
239
+ - spec/paypal/util_spec.rb
240
+ - spec/spec_helper.rb
241
+ homepage: http://github.com/ianfleeton/paypal-express
242
+ licenses:
243
+ - MIT
244
+ metadata: {}
245
+ post_install_message:
246
+ rdoc_options:
247
+ - "--charset=UTF-8"
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: 1.3.6
260
+ requirements: []
261
+ rubyforge_project:
262
+ rubygems_version: 2.6.11
263
+ signing_key:
264
+ specification_version: 4
265
+ summary: PayPal Express Checkout API Client for Instance, Recurring and Digital Goods
266
+ Payment.
267
+ test_files:
268
+ - spec/fake_response/BillAgreementUpdate/fetch.txt
269
+ - spec/fake_response/BillAgreementUpdate/revoke.txt
270
+ - spec/fake_response/CreateBillingAgreement/success.txt
271
+ - spec/fake_response/CreateRecurringPaymentsProfile/failure.txt
272
+ - spec/fake_response/CreateRecurringPaymentsProfile/success.txt
273
+ - spec/fake_response/DoCapture/failure.txt
274
+ - spec/fake_response/DoCapture/success.txt
275
+ - spec/fake_response/DoExpressCheckoutPayment/failure.txt
276
+ - spec/fake_response/DoExpressCheckoutPayment/success.txt
277
+ - spec/fake_response/DoExpressCheckoutPayment/success_with_billing_agreement.txt
278
+ - spec/fake_response/DoExpressCheckoutPayment/success_with_many_items.txt
279
+ - spec/fake_response/DoReferenceTransaction/failure.txt
280
+ - spec/fake_response/DoReferenceTransaction/success.txt
281
+ - spec/fake_response/DoVoid/success.txt
282
+ - spec/fake_response/GetExpressCheckoutDetails/failure.txt
283
+ - spec/fake_response/GetExpressCheckoutDetails/success.txt
284
+ - spec/fake_response/GetExpressCheckoutDetails/with_billing_accepted_status.txt
285
+ - spec/fake_response/GetRecurringPaymentsProfileDetails/failure.txt
286
+ - spec/fake_response/GetRecurringPaymentsProfileDetails/success.txt
287
+ - spec/fake_response/GetTransactionDetails/failure.txt
288
+ - spec/fake_response/GetTransactionDetails/success.txt
289
+ - spec/fake_response/IPN/invalid.txt
290
+ - spec/fake_response/IPN/valid.txt
291
+ - spec/fake_response/ManageRecurringPaymentsProfileStatus/failure.txt
292
+ - spec/fake_response/ManageRecurringPaymentsProfileStatus/success.txt
293
+ - spec/fake_response/RefundTransaction/full.txt
294
+ - spec/fake_response/SetExpressCheckout/failure.txt
295
+ - spec/fake_response/SetExpressCheckout/success.txt
296
+ - spec/helpers/fake_response_helper.rb
297
+ - spec/paypal/exception/api_error_spec.rb
298
+ - spec/paypal/exception/http_error_spec.rb
299
+ - spec/paypal/express/request_spec.rb
300
+ - spec/paypal/express/response_spec.rb
301
+ - spec/paypal/ipn_spec.rb
302
+ - spec/paypal/nvp/request_spec.rb
303
+ - spec/paypal/nvp/response_spec.rb
304
+ - spec/paypal/payment/common/amount_spec.rb
305
+ - spec/paypal/payment/recurring/activation_spec.rb
306
+ - spec/paypal/payment/recurring_spec.rb
307
+ - spec/paypal/payment/request/item_spec.rb
308
+ - spec/paypal/payment/request_spec.rb
309
+ - spec/paypal/payment/response/address_spec.rb
310
+ - spec/paypal/payment/response/info_spec.rb
311
+ - spec/paypal/payment/response/item_spec.rb
312
+ - spec/paypal/payment/response/payee_info_spec.rb
313
+ - spec/paypal/payment/response/payer_spec.rb
314
+ - spec/paypal/payment/response/reference_info_spec.rb
315
+ - spec/paypal/payment/response/refund_info_spec.rb
316
+ - spec/paypal/payment/response/refund_spec.rb
317
+ - spec/paypal/payment/response_spec.rb
318
+ - spec/paypal/util_spec.rb
319
+ - spec/spec_helper.rb