paypal-recurring 0.1.6 → 1.0.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.
Files changed (48) hide show
  1. data/.gitignore +12 -0
  2. data/Gemfile.lock +32 -31
  3. data/README.rdoc +21 -5
  4. data/lib/paypal/recurring/base.rb +119 -4
  5. data/lib/paypal/recurring/notification.rb +15 -13
  6. data/lib/paypal/recurring/request.rb +38 -2
  7. data/lib/paypal/recurring/response.rb +4 -1
  8. data/lib/paypal/recurring/response/payment.rb +6 -5
  9. data/lib/paypal/recurring/response/profile.rb +4 -3
  10. data/lib/paypal/recurring/response/refund.rb +23 -0
  11. data/lib/paypal/recurring/version.rb +3 -3
  12. data/paypal-recurring.gemspec +7 -5
  13. data/spec/fixtures/checkout/failure.yml +33 -21
  14. data/spec/fixtures/checkout/success.yml +33 -21
  15. data/spec/fixtures/create_profile/failure.yml +33 -21
  16. data/spec/fixtures/create_profile/success.yml +33 -21
  17. data/spec/fixtures/details/cancelled.yml +33 -21
  18. data/spec/fixtures/details/failure.yml +33 -21
  19. data/spec/fixtures/details/success.yml +33 -21
  20. data/spec/fixtures/ipn/recurring_payment_skipped.json +30 -0
  21. data/spec/fixtures/notification/failure.yml +43 -25
  22. data/spec/fixtures/notification/success.yml +33 -15
  23. data/spec/fixtures/payment/failure.yml +33 -21
  24. data/spec/fixtures/payment/success.yml +33 -21
  25. data/spec/fixtures/profile/cancel/failure.yml +33 -21
  26. data/spec/fixtures/profile/cancel/success.yml +33 -21
  27. data/spec/fixtures/profile/failure.yml +33 -21
  28. data/spec/fixtures/profile/reactivate/failure.yml +33 -21
  29. data/spec/fixtures/profile/reactivate/success.yml +33 -21
  30. data/spec/fixtures/profile/success.yml +33 -21
  31. data/spec/fixtures/profile/suspend/failure.yml +33 -21
  32. data/spec/fixtures/profile/suspend/success.yml +33 -21
  33. data/spec/fixtures/refund/failure.yml +38 -0
  34. data/spec/fixtures/refund/success.yml +38 -0
  35. data/spec/fixtures/update_profile/failure.yml +38 -0
  36. data/spec/fixtures/update_profile/profile.yml +38 -0
  37. data/spec/fixtures/update_profile/success.yml +38 -0
  38. data/spec/paypal/request_spec.rb +17 -0
  39. data/spec/paypal/response/checkout_details_spec.rb +7 -8
  40. data/spec/paypal/response/checkout_spec.rb +1 -1
  41. data/spec/paypal/response/create_recurring_profile_spec.rb +4 -4
  42. data/spec/paypal/response/manage_profile_spec.rb +11 -11
  43. data/spec/paypal/response/profile_spec.rb +9 -8
  44. data/spec/paypal/response/refund_spec.rb +33 -0
  45. data/spec/paypal/response/request_payment_spec.rb +4 -4
  46. data/spec/paypal/response/update_recurring_profile_spec.rb +47 -0
  47. data/spec/spec_helper.rb +8 -7
  48. metadata +135 -68
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api-3t.sandbox.paypal.com/nvp
6
+ body:
7
+ encoding: US-ASCII
8
+ string: USER=fnando.vieira%2Bseller_api1.gmail.com&PWD=PRTZZX6JDACB95SA&SIGNATURE=AJnjtLN0ozBP-BF2ZJrj5sfbmGAxAnf5tev1-MgK5Z8IASmtj-Fw.5pt&VERSION=72.0&PROFILEID=I-6BWVV63V49JT&METHOD=GetRecurringPaymentsProfileDetails
9
+ headers:
10
+ accept:
11
+ - ! '*/*'
12
+ user-agent:
13
+ - PayPal::Recurring/0.1.8
14
+ content-type:
15
+ - application/x-www-form-urlencoded
16
+ connection:
17
+ - close
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ date:
24
+ - Mon, 23 Apr 2012 04:34:46 GMT
25
+ server:
26
+ - Apache
27
+ content-length:
28
+ - '989'
29
+ connection:
30
+ - close
31
+ content-type:
32
+ - text/plain; charset=utf-8
33
+ body:
34
+ encoding: US-ASCII
35
+ string: PROFILEID=I%2d6BWVV63V49JT&STATUS=Active&AUTOBILLOUTAMT=NoAutoBill&DESC=Awesome%20%2d%20Monthly%20Subscription%20%28Updated%29&MAXFAILEDPAYMENTS=0&SUBSCRIBERNAME=Jos%c3%a9%20da%20Silva&PROFILESTARTDATE=2012%2d07%2d23T03%3a00%3a00Z&PROFILEREFERENCE=1234&NEXTBILLINGDATE=2012%2d07%2d23T10%3a00%3a00Z&NUMCYCLESCOMPLETED=0&NUMCYCLESREMAINING=0&OUTSTANDINGBALANCE=0%2e00&FAILEDPAYMENTCOUNT=0&LASTPAYMENTDATE=2012%2d04%2d23T04%3a31%3a15Z&LASTPAYMENTAMT=9%2e00&TRIALAMTPAID=0%2e00&REGULARAMTPAID=0%2e00&AGGREGATEAMT=0%2e00&AGGREGATEOPTIONALAMT=9%2e00&FINALPAYMENTDUEDATE=1970%2d01%2d01T00%3a00%3a00Z&TIMESTAMP=2012%2d04%2d23T04%3a34%3a47Z&CORRELATIONID=39a69e9af3257&ACK=Success&VERSION=72%2e0&BUILD=2764190&BILLINGPERIOD=Day&BILLINGFREQUENCY=1&TOTALBILLINGCYCLES=0&CURRENCYCODE=BRL&AMT=10%2e00&SHIPPINGAMT=0%2e00&TAXAMT=0%2e00&REGULARBILLINGPERIOD=Day&REGULARBILLINGFREQUENCY=1&REGULARTOTALBILLINGCYCLES=0&REGULARCURRENCYCODE=BRL&REGULARAMT=10%2e00&REGULARSHIPPINGAMT=0%2e00&REGULARTAXAMT=0%2e00
36
+ http_version: '1.1'
37
+ recorded_at: Mon, 23 Apr 2012 04:34:47 GMT
38
+ recorded_with: VCR 2.1.0
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api-3t.sandbox.paypal.com/nvp
6
+ body:
7
+ encoding: US-ASCII
8
+ string: USER=fnando.vieira%2Bseller_api1.gmail.com&PWD=PRTZZX6JDACB95SA&SIGNATURE=AJnjtLN0ozBP-BF2ZJrj5sfbmGAxAnf5tev1-MgK5Z8IASmtj-Fw.5pt&VERSION=72.0&PAYMENTREQUEST_0_AMT=10.00&AMT=10.00&PAYMENTREQUEST_0_CURRENCYCODE=BRL&CURRENCYCODE=BRL&DESC=Awesome+-+Monthly+Subscription+%28Updated%29&PAYMENTREQUEST_0_DESC=Awesome+-+Monthly+Subscription+%28Updated%29&L_BILLINGAGREEMENTDESCRIPTION0=Awesome+-+Monthly+Subscription+%28Updated%29&NOTE=Changed+Plan&PROFILEID=I-6BWVV63V49JT&METHOD=UpdateRecurringPaymentsProfile
9
+ headers:
10
+ accept:
11
+ - ! '*/*'
12
+ user-agent:
13
+ - PayPal::Recurring/0.1.8
14
+ content-type:
15
+ - application/x-www-form-urlencoded
16
+ connection:
17
+ - close
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ date:
24
+ - Mon, 23 Apr 2012 04:33:19 GMT
25
+ server:
26
+ - Apache
27
+ content-length:
28
+ - '134'
29
+ connection:
30
+ - close
31
+ content-type:
32
+ - text/plain; charset=utf-8
33
+ body:
34
+ encoding: US-ASCII
35
+ string: PROFILEID=I%2d6BWVV63V49JT&TIMESTAMP=2012%2d04%2d23T04%3a33%3a25Z&CORRELATIONID=31b9058f89254&ACK=Success&VERSION=72%2e0&BUILD=2764190
36
+ http_version: '1.1'
37
+ recorded_at: Mon, 23 Apr 2012 04:33:25 GMT
38
+ recorded_with: VCR 2.1.0
@@ -17,6 +17,15 @@ describe PayPal::Recurring::Request do
17
17
  end
