paypal-sdk-invoice 1.100.0 → 1.101.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTM3OTE1ZWI5ODk3NTgyZmIyNzk3ODg4OTEwNDE4MmU2MDUxMDEzNw==
4
+ ZmVlMGE2NDYxZmE5NTE3ZWQ3N2VmNWQ3MjllMWQ4MzVhYThkZmM2Mg==
5
5
  data.tar.gz: !binary |-
6
- ZjhiODYzNjc0OTMzZDVlZWE1NThiMmE1N2JlN2ZjNWMwYzAyNWFlYg==
6
+ MjhlZjlkOWU0OTg5MzllMjIxOWEwNzVjYjg5ZTAyYzQ4NTYyZTVlMw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YTBmMjcyOTQ1OWQzMjAyNmE2NWEyNjYwZmVlOGNjOTE4NmRlYTg2OTU0Mzdj
10
- ZGY1MjZmMGNmYzQwMTAzNDQ4MjUwYjUxOTZhMmUxN2U2MDM0YWJmOTM2YTg4
11
- YmRhMDE0Y2QwNjkyNDg4NjgyNmIyMmU3MjFhMmI3OWE2YmVmNGY=
9
+ NGQ4YTM1YWIwZmEwOWQyMTM4OTQ1NjM2NGNkZTViNmU5ZWRlMDQwMGRmODBi
10
+ NjQ5NmRlOWIxMWRkOTJkMGJmYzg3MmMzNGIwNDI0NjkwMmM3ODI2NjgzZTlk
11
+ ZWNmYWZmZjU5NTA2OTVjNWE0NjQwMzUyNGFlZGRiM2QxNzM0YmQ=
12
12
  data.tar.gz: !binary |-
13
- YTVmMzk2MzA0MDg1MjI1MDNkZThiMGE5ZWY1ZmQzNzJiNzFmNzZlYTAxNTE2
14
- ODkzODMzNTdjNjhkNmQ3ZjQ5MGMwMDc1NTc1N2Y0ZDU1OGZkMThhYTAwMGNh
15
- YTY5MzcxNTVlNmFlN2U5OTU4OTM5NDZjMGIzZDIwYjU3MTk3OTk=
13
+ NGJmZGZmMDI1OTM4OGJlNTg2OTA4OTcxZjRkYzNmYWMxOTNmNzVjOTU3NzI4
14
+ Zjk0MWZhOGRkOTAxZWQ0NDNiNDBlNzhiZmZmYzNkNTNkZGMwNzlhMTA2ZjJi
15
+ MDQ2ZGI1NTVjMjBiYTNiZTg4YTE4NGNmNDI2YjdjMDNmNmQwZmM=
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ if File.exist? File.expand_path('../samples/invoice_samples.gemspec', __FILE__)
8
8
  gem 'invoice_samples', :path => 'samples', :require => false
9
9
  group :test do
10
10
  gem 'rspec-rails', :require => false
11
- gem 'capybara', :require => false
11
+ gem 'capybara', '~> 2.0.3', :require => false
12
12
  end
13
13
  end
14
14
 
data/README.md CHANGED
@@ -55,104 +55,13 @@ production:
55
55
  <<: *default
56
56
  mode: live
57
57
  ```
58
-
58
+
59
59
  Load Configurations from specified file:
60
60
 
61
61
  ```ruby
62
62
  PayPal::SDK::Core::Config.load('config/paypal.yml', ENV['RACK_ENV'] || 'development')
63
63
  ```
64
64
 
65
- ## Create API object
66
-
67
- Create API object:
68
-
69
- ```ruby
70
- api = PayPal::SDK::Invoice::API.new
71
- ```
72
-
73
- Override configuration while creating a object:
74
-
75
- ```ruby
76
- api = PayPal::SDK::Invoice::API.new(:development)
77
- api = PayPal::SDK::Invoice::API.new(:development, :app_id => "XYZ")
78
- api = PayPal::SDK::Invoice::API.new(:app_id => "XYZ") # Take default environment.
79
- ```
80
-
81
- Change configuration:
82
-
83
- ```ruby
84
- api.set_config :testing
85
- api.set_config :testing, app_id => "XYZ"
86
- ```
87
-
88
-
89
- ## Build Request Object
90
-
91
- To make api request, we need to build a request object.
92
-
93
- ```ruby
94
- # To build a empty request object
95
- create_invoice_request = api.build_create_invoice()
96
-
97
- # To build a request object with default data
98
- create_invoice_request = api.build_create_invoice( :invoice => { :merchantEmail => "jb-us-seller@paypal.com" })
99
- ```
100
-
101
-
102
- The Build method can be access with camelcase or underscore:
103
-
104
- ```ruby
105
- api = api.build_create_invoice()
106
- # (or)
107
- api = api.BuildCreateInvoice()
108
- ```
109
-
110
- ## Assign value to members
111
-
112
- Members can be access with camelcase or underscore format.
113
-
114
- ```ruby
115
- create_invoice_request.invoice.itemList.item[0].name = "item1"
116
- # With underscore
117
- create_invoice_request.invoice.item_list.item[0].name = "item1"
118
- ```
119
-
120
- To Assign multiple values:
121
-
122
- ```ruby
123
- create_invoice_request.invoice.itemList.item[0] = { :name => "item1", :quantity => 2.0, :unitPrice => 5.0 }
124
- ```
125
-
126
- To Get members list for the given object( For Reference ):
127
-
128
- ```ruby
129
- create_invoice_request.members
130
- create_invoice_request.baseAmountList.members
131
- ```
132
-
133
- ## Make API Request
134
-
135
- Make api call with request object:
136
-
137
- ```ruby
138
- create_invoice_response = api.create_invoice(create_invoice_request)
139
- ```
140
-
141
- Make api call with hash:
142
-
143
- ```ruby
144
- create_invoice_response = api.create_invoice( :invoice => { :merchantEmail => "jb-us-seller@paypal.com", :payerEmail => "sender@yahoo.com" } )
145
- ```
146
-
147
- ## Access values from response object
148
-
149
- To get response status:
150
-
151
- ```ruby
152
- create_invoice_response.responseEnvelope.ack
153
- ```
154
-
155
-
156
65
  ## Example
157
66
 
158
67
  ```ruby
