paypal-express 0.2.10 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.10
1
+ 0.3.0
data/lib/paypal.rb CHANGED
@@ -73,6 +73,7 @@ require 'paypal/payment/response'
73
73
  require 'paypal/payment/response/info'
74
74
  require 'paypal/payment/response/item'
75
75
  require 'paypal/payment/response/payer'
76
+ require 'paypal/payment/response/refund'
76
77
  require 'paypal/payment/response/ship_to'
77
78
  require 'paypal/payment/recurring'
78
79
  require 'paypal/payment/recurring/activation'
@@ -1,12 +1,11 @@
1
1
  module Paypal
2
2
  module Express
3
3
  class Request < NVP::Request
4
- attr_required :return_url, :cancel_url
5
4
 
6
- def setup(payment_requests, options = {})
5
+ def setup(payment_requests, return_url, cancel_url, options = {})
7
6
  params = {
8
- :RETURNURL => self.return_url,
9
- :CANCELURL => self.cancel_url
7
+ :RETURNURL => return_url,
8
+ :CANCELURL => cancel_url
10
9
  }
11
10
  if options[:no_shipping]
12
11
  params[:REQCONFIRMSHIPPING] = 0
@@ -53,16 +52,38 @@ module Paypal
53
52
  Response.new response
54
53
  end
55
54
 
56
- def renew!(profile_id, action, note = '')
55
+ def renew!(profile_id, action, options = {})
57
56
  params = {
58
57
  :PROFILEID => profile_id,
59
- :ACTION => action,
60
- :NOTE => note
58
+ :ACTION => action
61
59
  }
60
+ if options[:note]
61
+ params[:NOTE] = options[:note]
62
+ end
62
63
  response = self.request :ManageRecurringPaymentsProfileStatus, params
63
64
  Response.new response
64
65
  end
65
66
 
67
+ def refund!(transaction_id, options = {})
68
+ params = {
69
+ :TRANSACTIONID => transaction_id,
70
+ :REFUNDTYPE => :Full
71
+ }
72
+ if options[:invoice_id]
73
+ params[:INVOICEID] = options[:invoice_id]
74
+ end
75
+ if options[:type]
76
+ params[:REFUNDTYPE] = options[:type]
77
+ params[:AMT] = options[:amount]
78
+ params[:CURRENCYCODE] = options[:currency_code]
79
+ end
80
+ if options[:note]
81
+ params[:NOTE] = options[:note]
82
+ end
83
+ response = self.request :RefundTransaction, params
84
+ Response.new response
85
+ end
86
+
66
87
  end
67
88
  end
68
89
  end
@@ -12,14 +12,14 @@ module Paypal
12
12
  :COUNTRYCODE => :country_code,
13
13
  :CURRENCYCODE => :currency_code,
14
14
  :DESC => :description,
15
+ :NOTIFYURL => :notify_url,
15
16
  :TIMESTAMP => :timestamp,
16
17
  :TOKEN => :token,
17
- :NOTIFYURL => :notify_url,
18
18
  :VERSION => :version
19
19
  }
20
20
  attr_accessor *@@attribute_mapping.values
21
21
  attr_accessor :shipping_options_is_default, :success_page_redirect_requested, :insurance_option_selected
22
- attr_accessor :amount, :description, :ship_to, :payer, :recurring, :payment_responses, :payment_info, :items
22
+ attr_accessor :amount, :description, :ship_to, :payer, :recurring, :payment_responses, :payment_info, :items, :refund
23
23
 
24
24
  def initialize(attributes = {})
25
25
  attrs = attributes.dup
@@ -59,6 +59,17 @@ module Paypal
59
59
  :email => attrs.delete(:EMAIL)
60
60
  )
61
61
  end
62
+ if attrs[:REFUNDTRANSACTIONID]
63
+ @refund = Payment::Response::Refund.new(
64
+ :transaction_id => attrs.delete(:REFUNDTRANSACTIONID),
65
+ :amount => {
66
+ :total => attrs.delete(:TOTALREFUNDEDAMOUNT),
67
+ :fee => attrs.delete(:FEEREFUNDAMT),
68
+ :gross => attrs.delete(:GROSSREFUNDAMT),
69
+ :net => attrs.delete(:NETREFUNDAMT)
70
+ }
71
+ )
72
+ end
62
73
  if attrs[:PROFILEID]
63
74
  @recurring = Payment::Recurring.new(
64
75
  :identifier => attrs.delete(:PROFILEID),
@@ -120,7 +131,7 @@ module Paypal
120
131
  end
121
132
  if prefix
122
133
  payment_responses[index.to_i] ||= {}
123
- payment_responses[index.to_i][key.to_sym] ||= attrs.delete(_attr_)
134
+ payment_responses[index.to_i][key.to_sym] = attrs.delete(_attr_)
124
135
  end
125
136
  end
126
137
  @payment_responses = payment_responses.collect do |_attrs_|
@@ -2,7 +2,7 @@ module Paypal
2
2
  module Payment
3
3
  module Common
4
4
  class Amount < Base
5
- attr_optional :total, :item, :fee, :handing, :insurance, :ship_disc, :shipping, :tax
5
+ attr_optional :total, :item, :fee, :handing, :insurance, :ship_disc, :shipping, :tax, :gross, :net
6
6
 
7
7
  def numeric_attribute?(key)
8
8
  true
@@ -10,4 +10,4 @@ module Paypal
10
10
  end
11
11
  end
12
12
  end
13
- end
13
+ end
@@ -1,7 +1,7 @@
1
1
  module Paypal
2
2
  module Payment
3
3
  class Response < Base
4
- attr_accessor :amount, :ship_to, :description, :note, :items, :notify_url, :insurance_option_offered, :currency_code, :error_code
4
+ attr_accessor :amount, :ship_to, :description, :note, :items, :notify_url, :insurance_option_offered, :currency_code, :error_code, :transaction_id
5
5
 
6
6
  def initialize(attributes = {})
7
7
  attrs = attributes.dup
@@ -30,6 +30,7 @@ module Paypal
30
30
  @insurance_option_offered = attrs.delete(:INSURANCEOPTIONOFFERED) == 'true'
31
31
  @currency_code = attrs.delete(:CURRENCYCODE)
32
32
  @error_code = attrs.delete(:ERRORCODE)
33
+ @transaction_id = attrs.delete(:TRANSACTIONID)
33
34
 
34
35
  # items
35
36
  items = []
@@ -13,9 +13,10 @@ module Paypal
13
13
  :PROTECTIONELIGIBILITY => :protection_eligibility,
14
14
  :PROTECTIONELIGIBILITYTYPE => :protection_eligibility_type,
15
15
  :REASONCODE => :reason_code,
16
+ :RECEIPTID => :receipt_id,
17
+ :SECUREMERCHANTACCOUNTID => :secure_merchant_account_id,
16
18
  :TRANSACTIONID => :transaction_id,
17
19
  :TRANSACTIONTYPE => :transaction_type,
18
- :RECEIPTID => :receipt_id
19
20
  }
20
21
  attr_accessor *@@attribute_mapping.values
21
22
  attr_accessor :amount
@@ -0,0 +1,13 @@
1
+ module Paypal
2
+ module Payment
3
+ class Response::Refund < Base
4
+ attr_optional :transaction_id
5
+ attr_accessor :amount
6
+
7
+ def initialize(attributes = {})
8
+ super
9
+ @amount = Common::Amount.new(attributes[:amount])
10
+ end
11
+ end
12
+ end
13
+ end
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.add_dependency "i18n"
18
18
  s.add_dependency "restclient_with_cert"
19
19
  s.add_dependency "attr_required", ">= 0.0.3"
20
- s.add_development_dependency "rake", ">= 0.8"
20
+ s.add_development_dependency "rake", ">= 0.8", "< 0.9"
21
21
  s.add_development_dependency "rcov", ">= 0.9"
22
22
  s.add_development_dependency "rspec", ">= 2"
23
23
  s.add_development_dependency "fakeweb", ">= 1.3.0"
@@ -0,0 +1 @@
1
+ REFUNDTRANSACTIONID=6D456341FS516215S&FEEREFUNDAMT=0%2e50&GROSSREFUNDAMT=10%2e00&NETREFUNDAMT=9%2e50&CURRENCYCODE=USD&TOTALREFUNDEDAMOUNT=10%2e00&TIMESTAMP=2011%2d05%2d21T14%3a13%3a32Z&CORRELATIONID=862bfc523cca2&ACK=Success&VERSION=72%2e0&BUILD=1882144
@@ -11,13 +11,14 @@ describe Paypal::Express::Request do
11
11
  alias_method_chain :post, :logging
12
12
  end
13
13
 
14
+ let(:return_url) { 'http://example.com/success' }
15
+ let(:cancel_url) { 'http://example.com/cancel' }
16
+ let(:nvp_endpoint) { Paypal::NVP::Request::ENDPOINT[:production] }
14
17
  let :attributes do
15
18
  {
16
19
  :username => 'nov',
17
20
  :password => 'password',
18
- :signature => 'sig',
19
- :return_url => 'http://example.com/success',
20
- :cancel_url => 'http://example.com/cancel'
21
+ :signature => 'sig'
21
22
  }
22
23
  end
23
24
 
@@ -77,19 +78,19 @@ describe Paypal::Express::Request do
77
78
  describe '#setup' do
78
79
  it 'should return Paypal::Express::Response' do
79
80
  fake_response 'SetExpressCheckout/success'
80
- response = instance.setup recurring_payment_request
81
+ response = instance.setup recurring_payment_request, return_url, cancel_url
81
82
  response.should be_instance_of(Paypal::Express::Response)
82
83
  end
83
84
 
84
85
  it 'should support no_shipping option' do
85
86
  expect do
86
- instance.setup instant_payment_request, :no_shipping => true
87
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
87
+ instance.setup instant_payment_request, return_url, cancel_url, :no_shipping => true
88
+ end.should request_to nvp_endpoint, :post
88
89
  instance._method_.should == :SetExpressCheckout
89
90
  instance._sent_params_.should == {
90
91
  :PAYMENTREQUEST_0_DESC => 'Instant Payment Request',
91
- :RETURNURL => 'http://example.com/success',
92
- :CANCELURL => 'http://example.com/cancel',
92
+ :RETURNURL => return_url,
93
+ :CANCELURL => cancel_url,
93
94
  :PAYMENTREQUEST_0_AMT => '1000.00',
94
95
  :PAYMENTREQUEST_0_TAXAMT => "0.00",
95
96
  :PAYMENTREQUEST_0_SHIPPINGAMT => "0.00",
@@ -101,13 +102,13 @@ describe Paypal::Express::Request do
101
102
  context 'when instance payment request given' do
102
103
  it 'should call SetExpressCheckout' do
103
104
  expect do
104
- instance.setup instant_payment_request
105
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
105
+ instance.setup instant_payment_request, return_url, cancel_url
106
+ end.should request_to nvp_endpoint, :post
106
107
  instance._method_.should == :SetExpressCheckout
107
108
  instance._sent_params_.should == {
108
109
  :PAYMENTREQUEST_0_DESC => 'Instant Payment Request',
109
- :RETURNURL => 'http://example.com/success',
110
- :CANCELURL => 'http://example.com/cancel',
110
+ :RETURNURL => return_url,
111
+ :CANCELURL => cancel_url,
111
112
  :PAYMENTREQUEST_0_AMT => '1000.00',
112
113
  :PAYMENTREQUEST_0_TAXAMT => "0.00",
113
114
  :PAYMENTREQUEST_0_SHIPPINGAMT => "0.00"
@@ -118,14 +119,14 @@ describe Paypal::Express::Request do
118
119
  context 'when recurring payment request given' do
119
120
  it 'should call SetExpressCheckout' do
120
121
  expect do
121
- instance.setup recurring_payment_request
122
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
122
+ instance.setup recurring_payment_request, return_url, cancel_url
123
+ end.should request_to nvp_endpoint, :post
123
124
  instance._method_.should == :SetExpressCheckout
124
125
  instance._sent_params_.should == {
125
126
  :L_BILLINGTYPE0 => :RecurringPayments,
126
127
  :L_BILLINGAGREEMENTDESCRIPTION0 => 'Recurring Payment Request',
127
- :RETURNURL => 'http://example.com/success',
128
- :CANCELURL => 'http://example.com/cancel',
128
+ :RETURNURL => return_url,
129
+ :CANCELURL => cancel_url,
129
130
  :PAYMENTREQUEST_0_AMT => '0.00',
130
131
  :PAYMENTREQUEST_0_TAXAMT => "0.00",
131
132
  :PAYMENTREQUEST_0_SHIPPINGAMT => "0.00"
@@ -144,7 +145,7 @@ describe Paypal::Express::Request do
144
145
  it 'should call GetExpressCheckoutDetails' do
145
146
  expect do
146
147
  instance.details 'token'
147
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
148
+ end.should request_to nvp_endpoint, :post
148
149
  instance._method_.should == :GetExpressCheckoutDetails
149
150
  instance._sent_params_.should == {
150
151
  :TOKEN => 'token'
@@ -162,7 +163,7 @@ describe Paypal::Express::Request do
162
163
  it 'should call DoExpressCheckoutPayment' do
163
164
  expect do
164
165
  instance.checkout! 'token', 'payer_id', instant_payment_request
165
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
166
+ end.should request_to nvp_endpoint, :post
166
167
  instance._method_.should == :DoExpressCheckoutPayment
167
168
  instance._sent_params_.should == {
168
169
  :PAYERID => 'payer_id',
@@ -185,7 +186,7 @@ describe Paypal::Express::Request do
185
186
  it 'should call CreateRecurringPaymentsProfile' do
186
187
  expect do
187
188
  instance.subscribe! 'token', recurring_profile
188
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
189
+ end.should request_to nvp_endpoint, :post
189
190
  instance._method_.should == :CreateRecurringPaymentsProfile
190
191
  instance._sent_params_.should == {
191
192
  :DESC => 'Recurring Profile',
@@ -215,7 +216,7 @@ describe Paypal::Express::Request do
215
216
  it 'should call GetRecurringPaymentsProfileDetails' do
216
217
  expect do
217
218
  instance.subscription 'profile_id'
218
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
219
+ end.should request_to nvp_endpoint, :post
219
220
  instance._method_.should == :GetRecurringPaymentsProfileDetails
220
221
  instance._sent_params_.should == {
221
222
  :PROFILEID => 'profile_id'
@@ -233,12 +234,30 @@ describe Paypal::Express::Request do
233
234
  it 'should call ManageRecurringPaymentsProfileStatus' do
234
235
  expect do
235
236
  instance.renew! 'profile_id', :Cancel
236
- end.should request_to 'https://api-3t.paypal.com/nvp', :post
237
+ end.should request_to nvp_endpoint, :post
237
238
  instance._method_.should == :ManageRecurringPaymentsProfileStatus
238
239
  instance._sent_params_.should == {
239
240
  :ACTION => :Cancel,
240
- :PROFILEID => 'profile_id',
241
- :NOTE => ''
241
+ :PROFILEID => 'profile_id'
242
+ }
243
+ end
244
+ end
245
+
246
+ describe '#refund!' do
247
+ it 'should return Paypal::Express::Response' do
248
+ fake_response 'RefundTransaction/full'
249
+ response = instance.refund! 'transaction_id'
250
+ response.should be_instance_of(Paypal::Express::Response)
251
+ end
252
+
253
+ it 'should call RefundTransaction' do
254
+ expect do
255
+ instance.refund! 'transaction_id'
256
+ end.should request_to nvp_endpoint, :post
257
+ instance._method_.should == :RefundTransaction
258
+ instance._sent_params_.should == {
259
+ :TRANSACTIONID => 'transaction_id',
260
+ :REFUNDTYPE => :Full
242
261
  }
243
262
  end
244
263
  end
@@ -3,13 +3,13 @@ require 'spec_helper.rb'
3
3
  describe Paypal::Express::Response do
4
4
  before { fake_response 'SetExpressCheckout/success' }
5
5
 
6
+ let(:return_url) { 'http://example.com/success' }
7
+ let(:cancel_url) { 'http://example.com/cancel' }
6
8
  let :request do
7
9
  Paypal::Express::Request.new(
8
10
  :username => 'nov',
9
11
  :password => 'password',
10
- :signature => 'sig',
11
- :return_url => 'http://example.com/success',
12
- :cancel_url => 'http://example.com/cancel'
12
+ :signature => 'sig'
13
13
  )
14
14
  end
15
15
  let :payment_request do
@@ -18,7 +18,7 @@ describe Paypal::Express::Response do
18
18
  :billing_agreement_description => 'Recurring Payment Request'
19
19
  )
20
20
  end
21
- let(:response) { request.setup payment_request }
21
+ let(:response) { request.setup payment_request, return_url, cancel_url }
22
22
 
23
23
  describe '#redirect_uri' do
24
24
  subject { response.redirect_uri }
@@ -31,7 +31,7 @@ describe Paypal::Express::Response do
31
31
  end
32
32
 
33
33
  context 'when pay_on_paypal option is given' do
34
- let(:response) { request.setup payment_request, :pay_on_paypal => true }
34
+ let(:response) { request.setup payment_request, return_url, cancel_url, :pay_on_paypal => true }
35
35
 
36
36
  subject { response }
37
37
  its(:pay_on_paypal) { should be_true }
@@ -1,13 +1,13 @@
1
1
  require 'spec_helper.rb'
2
2
 
3
3
  describe Paypal::NVP::Response do
4
+ let(:return_url) { 'http://example.com/success' }
5
+ let(:cancel_url) { 'http://example.com/cancel' }
4
6
  let :request do
5
7
  Paypal::Express::Request.new(
6
8
  :username => 'nov',
7
9
  :password => 'password',
8
- :signature => 'sig',
9
- :return_url => 'http://example.com/success',
10
- :cancel_url => 'http://example.com/cancel'
10
+ :signature => 'sig'
11
11
  )
12
12
  end
13
13
 
@@ -49,7 +49,7 @@ describe Paypal::NVP::Response do
49
49
 
50
50
  it 'should handle all attributes' do
51
51
  Paypal.logger.should_not_receive(:warn)
52
- response = request.setup payment_request
52
+ response = request.setup payment_request, return_url, cancel_url
53
53
  response.token.should == 'EC-5YJ90598G69065317'
54
54
  end
55
55
  end
@@ -22,7 +22,8 @@ describe Paypal::Payment::Response::Info do
22
22
  :AMT => '14.00',
23
23
  :FEEAMT => '0.85',
24
24
  :TAXAMT => '0.00',
25
- :RECEIPTID => '12345'
25
+ :RECEIPTID => '12345',
26
+ :SECUREMERCHANTACCOUNTID => '123456789'
26
27
  }
27
28
  end
28
29
 
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paypal-express
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease:
5
- version: 0.2.10
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
6
11
  platform: ruby
7
12
  authors:
8
13
  - nov matake
@@ -10,7 +15,7 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-05-21 00:00:00 Z
18
+ date: 2011-05-23 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: activesupport
@@ -20,6 +25,10 @@ dependencies:
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 5
29
+ segments:
30
+ - 2
31
+ - 3
23
32
  version: "2.3"
24
33
  type: :runtime
25
34
  version_requirements: *id001
@@ -31,6 +40,9 @@ dependencies:
31
40
  requirements:
32
41
  - - ">="
33
42
  - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
34
46
  version: "0"
35
47
  type: :runtime
36
48
  version_requirements: *id002
@@ -42,6 +54,9 @@ dependencies:
42
54
  requirements:
43
55
  - - ">="
44
56
  - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
45
60
  version: "0"
46
61
  type: :runtime
47
62
  version_requirements: *id003
@@ -53,6 +68,11 @@ dependencies:
53
68
  requirements:
54
69
  - - ">="
55
70
  - !ruby/object:Gem::Version
71
+ hash: 25
72
+ segments:
73
+ - 0
74
+ - 0
75
+ - 3
56
76
  version: 0.0.3
57
77
  type: :runtime
58
78
  version_requirements: *id004
@@ -64,7 +84,18 @@ dependencies:
64
84
  requirements:
65
85
  - - ">="
66
86
  - !ruby/object:Gem::Version
87
+ hash: 27
88
+ segments:
89
+ - 0
90
+ - 8
67
91
  version: "0.8"
92
+ - - <
93
+ - !ruby/object:Gem::Version
94
+ hash: 25
95
+ segments:
96
+ - 0
97
+ - 9
98
+ version: "0.9"
68
99
  type: :development
69
100
  version_requirements: *id005
70
101
  - !ruby/object:Gem::Dependency
@@ -75,6 +106,10 @@ dependencies:
75
106
  requirements:
76
107
  - - ">="
77
108
  - !ruby/object:Gem::Version
109
+ hash: 25
110
+ segments:
111
+ - 0
112
+ - 9
78
113
  version: "0.9"
79
114
  type: :development
80
115
  version_requirements: *id006
@@ -86,6 +121,9 @@ dependencies:
86
121
  requirements:
87
122
  - - ">="
88
123
  - !ruby/object:Gem::Version
124
+ hash: 7
125
+ segments:
126
+ - 2
89
127
  version: "2"
90
128
  type: :development
91
129
  version_requirements: *id007
@@ -97,6 +135,11 @@ dependencies:
97
135
  requirements:
98
136
  - - ">="
99
137
  - !ruby/object:Gem::Version
138
+ hash: 27
139
+ segments:
140
+ - 1
141
+ - 3
142
+ - 0
100
143
  version: 1.3.0
101
144
  type: :development
102
145
  version_requirements: *id008
@@ -140,6 +183,7 @@ files:
140
183
  - lib/paypal/payment/response/info.rb
141
184
  - lib/paypal/payment/response/item.rb
142
185
  - lib/paypal/payment/response/payer.rb
186
+ - lib/paypal/payment/response/refund.rb
143
187
  - lib/paypal/payment/response/ship_to.rb
144
188
  - lib/paypal/util.rb
145
189
  - paypal-express.gemspec
@@ -155,6 +199,7 @@ files:
155
199
  - spec/fake_response/IPN/valid.txt
156
200
  - spec/fake_response/ManageRecurringPaymentsProfileStatus/failure.txt
157
201
  - spec/fake_response/ManageRecurringPaymentsProfileStatus/success.txt
202
+ - spec/fake_response/RefundTransaction/full.txt
158
203
  - spec/fake_response/SetExpressCheckout/failure.txt
159
204
  - spec/fake_response/SetExpressCheckout/success.txt
160
205
  - spec/helpers/fake_response_helper.rb
@@ -190,12 +235,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
235
  requirements:
191
236
  - - ">="
192
237
  - !ruby/object:Gem::Version
238
+ hash: 3
239
+ segments:
240
+ - 0
193
241
  version: "0"
194
242
  required_rubygems_version: !ruby/object:Gem::Requirement
195
243
  none: false
196
244
  requirements:
197
245
  - - ">="
198
246
  - !ruby/object:Gem::Version
247
+ hash: 23
248
+ segments:
249
+ - 1
250
+ - 3
251
+ - 6
199
252
  version: 1.3.6
200
253
  requirements: []
201
254
 
@@ -217,6 +270,7 @@ test_files:
217
270
  - spec/fake_response/IPN/valid.txt
218
271
  - spec/fake_response/ManageRecurringPaymentsProfileStatus/failure.txt
219
272
  - spec/fake_response/ManageRecurringPaymentsProfileStatus/success.txt
273
+ - spec/fake_response/RefundTransaction/full.txt
220
274
  - spec/fake_response/SetExpressCheckout/failure.txt
221
275
  - spec/fake_response/SetExpressCheckout/success.txt
222
276
  - spec/helpers/fake_response_helper.rb