18
18
 
19
19
  describe "#post" do
20
+ before :all do
21
+ VCR.eject_cassette
22
+ VCR.turn_off!
23
+ end
24
+
25
+ after :all do
26
+ VCR.turn_on!
27
+ end
28
+
20
29
  let(:request) {
21
30
  FakeWeb.register_uri :post, "https://api-3t.sandbox.paypal.com/nvp", :status => 200
22
31
  subject.run(:checkout)
@@ -79,10 +88,18 @@ describe PayPal::Recurring::Request do
79
88
 
80
89
  it "normalizes period" do
81
90
  subject.normalize_params(:period => :monthly).should == {:BILLINGPERIOD => "Month"}
91
+ subject.normalize_params(:period => :weekly).should == {:BILLINGPERIOD => "Weekly"}
82
92
  subject.normalize_params(:period => :daily).should == {:BILLINGPERIOD => "Day"}
83
93
  subject.normalize_params(:period => :yearly).should == {:BILLINGPERIOD => "Year"}
84
94
  end
85
95
 
96
+ it "normalizes trial period" do
97
+ subject.normalize_params(:trial_period => :monthly).should == {:TRIALBILLINGPERIOD => "Month"}
98
+ subject.normalize_params(:trial_period => :weekly).should == {:TRIALBILLINGPERIOD => "Weekly"}
99
+ subject.normalize_params(:trial_period => :daily).should == {:TRIALBILLINGPERIOD => "Day"}
100
+ subject.normalize_params(:trial_period => :yearly).should == {:TRIALBILLINGPERIOD => "Year"}
101
+ end
102
+
86
103
  it "normalizes start at" do
87
104
  date = Time.parse("2011-06-26 15:13:00")
88
105
  subject.normalize_params(:start_at => date).should == {:PROFILESTARTDATE => "2011-06-26T15:13:00Z"}
@@ -5,7 +5,7 @@ describe PayPal::Recurring::Response::Details do
5
5
  use_vcr_cassette "details/success"
6
6
 
7
7
  subject {
8
- ppr = PayPal::Recurring.new(:token => "EC-7B902269MT603740W")
8
+ ppr = PayPal::Recurring.new(:token => "EC-08C2125544495393T")
9
9
  ppr.checkout_details
10
10
  }
11
11
 
@@ -14,13 +14,12 @@ describe PayPal::Recurring::Response::Details do
14
14
 
15
15
  its(:errors) { should be_empty }
16
16
  its(:status) { should == "PaymentActionNotInitiated" }
17
- its(:email) { should == "buyer_1308979708_per@simplesideias.com.br" }
17
+ its(:email) { should == "fnando.vieira+br@gmail.com" }
18
18
  its(:requested_at) { should be_a(Time) }
19
- its(:email) { should == "buyer_1308979708_per@simplesideias.com.br" }
20
- its(:payer_id) { should == "WTTS5KC2T46YU" }
21
- its(:payer_status) { should == "verified" }
22
- its(:country) { should == "US" }
23
- its(:currency) { should == "USD" }
19
+ its(:payer_id) { should == "D2U7M6PTMJBML" }
20
+ its(:payer_status) { should == "unverified" }
21
+ its(:country) { should == "BR" }
22
+ its(:currency) { should == "BRL" }
24
23
  its(:description) { should == "Awesome - Monthly Subscription" }
25
24
  its(:ipn_url) { should == "http://example.com/paypal/ipn" }
26
25
  its(:agreed?) { should be_true }
@@ -29,7 +28,7 @@ describe PayPal::Recurring::Response::Details do
29
28
  context "when cancelled" do
30
29
  use_vcr_cassette "details/cancelled"
31
30
  subject {
32
- ppr = PayPal::Recurring.new(:token => "EC-365619347A138351P")
31
+ ppr = PayPal::Recurring.new(:token => "EC-8J298813NS092694P")
33
32
  ppr.checkout_details
34
33
  }
35
34
 
@@ -19,7 +19,7 @@ describe PayPal::Recurring::Response::Checkout do
19
19
 
20
20
  its(:valid?) { should be_true }
21
21
  its(:errors) { should be_empty }
22
- its(:checkout_url) { should == "#{PayPal::Recurring.site_endpoint}?cmd=_express-checkout&token=EC-7B902269MT603740W" }
22
+ its(:checkout_url) { should == "#{PayPal::Recurring.site_endpoint}?cmd=_express-checkout&token=EC-6K296451S2213041J" }
23
23
  end
24
24
 
25
25
  context "when failure" do
@@ -9,14 +9,14 @@ describe PayPal::Recurring::Response::Profile do
9
9
  :amount => "9.00",
10
10
  :initial_amount => "9.00",
11
11
  :initial_amount_action => :cancel,
12
- :currency => "USD",
12
+ :currency => "BRL",
13
13
  :description => "Awesome - Monthly Subscription",
14
14
  :ipn_url => "http://example.com/paypal/ipn",
15
15
  :frequency => 1,
16
- :token => "EC-2UK36172XH723314S",
16
+ :token => "EC-47J551124P900104V",
17
17
  :period => :monthly,
18
18
  :reference => "1234",
19
- :payer_id => "WTTS5KC2T46YU",
19
+ :payer_id => "D2U7M6PTMJBML",
20
20
  :start_at => Time.now,
21
21
  :failed => 1,
22
22
  :outstanding => :next_billing
@@ -26,7 +26,7 @@ describe PayPal::Recurring::Response::Profile do
26
26
 
27
27
  it { should be_valid }
28
28
 
29
- its(:profile_id) { should == "I-89LD5VEHEVK4" }
29
+ its(:profile_id) { should == "I-W4FNTE6EXJ2W" }
30
30
  its(:status) { should == "ActiveProfile" }
31
31
  its(:errors) { should be_empty }
32
32
  end
@@ -1,20 +1,20 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe PayPal::Recurring::Response::ManageProfile do
4
- let(:paypal) { PayPal::Recurring.new(:profile_id => "I-89LD5VEHEVK4") }
4
+ let(:paypal) { PayPal::Recurring.new(:profile_id => "I-W4FNTE6EXJ2W") }
5
5
 
6
- context "canceling" do
6
+ context "suspending" do
7
7
  context "when successful" do
8
- use_vcr_cassette "profile/cancel/success"
9
- subject { paypal.cancel }
8
+ use_vcr_cassette "profile/suspend/success"
9
+ subject { paypal.suspend }
10
10
 
11
11
  it { should be_success }
12
12
  it { should be_valid }
13
13
  end
14
14
 
15
15
  context "when failure" do
16
- use_vcr_cassette "profile/cancel/failure"
17
- subject { paypal.cancel }
16
+ use_vcr_cassette "profile/suspend/failure"
17
+ subject { paypal.suspend }
18
18
 
19
19
  it { should_not be_success }
20
20
  it { should_not be_valid }
@@ -41,18 +41,18 @@ describe PayPal::Recurring::Response::ManageProfile do
41
41
  end
42
42
  end
43
43
 
44
- context "suspending" do
44
+ context "cancelling" do
45
45
  context "when successful" do
46
- use_vcr_cassette "profile/suspend/success"
47
- subject { paypal.suspend }
46
+ use_vcr_cassette "profile/cancel/success"
47
+ subject { paypal.cancel }
48
48
 
49
49
  it { should be_success }
50
50
  it { should be_valid }
51
51
  end
52
52
 
53
53
  context "when failure" do
54
- use_vcr_cassette "profile/suspend/failure"
55
- subject { paypal.suspend }
54
+ use_vcr_cassette "profile/cancel/failure"
55
+ subject { paypal.cancel }
56
56
 
57
57
  it { should_not be_success }
58
58
  it { should_not be_valid }
@@ -1,37 +1,38 @@
1
+ # -*- encoding: utf-8 -*-
1
2
  require "spec_helper"
2
3
 
3
4
  describe PayPal::Recurring::Response::Profile do
4
- let(:paypal) { PayPal::Recurring.new(:profile_id => "I-89LD5VEHEVK4") }
5
-
6
5
  context "when successful" do
7
6
  use_vcr_cassette "profile/success"
7
+ let(:paypal) { PayPal::Recurring.new(:profile_id => "I-W4FNTE6EXJ2W") }
8
8
  subject { paypal.profile }
9
9
 
10
10
  it { should_not be_active }
11
11
 
12
12
  its(:status) { should == :canceled }
13
- its(:profile_id) { should == "I-89LD5VEHEVK4" }
13
+ its(:profile_id) { should == "I-W4FNTE6EXJ2W" }
14
14
  its(:outstanding) { should == :next_billing }
15
15
  its(:description) { should == "Awesome - Monthly Subscription" }
16
- its(:payer_name) { should == "Test User" }
16
+ its(:payer_name) { should == "José da Silva" }
17
17
  its(:reference) { should == "1234" }
18
18
  its(:failed) { should == "1" }
19
19
  its(:start_at) { should be_a(Time) }
20
- its(:completed) { should == "1" }
21
- its(:remaining) { should == "18446744073709551615" }
20
+ its(:completed) { should == "0" }
21
+ its(:remaining) { should == "0" }
22
22
  its(:outstanding_balance) { should == "0.00" }
23
23
  its(:failed_count) { should == "0" }
24
24
  its(:last_payment_date) { should be_a(Time) }
25
25
  its(:last_payment_amount) { should == "9.00" }
26
26
  its(:period) { should == :monthly }
27
27
  its(:frequency) { should == "1" }
28
- its(:currency) { should == "USD" }
28
+ its(:currency) { should == "BRL" }
29
29
  its(:amount) { should == "9.00" }
30
- its(:initial_amount) { should == "0.00" }
30
+ its(:initial_amount) { should == "9.00" }
31
31
  end
32
32
 
33
33
  context "when failure" do
34
34
  use_vcr_cassette "profile/failure"
35
+ let(:paypal) { PayPal::Recurring.new(:profile_id => "invalid") }
35
36
  subject { paypal.profile }
36
37
 
37
38
  it { should_not be_valid }
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe PayPal::Recurring::Response::Profile do
4
+ let(:paypal) {
5
+ PayPal::Recurring.new({
6
+ :profile_id => "I-1BASBJ9C9WBS",
7
+ :transaction_id => "4GP25924UB013401J",
8
+ :reference => "12345",
9
+ :refund_type => :full,
10
+ :amount => "9.00",
11
+ :currency => "BRL"
12
+ })
13
+ }
14
+
15
+ context "when successful" do
16
+ use_vcr_cassette "refund/success"
17
+ subject { paypal.refund }
18
+
19
+ its(:transaction_id) { should eql("5MM61417CA010574T") }
20
+ its(:fee_amount) { should eql("0.71") }
21
+ its(:gross_amount) { should eql("9.00") }
22
+ its(:net_amount) { should eql("8.29") }
23
+ its(:amount) { should eql("9.00") }
24
+ its(:currency) { should eql("BRL") }
25
+ end
26
+
27
+ context "when failure" do
28
+ use_vcr_cassette "refund/failure"
29
+ subject { paypal.refund }
30
+
31
+ its(:errors) { should have(1).items }
32
+ end
33
+ end
@@ -8,9 +8,9 @@ describe PayPal::Recurring::Response::Payment do
8
8
  ppr = PayPal::Recurring.new({
9
9
  :description => "Awesome - Monthly Subscription",
10
10
  :amount => "9.00",
11
- :currency => "USD",
12
- :payer_id => "WTTS5KC2T46YU",
13
- :token => "EC-7A593227AC789800N",
11
+ :currency => "BRL",
12
+ :payer_id => "D2U7M6PTMJBML",
13
+ :token => "EC-7DE19186NP195863W",
14
14
  })
15
15
  ppr.request_payment
16
16
  }
@@ -30,6 +30,6 @@ describe PayPal::Recurring::Response::Payment do
30
30
  it { should_not be_completed }
31
31
  it { should_not be_approved }
32
32
 
33
- its(:errors) { should have(1).items }
33
+ its(:errors) { should have(2).items }
34
34
  end
35
35
  end
@@ -0,0 +1,47 @@
1
+ require "spec_helper"
2
+
3
+ describe PayPal::Recurring::Response::Profile do
4
+ context "when successful" do
5
+ use_vcr_cassette "update_profile/success"
6
+
7
+ let(:paypal) {
8
+ PayPal::Recurring.new({
9
+ :description => "Awesome - Monthly Subscription (Updated)",
10
+ :amount => "10.00",
11
+ :currency => "BRL",
12
+ :note => "Changed Plan",
13
+ :profile_id => "I-6BWVV63V49JT"
14
+ })
15
+ }
16
+
17
+ subject { paypal.update_recurring_profile }
18
+
19
+ it { should be_valid }
20
+ its(:profile_id) { should == "I-6BWVV63V49JT" }
21
+ its(:errors) { should be_empty }
22
+ end
23
+
24
+ context "updated profile" do
25
+ use_vcr_cassette "update_profile/profile"
26
+
27
+ let(:paypal) { PayPal::Recurring.new(:profile_id => "I-6BWVV63V49JT") }
28
+ subject { paypal.profile }
29
+
30
+ its(:amount) { should eql("10.00") }
31
+ its(:description) { should eql("Awesome - Monthly Subscription (Updated)") }
32
+ end
33
+
34
+ context "when failure" do
35
+ use_vcr_cassette("update_profile/failure")
36
+ let(:paypal) {
37
+ PayPal::Recurring.new({
38
+ :profile_id => "I-W4FNTE6EXJ2W",
39
+ :amount => "10.00"
40
+ })
41
+ }
42
+ subject { paypal.update_recurring_profile }
43
+
44
+ it { should_not be_valid }
45
+ its(:errors) { should have(1).items }
46
+ end
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,10 +4,11 @@ Bundler.require
4
4
 