@@ -181,14 +90,18 @@ require 'paypal-sdk-invoice'
181
90
  @create_invoice_response = @api.create_invoice(@create_invoice)
182
91
 
183
92
  # Access Response
184
- @create_invoice_response.responseEnvelope
185
- @create_invoice_response.invoiceID
186
- @create_invoice_response.invoiceNumber
187
- @create_invoice_response.invoiceURL
188
- @create_invoice_response.totalAmount
93
+ if @create_invoice_response.success?
94
+ @create_invoice_response.invoiceID
95
+ @create_invoice_response.invoiceNumber
96
+ @create_invoice_response.invoiceURL
97
+ else
98
+ @create_invoice_response.error
99
+ end
189
100
  ```
190
101
 
191
- ## Samples
102
+ For more samples [paypal-sdk-samples.herokuapp.com/invoice/](https://paypal-sdk-samples.herokuapp.com/invoice/)
103
+
104
+ ## Samples App
192
105
 
193
106
  Add following line in rails `Gemfile`:
194
107
 
@@ -14,6 +14,22 @@ module PayPal::SDK
14
14
  end
15
15
  end
16
16
 
17
+ module ResponseStatus
18
+ Status = { :success => ["Success", "SuccessWithWarning"],
19
+ :warning => ["Warning", "SuccessWithWarning", "FailureWithWarning"],
20
+ :failure => ["Failure", "FailureWithWarning"] }
21
+
22
+ def response_status
23
+ self.responseEnvelope && self.responseEnvelope.ack
24
+ end
25
+
26
+ Status.keys.each do |status|
27
+ define_method("#{status}?") do
28
+ Status[status].include?(self.response_status)
29
+ end
30
+ end
31
+ end
32
+
17
33
  class EnumType < Core::API::DataTypes::Enum
18
34
  end
19
35
 
@@ -59,6 +75,7 @@ module PayPal::SDK
59
75
  # This specifies a fault, encapsulating error data, with specific error codes.
60
76
  class FaultMessage < DataType
61
77
  def self.load_members
78
+ include ResponseStatus
62
79
  object_of :responseEnvelope, ResponseEnvelope, :required => true
63
80
  array_of :error, ErrorData
64
81
  end
@@ -220,6 +237,8 @@ module PayPal::SDK
220
237
  object_of :merchantInfo, BusinessInfoType
221
238
  # List of items included in this invoice.
222
239
  object_of :itemList, InvoiceItemListType, :required => true
240
+ # If True, indicates tax calculated after discount. Default is False.
241
+ object_of :taxCalculatedAfterDiscount, Boolean
223
242
  # Currency used for all invoice item amounts and totals.
224
243
  object_of :currencyCode, String, :required => true
225
244
  # Date on which the invoice will be enabled.
@@ -474,6 +493,7 @@ module PayPal::SDK
474
493
  # The response object for CreateInvoice.
475
494
  class CreateInvoiceResponse < DataType
476
495
  def self.load_members
496
+ include ResponseStatus
477
497
  object_of :responseEnvelope, ResponseEnvelope, :required => true
478
498
  # The created invoice's ID.
479
499
  object_of :invoiceID, String, :required => true
@@ -503,6 +523,7 @@ module PayPal::SDK
503
523
  # The response object for SendInvoice.
504
524
  class SendInvoiceResponse < DataType
505
525
  def self.load_members
526
+ include ResponseStatus
506
527
  object_of :responseEnvelope, ResponseEnvelope, :required => true
507
528
  # The sent invoice's ID.
508
529
  object_of :invoiceID, String, :required => true
@@ -528,6 +549,7 @@ module PayPal::SDK
528
549
  # The response object for CreateAndSendInvoice.
529
550
  class CreateAndSendInvoiceResponse < DataType
530
551
  def self.load_members
552
+ include ResponseStatus
531
553
  object_of :responseEnvelope, ResponseEnvelope, :required => true
532
554
  # The created invoice's ID.
533
555
  object_of :invoiceID, String, :required => true
@@ -559,6 +581,7 @@ module PayPal::SDK
559
581
  # The response object for UpdateInvoice.
560
582
  class UpdateInvoiceResponse < DataType
561
583
  def self.load_members
584
+ include ResponseStatus
562
585
  object_of :responseEnvelope, ResponseEnvelope, :required => true
563
586
  # The invoice's ID.
564
587
  object_of :invoiceID, String, :required => true
@@ -588,6 +611,7 @@ module PayPal::SDK
588
611
  # The response object for CreateInvoice.
589
612
  class GetInvoiceDetailsResponse < DataType
590
613
  def self.load_members
614
+ include ResponseStatus
591
615
  object_of :responseEnvelope, ResponseEnvelope, :required => true
592
616
  # The requested invoice.
593
617
  object_of :invoice, InvoiceType, :required => true
@@ -625,6 +649,7 @@ module PayPal::SDK
625
649
  # The response object for CancelInvoice.
626
650
  class CancelInvoiceResponse < DataType
627
651
  def self.load_members
652
+ include ResponseStatus
628
653
  object_of :responseEnvelope, ResponseEnvelope, :required => true
629
654
  # The canceled invoice's ID.
630
655
  object_of :invoiceID, String, :required => true
@@ -658,6 +683,7 @@ module PayPal::SDK
658
683
  # The response object for SearchInvoices.
659
684
  class SearchInvoicesResponse < DataType
660
685
  def self.load_members
686
+ include ResponseStatus
661
687
  object_of :responseEnvelope, ResponseEnvelope, :required => true
662
688
  # Number of invoices that matched the search.
663
689
  object_of :count, Integer, :required => true
@@ -691,6 +717,7 @@ module PayPal::SDK
691
717
  # The response object for MarkInvoiceAsPaid.
692
718
  class MarkInvoiceAsPaidResponse < DataType
693
719
  def self.load_members
720
+ include ResponseStatus
694
721
  object_of :responseEnvelope, ResponseEnvelope, :required => true
695
722
  # The paid invoice ID.
696
723
  object_of :invoiceID, String, :required => true
@@ -720,6 +747,7 @@ module PayPal::SDK
720
747
  # The response object for MarkInvoiceAsRefunded.
721
748
  class MarkInvoiceAsRefundedResponse < DataType
722
749
  def self.load_members
750
+ include ResponseStatus
723
751
  object_of :responseEnvelope, ResponseEnvelope, :required => true
724
752
  # The invoice ID of the invoice that was marked as refunded.
725
753
  object_of :invoiceID, String, :required => true
@@ -747,6 +775,7 @@ module PayPal::SDK
747
775
  # The response object for MarkInvoiceAsUnpaid.
748
776
  class MarkInvoiceAsUnpaidResponse < DataType
749
777
  def self.load_members
778
+ include ResponseStatus
750
779
  object_of :responseEnvelope, ResponseEnvelope, :required => true
751
780
  # The invoice ID of the invoice that was marked as unpaid.
752
781
  object_of :invoiceID, String, :required => true
@@ -788,6 +817,7 @@ module PayPal::SDK
788
817
  # The response object for DeleteInvoice.
789
818
  class DeleteInvoiceResponse < DataType
790
819
  def self.load_members
820
+ include ResponseStatus
791
821
  object_of :responseEnvelope, ResponseEnvelope, :required => true
792
822
  array_of :error, ErrorData
793
823
  end
@@ -1,7 +1,7 @@
1
1
  module PayPal
2
2
  module SDK
3
3
  module Invoice
4
- VERSION = "1.100.0"
4
+ VERSION = "1.101.0"
5
5
  end
6
6
  end
7
7
  end
@@ -15,13 +15,4 @@ describe "Invoice" do
15
15
  end
16
16
  end
17
17
 
18
- describe "DataTypes" do
19
- PayPal::SDK::Invoice::DataTypes.constants.each do |const_name|
20
- it "create object for #{const_name}" do
21
- klass = PayPal::SDK::Invoice::DataTypes.const_get(const_name)
22
- klass.new.should be_a klass
23
- end
24
- end
25
- end
26
-
27
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paypal-sdk-invoice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.100.0
4
+ version: 1.101.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - PayPal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-27 00:00:00.000000000 Z
11
+ date: 2013-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paypal-sdk-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.0
19
+ version: 0.2.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.0
26
+ version: 0.2.3
27
27
  description: The PayPal Invoice SDK provides Ruby APIs to create and manage Invoices
28
28
  using the PayPal's Invoicing Service API.
29
29
  email: