paypal-recurring 0.1.6 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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