5
5
  require "paypal-recurring"
6
6
  require "vcr"
7
+ require "active_support/all"
7
8
 
8
- VCR.config do |config|
9
+ VCR.configure do |config|
9
10
  config.cassette_library_dir = File.dirname(__FILE__) + "/fixtures"
10
- config.stub_with :fakeweb
11
+ config.hook_into :fakeweb
11
12
  end
12
13
 
13
14
  RSpec.configure do |config|
@@ -16,11 +17,11 @@ RSpec.configure do |config|
16
17
  config.before do
17
18
  PayPal::Recurring.configure do |config|
18
19
  config.sandbox = true
19
- config.username = "seller_1308793919_biz_api1.simplesideias.com.br"
20
- config.password = "1308793931"
21
- config.signature = "AFcWxV21C7fd0v3bYYYRCpSSRl31AzaB6TzXx5amObyEghjU13.0av2Y"
22
- config.seller_id = "GSZCRUB62BL5L"
23
- config.email = "seller_1308793919_biz_api1.simplesideias.com.br"
20
+ config.username = "fnando.vieira+seller_api1.gmail.com"
21
+ config.password = "PRTZZX6JDACB95SA"
22
+ config.signature = "AJnjtLN0ozBP-BF2ZJrj5sfbmGAxAnf5tev1-MgK5Z8IASmtj-Fw.5pt"
23
+ config.seller_id = "F2RM85WS56YX2"
24
+ config.email = "fnando.vieira+seller.gmail.com"
24
25
  end
25
26
  end
26
27
  end
metadata CHANGED
@@ -1,82 +1,135 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: paypal-recurring
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
4
5
  prerelease:
5
- version: 0.1.6
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Nando Vieira
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-11 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-04-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rspec
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - ~>
21
- - !ruby/object:Gem::Version
22
- version: "2.6"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
27
31
  name: rake
28
- requirement: &id002 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 0.8.7
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
38
47
  name: vcr
39
- requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
40
49
  none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- version: "1.10"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
45
54
  type: :development
46
55
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
49
63
  name: fakeweb
50
- requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
51
65
  none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- version: 1.3.0
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
56
70
  type: :development
57
71
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: ruby-debug19
61
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: pry
80
+ requirement: !ruby/object:Gem::Requirement
62
81
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
67
86
  type: :development
68
87
  prerelease: false
69
- version_requirements: *id005
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: awesome_print
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: activesupport
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
70
126
  description: PayPal Express Checkout API Client for recurring billing.
71
- email:
127
+ email:
72
128
  - fnando.vieira@gmail.com
73
129
  executables: []
74
-
75
130
  extensions: []
76
-
77
131
  extra_rdoc_files: []
78
-
79
- files:
132
+ files:
80
133
  - .gitignore
81
134
  - .rspec
82
135
  - Gemfile
@@ -98,6 +151,7 @@ files:
98
151
  - lib/paypal/recurring/response/manage_profile.rb
99
152
  - lib/paypal/recurring/response/payment.rb
100
153
  - lib/paypal/recurring/response/profile.rb
154
+ - lib/paypal/recurring/response/refund.rb
101
155
  - lib/paypal/recurring/utils.rb
102
156
  - lib/paypal/recurring/version.rb
103
157
  - paypal-recurring.gemspec
@@ -112,6 +166,7 @@ files:
112
166
  - spec/fixtures/ipn/recurring_payment.json
113
167
  - spec/fixtures/ipn/recurring_payment_profile_created.json
114
168
  - spec/fixtures/ipn/recurring_payment_profile_created_with_initial_amount.json
169
+ - spec/fixtures/ipn/recurring_payment_skipped.json
115
170
  - spec/fixtures/ipn/recurring_payment_with_initial_amount.json
116
171
  - spec/fixtures/notification/failure.yml
117
172
  - spec/fixtures/notification/success.yml
@@ -125,6 +180,11 @@ files:
125
180
  - spec/fixtures/profile/success.yml
126
181
  - spec/fixtures/profile/suspend/failure.yml
127
182
  - spec/fixtures/profile/suspend/success.yml
183
+ - spec/fixtures/refund/failure.yml
184
+ - spec/fixtures/refund/success.yml
185
+ - spec/fixtures/update_profile/failure.yml
186
+ - spec/fixtures/update_profile/profile.yml
187
+ - spec/fixtures/update_profile/success.yml
128
188
  - spec/paypal/notification_spec.rb
129
189
  - spec/paypal/recurring_spec.rb
130
190
  - spec/paypal/request_spec.rb
@@ -134,42 +194,41 @@ files:
134
194
  - spec/paypal/response/create_recurring_profile_spec.rb
135
195
  - spec/paypal/response/manage_profile_spec.rb
136
196
  - spec/paypal/response/profile_spec.rb
197
+ - spec/paypal/response/refund_spec.rb
137
198
  - spec/paypal/response/request_payment_spec.rb
199
+ - spec/paypal/response/update_recurring_profile_spec.rb
138
200
  - spec/spec_helper.rb
139
201
  homepage: http://rubygems.org/gems/paypal-recurring
140
202
  licenses: []
141
-
142
203
  post_install_message:
143
204
  rdoc_options: []
144
-
145
- require_paths:
205
+ require_paths:
146
206
  - lib
147
- required_ruby_version: !ruby/object:Gem::Requirement
207
+ required_ruby_version: !ruby/object:Gem::Requirement
148
208
  none: false
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- hash: -4543493111016794906
153
- segments:
209
+ requirements:
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ segments:
154
214
  - 0
155
- version: "0"
156
- required_rubygems_version: !ruby/object:Gem::Requirement
215
+ hash: 4504351682003461961
216
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
217
  none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- hash: -4543493111016794906
162
- segments:
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ segments:
163
223
  - 0
164
- version: "0"
224
+ hash: 4504351682003461961
165
225
  requirements: []
166
-
167
226
  rubyforge_project:
168
- rubygems_version: 1.8.5
227
+ rubygems_version: 1.8.23
169
228
  signing_key:
170
229
  specification_version: 3
171
230
  summary: PayPal Express Checkout API Client for recurring billing.
172
- test_files:
231
+ test_files:
173
232
  - spec/fixtures/checkout/failure.yml
174
233
  - spec/fixtures/checkout/success.yml
175
234
  - spec/fixtures/create_profile/failure.yml
@@ -181,6 +240,7 @@ test_files:
181
240
  - spec/fixtures/ipn/recurring_payment.json
182
241
  - spec/fixtures/ipn/recurring_payment_profile_created.json
183
242
  - spec/fixtures/ipn/recurring_payment_profile_created_with_initial_amount.json
243
+ - spec/fixtures/ipn/recurring_payment_skipped.json
184
244
  - spec/fixtures/ipn/recurring_payment_with_initial_amount.json
185
245
  - spec/fixtures/notification/failure.yml
186
246
  - spec/fixtures/notification/success.yml
@@ -194,6 +254,11 @@ test_files:
194
254
  - spec/fixtures/profile/success.yml
195
255
  - spec/fixtures/profile/suspend/failure.yml
196
256
  - spec/fixtures/profile/suspend/success.yml
257
+ - spec/fixtures/refund/failure.yml
258
+ - spec/fixtures/refund/success.yml
259
+ - spec/fixtures/update_profile/failure.yml
260
+ - spec/fixtures/update_profile/profile.yml
261
+ - spec/fixtures/update_profile/success.yml
197
262
  - spec/paypal/notification_spec.rb
198
263
  - spec/paypal/recurring_spec.rb
199
264
  - spec/paypal/request_spec.rb
@@ -203,5 +268,7 @@ test_files:
203
268
  - spec/paypal/response/create_recurring_profile_spec.rb
204
269
  - spec/paypal/response/manage_profile_spec.rb
205
270
  - spec/paypal/response/profile_spec.rb
271
+ - spec/paypal/response/refund_spec.rb
206
272
  - spec/paypal/response/request_payment_spec.rb
273
+ - spec/paypal/response/update_recurring_profile_spec.rb
207
274
  - spec/spec_helper.rb