paypal-sdk-rest 1.4.9 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2490e56be1c78da53b019c1702f3d547df672024
4
- data.tar.gz: bceeb80ea46eb51676489edcde9a6c419c9066f0
3
+ metadata.gz: 3b3439f7dc0c9f865a7cc7815422c6b9bc81d050
4
+ data.tar.gz: bf6283b0d9c0f1fdc37093839b44dba33801324e
5
5
  SHA512:
6
- metadata.gz: ace6f59d27a3d96761684d8c89bb75f88e6d24e5a0542b1c60d827a4e409539a890762e151d5517c7147575b780062e906a4092fc32e6db4d04dc7faaebd3669
7
- data.tar.gz: 48ed978938587c4b73b864ec6bb8c2153c8d17e532b7129c1147807c9e5d3aa6339377809ed5d386d7182cb9b8b046768711c22eb7cf0f5b9a72905d84ecb8bf
6
+ metadata.gz: 77823b3d706673505b29aae207be9faf1d2c8a25525a3e2177cd5c6e18eb710bd7c250c39373f2af43e975b9d4b61fd7a9a83ad394ec1edfa5602fff2575bbd9
7
+ data.tar.gz: 5f2710b9aa5e78c3785e36ba496b139484cc0367ab83887ed6815fcab67c2cb3877165719ac5467f0e3efdc58fd7ebcb80824841065c90bd62b565a464df0409
data/Gemfile CHANGED
@@ -9,6 +9,7 @@ gem 'rake', :require => false
9
9
  group :test do
10
10
  gem 'simplecov', :require => false
11
11
  gem 'rspec'
12
+ gem 'webmock'
12
13
  end
13
14
 
14
15
  gem 'releasinator', '~> 0.6'
@@ -143,7 +143,7 @@ module PayPal::SDK::Core
143
143
  if response.code >= "200" and response.code <= "299"
144
144
  response.body && response.content_type == "application/json" ? MultiJson.load(response.body) : {}
145
145
  elsif response.content_type == "application/json"
146
- { "error" => MultiJson.load(response.body) }
146
+ { "error" => flat_hash(MultiJson.load(response.body)) }
147
147
  else
148
148
  { "error" => { "name" => response.code, "message" => response.message,
149
149
  "developer_msg" => response } }
@@ -151,6 +151,18 @@ module PayPal::SDK::Core
151
151
  payload
152
152
  end
153
153
 
154
+ def flat_hash(h)
155
+ new_hash = {}
156
+ h.each_pair do |key, val|
157
+ if val.is_a?(Hash)
158
+ new_hash.merge!(flat_hash(val))
159
+ else
160
+ new_hash[key] = val
161
+ end
162
+ end
163
+ new_hash
164
+ end
165
+
154
166
  # Log PayPal-Request-Id header
155
167
  def log_http_call(payload)
156
168
  if payload[:header] and payload[:header]["PayPal-Request-Id"]
@@ -20,7 +20,7 @@ module PayPal::SDK
20
20
  end
21
21
  alias_method :config=, :set_config
22
22
 
23
- AUTHORIZATION_URL = "paypal.com/webapps/auth/protocol/openidconnect/v1/authorize"
23
+ AUTHORIZATION_URL = "paypal.com/signin/authorize"
24
24
  ENDSESSION_URL = "paypal.com/webapps/auth/protocol/openidconnect/v1/endsession"
25
25
  DEFAULT_SCOPE = "openid"
26
26
 
@@ -1,5 +1,5 @@
1
1
  require 'paypal-sdk-core'
2
- require 'uuidtools'
2
+ require 'securerandom'
3
3
  require 'multi_json'
4
4
  require 'open-uri'
5
5
  require 'zlib'
@@ -17,7 +17,7 @@ module PayPal::SDK
17
17
  end
18
18
 
19
19
  def request_id
20
- @request_id ||= UUIDTools::UUID.random_create.to_s
20
+ @request_id ||= SecureRandom.uuid
21
21
  end
22
22
 
23
23
  def http_header
@@ -1122,30 +1122,39 @@ module PayPal::SDK
1122
1122
  class Invoice < Base
1123
1123
  def self.load_members
1124
1124
  object_of :id, String
1125
- object_of :number, String
1126
- object_of :uri, String
1127
- object_of :status, String
1128
- object_of :merchant_info, MerchantInfo
1129
- array_of :billing_info, BillingInfo
1130
- object_of :shipping_info, ShippingInfo
1131
- array_of :items, InvoiceItem
1132
- object_of :invoice_date, String
1133
- object_of :payment_term, PaymentTerm
1134
- object_of :reference, String
1135
- object_of :discount, Cost
1136
- object_of :shipping_cost, ShippingCost
1137
- object_of :custom, CustomAmount
1138
- object_of :tax_calculated_after_discount, Boolean
1139
- object_of :tax_inclusive, Boolean
1140
- object_of :terms, String
1141
- object_of :note, String
1142
- object_of :refunded_amount, InvoiceAmountWrapper
1143
- object_of :merchant_memo, String
1144
- object_of :logo_url, String
1145
- object_of :total_amount, Currency
1125
+ object_of :number, String
1126
+ object_of :template_id, String
1127
+ object_of :uri, String
1128
+ object_of :status, String
1129
+ object_of :merchant_info, MerchantInfo
1130
+ array_of :billing_info, BillingInfo
1131
+ array_of :cc_info, Participant
1132
+ object_of :shipping_info, ShippingInfo
1133
+ array_of :items, InvoiceItem
1134
+ object_of :invoice_date, String
1135
+ object_of :payment_term, PaymentTerm
1136
+ object_of :reference, String
1137
+ object_of :discount, Cost
1138
+ object_of :shipping_cost, ShippingCost
1139
+ object_of :custom, CustomAmount
1140
+ object_of :allow_partial_payment, Boolean
1141
+ object_of :minimum_amount_due, Currency
1142
+ object_of :tax_calculated_after_discount, Boolean
1143
+ object_of :tax_inclusive, Boolean
1144
+ object_of :terms, String
1145
+ object_of :note, String
1146
+ object_of :merchant_memo, String
1147
+ object_of :logo_url, String
1148
+ object_of :total_amount, Currency
1146
1149
  array_of :payments, PaymentDetail
1147
- array_of :refund_details, RefundDetail
1148
- object_of :metadata, Metadata
1150
+ array_of :refunds, RefundDetail
1151
+ object_of :metadata, Metadata
1152
+ object_of :additional_data, String
1153
+ object_of :gratuity, Currency
1154
+ object_of :paid_amount, PaymentSummary
1155
+ object_of :refunded_amount, PaymentSummary
1156
+ array_of :attachments, FileAttachment
1157
+ array_of :links, Links
1149
1158
  end
1150
1159
 
1151
1160
  include RequestDataType
@@ -1213,7 +1222,6 @@ module PayPal::SDK
1213
1222
  raise_on_api_error :create, :send_invoice, :remind, :cancel,
1214
1223
  :record_payment, :record_refund, :update, :delete
1215
1224
 
1216
-
1217
1225
  #
1218
1226
  class << self
1219
1227
  def search(options, access_token = nil)
@@ -1235,11 +1243,157 @@ module PayPal::SDK
1235
1243
  api.token = access_token unless access_token.nil?
1236
1244
  Invoices.new(api.get(path, options))
1237
1245
  end
1246
+
1247
+ def qr_code(options = {})
1248
+ path = "v1/invoicing/invoices/{invoice_id}/qr-code"
1249
+ object.new(api.get(path, options))
1250
+ end
1251
+
1252
+ def self.generate_number(options)
1253
+ path = "v1/invoicing/invoices/next-invoice-number"
1254
+ response = api.post(path, options)
1255
+ object.new(response)
1256
+ end
1238
1257
  end
1239
1258
  end
1240
1259
 
1241
- class WebhooksEventType < Base
1260
+ class Participant < Base
1261
+ def self.load_members
1262
+ object_of :email, String
1263
+ object_of :first_name, String
1264
+ object_of :last_name, String
1265
+ object_of :business_name, String
1266
+ object_of :phone, Phone
1267
+ object_of :fax, Phone
1268
+ object_of :website, String
1269
+ object_of :additional_info, String
1270
+ object_of :address, Address
1271
+ end
1272
+ end
1273
+
1274
+ class Template < Base
1275
+
1276
+ def self.load_members
1277
+ object_of :template_id, String
1278
+ object_of :name, String
1279
+ object_of :default, Boolean
1280
+ object_of :template_data, TemplateData
1281
+ array_of :settings, TemplateSettings
1282
+ object_of :unit_of_measure, String
1283
+ object_of :custom, Boolean
1284
+ array_of :links, Links
1285
+ end
1286
+
1287
+ include RequestDataType
1288
+
1289
+ def delete()
1290
+ path = "v1/invoicing/templates/#{self.template_id}"
1291
+ response = api.delete(path, {})
1292
+ self.merge!(response)
1293
+ success?
1294
+ end
1295
+
1296
+ def update()
1297
+ path = "v1/invoicing/templates/#{self.template_id}"
1298
+ response = api.put(path, self.to_hash, http_header)
1299
+ self.merge!(response)
1300
+ Template.new(response)
1301
+ end
1302
+
1303
+ def create()
1304
+ path = "v1/invoicing/templates"
1305
+ response = api.post(path, self.to_hash, http_header)
1306
+ self.merge!(response)
1307
+ Template.new(response)
1308
+ end
1309
+
1310
+ class << self
1311
+ def get(template_id, options = {})
1312
+ raise ArgumentError.new("template_id required") if template_id.to_s.strip.empty?
1313
+ path = "v1/invoicing/templates/#{template_id}"
1314
+ self.new(api.get(path, options))
1315
+ end
1316
+ end
1317
+ end
1318
+
1319
+ class TemplateData < Base
1242
1320
 
1321
+ def self.load_members
1322
+ object_of :merchant_info, MerchantInfo
1323
+ array_of :billing_info, BillingInfo
1324
+ array_of :cc_info, String
1325
+ object_of :shipping_info, ShippingInfo
1326
+ array_of :items, InvoiceItem
1327
+ object_of :payment_term, PaymentTerm
1328
+ object_of :reference, String
1329
+ object_of :discount, Cost
1330
+ object_of :shipping_cost, ShippingCost
1331
+ object_of :custom, CustomAmount
1332
+ object_of :allow_partial_payment, Boolean
1333
+ object_of :minimum_amount_due, Currency
1334
+ object_of :tax_calculated_after_discount, Boolean
1335
+ object_of :tax_inclusive, Boolean
1336
+ object_of :terms, String
1337
+ object_of :note, String
1338
+ object_of :merchant_memo, String
1339
+ object_of :logo_url, String
1340
+ object_of :total_amount, Currency
1341
+ array_of :attachments, FileAttachment
1342
+ end
1343
+
1344
+ end
1345
+
1346
+ class TemplateSettings < Base
1347
+
1348
+ def self.load_members
1349
+ object_of :field_name, String
1350
+ object_of :display_preference, TemplateSettingsMetadata
1351
+ end
1352
+ end
1353
+
1354
+ class TemplateSettingsMetadata < Base
1355
+
1356
+ def self.load_members
1357
+ object_of :hidden, Boolean
1358
+ end
1359
+
1360
+ end
1361
+
1362
+ class PaymentSummary < Base
1363
+ def self.load_members
1364
+ object_of :paypal, Currency
1365
+ object_of :other, Currency
1366
+ end
1367
+ end
1368
+ class FileAttachment < Base
1369
+
1370
+ def self.load_members
1371
+ object_of :name, String
1372
+ object_of :url, String
1373
+ end
1374
+
1375
+ end
1376
+ class Templates < Base
1377
+
1378
+ def self.load_members
1379
+ array_of :addresses, Address
1380
+ array_of :emails, String
1381
+ array_of :phones, Phone
1382
+ array_of :templates, Template
1383
+ array_of :links, Links
1384
+ end
1385
+
1386
+ include RequestDataType
1387
+
1388
+ class << self
1389
+ def get_all(options = {})
1390
+ path = "v1/invoicing/templates/"
1391
+ Templates.new(api.get(path, options))
1392
+ end
1393
+ end
1394
+ end
1395
+
1396
+ class WebhooksEventType < Base
1243
1397
  def self.load_members
1244
1398
  array_of :event_types, EventType
1245
1399
  end
@@ -1270,6 +1424,7 @@ module PayPal::SDK
1270
1424
  def self.load_members
1271
1425
  object_of :name, String
1272
1426
  object_of :description, String
1427
+ object_of :status, String
1273
1428
  end
1274
1429
  end
1275
1430
 
@@ -1286,10 +1441,12 @@ module PayPal::SDK
1286
1441
  object_of :id, String
1287
1442
  object_of :create_time, String
1288
1443
  object_of :resource_type, String
1444
+ object_of :event_version, String
1289
1445
  object_of :event_type, String
1290
1446
  object_of :summary, String
1447
+ object_of :status, String
1291
1448
  object_of :resource, Hash
1292
- array_of :links, Links
1449
+ array_of :links, Links
1293
1450
  end
1294
1451
 
1295
1452
  def resend()
@@ -1384,9 +1541,20 @@ module PayPal::SDK
1384
1541
  end
1385
1542
 
1386
1543
  def get(webhook_event_id)
1387
- raise ArgumentError.new("webhook_event_id required") if webhook_event_id.to_s.strip.empty?
1388
- path = "v1/notifications/webhooks-events/#{webhook_event_id}"
1389
- WebhookEvent.new(api.get(path))
1544
+ WebhookEvent.find(webhook_event_id)
1545
+ end
1546
+
1547
+ class << self
1548
+ def find(resource_id)
1549
+ raise ArgumentError.new("webhook_event_id required") if resource_id.to_s.strip.empty?
1550
+ path = "v1/notifications/webhooks-events/#{resource_id}"
1551
+ self.new(api.get(path))
1552
+ end
1553
+
1554
+ def all(options = {})
1555
+ path = "v1/notifications/webhooks-events"
1556
+ WebhookEventList.new(api.get(path, options))
1557
+ end
1390
1558
  end
1391
1559
  end
1392
1560
  end
@@ -1396,8 +1564,8 @@ module PayPal::SDK
1396
1564
  def self.load_members
1397
1565
  object_of :id, String
1398
1566
  object_of :url, String
1399
- array_of :event_types, EventType
1400
- array_of :links, Links
1567
+ array_of :event_types, EventType
1568
+ array_of :links, Links
1401
1569
  end
1402
1570
 
1403
1571
  include RequestDataType
@@ -1433,11 +1601,13 @@ module PayPal::SDK
1433
1601
  path = "v1/notifications/webhooks/#{webhook_id}"
1434
1602
  Webhook.new(api.get(path))
1435
1603
  end
1604
+
1436
1605
  def get_event_types(webhook_id)
1437
1606
  raise ArgumentError.new("webhook_id required") if webhook_id.to_s.strip.empty?
1438
1607
  path = "v1/notifications/webhooks/#{webhook_id}/event-types"
1439
1608
  EventTypeList.new(api.get(path))
1440
1609
  end
1610
+
1441
1611
  def all(options={})
1442
1612
  path = "v1/notifications/webhooks"
1443
1613
  WebhookList.new(api.get(path))
@@ -1559,28 +1729,31 @@ module PayPal::SDK
1559
1729
 
1560
1730
  class InvoiceItem < Base
1561
1731
  def self.load_members
1562
- object_of :name, String
1563
- object_of :description, String
1564
- object_of :quantity, Number
1565
- object_of :unit_price, Currency
1566
- object_of :tax, Tax
1567
- object_of :date, String
1568
- object_of :discount, Cost
1732
+ object_of :name, String
1733
+ object_of :description, String
1734
+ object_of :quantity, Number
1735
+ object_of :unit_price, Currency
1736
+ object_of :tax, Tax
1737
+ object_of :date, String
1738
+ object_of :discount, Cost
1739
+ object_of :image_url, String
1740
+ object_of :unit_of_measure, String
1569
1741
  end
1570
1742
  end
1571
1743
 
1572
1744
  class MerchantInfo < Base
1573
1745
  def self.load_members
1574
- object_of :email, String
1575
- object_of :first_name, String
1576
- object_of :last_name, String
1577
- object_of :address, Address
1578
- object_of :business_name, String
1579
- object_of :phone, Phone
1580
- object_of :fax, Phone
1581
- object_of :website, String
1582
- object_of :tax_id, String
1583
- object_of :additional_info, String
1746
+ object_of :email, String
1747
+ object_of :first_name, String
1748
+ object_of :last_name, String
1749
+ object_of :address, Address
1750
+ object_of :business_name, String
1751
+ object_of :phone, Phone
1752
+ object_of :fax, Phone
1753
+ object_of :website, String
1754
+ object_of :tax_id, String
1755
+ object_of :additional_info_label, String
1756
+ object_of :additional_info, String
1584
1757
  end
1585
1758
  end
1586
1759
 
@@ -1593,6 +1766,8 @@ module PayPal::SDK
1593
1766
  object_of :address, Address
1594
1767
  object_of :language, String
1595
1768
  object_of :additional_info, String
1769
+ object_of :notification_channel, String
1770
+ object_of :phone, Phone
1596
1771
  end
1597
1772
  end
1598
1773
 
@@ -1611,6 +1786,7 @@ module PayPal::SDK
1611
1786
  object_of :subject, String
1612
1787
  object_of :note, String
1613
1788
  object_of :send_to_merchant, Boolean
1789
+ array_of :cc_emails, String
1614
1790
  end
1615
1791
  end
1616
1792
 
@@ -1668,6 +1844,7 @@ module PayPal::SDK
1668
1844
  object_of :page, Number
1669
1845
  object_of :page_size, Number
1670
1846
  object_of :total_count_required, Boolean
1847
+ object_of :archived, Boolean
1671
1848
  end
1672
1849
  end
1673
1850
 
@@ -2109,10 +2286,10 @@ module PayPal::SDK
2109
2286
  def self.load_members
2110
2287
  object_of :id, String
2111
2288
  object_of :name, String
2289
+ object_of :temporary, Boolean
2112
2290
  object_of :flow_config, FlowConfig
2113
2291
  object_of :input_fields, InputFields
2114
2292
  object_of :presentation, Presentation
2115
- object_of :temporary, Boolean
2116
2293
  end
2117
2294
 
2118
2295
  include RequestDataType
@@ -2132,8 +2309,9 @@ module PayPal::SDK
2132
2309
  end
2133
2310
 
2134
2311
  def partial_update(patch_request)
2312
+ patch_request = PatchRequest.new(patch_request) unless patch_request.is_a? PatchRequest
2135
2313
  path = "v1/payment-experience/web-profiles/#{self.id}"
2136
- response = api.patch(path, patch_request, http_header)
2314
+ response = api.patch(path, patch_request.to_hash, http_header)
2137
2315
  self.merge!(response)
2138
2316
  success?
2139
2317
  end
@@ -2173,6 +2351,8 @@ module PayPal::SDK
2173
2351
  def self.load_members
2174
2352
  object_of :landing_page_type, String
2175
2353
  object_of :bank_txn_pending_url, String
2354
+ object_of :user_action, String
2355
+ object_of :return_uri_http_method, String
2176
2356
  end
2177
2357
  end
2178
2358
 
@@ -2189,12 +2369,8 @@ module PayPal::SDK
2189
2369
  object_of :brand_name, String
2190
2370
  object_of :logo_image, String
2191
2371
  object_of :locale_code, String
2192
- end
2193
- end
2194
-
2195
- class CreateProfileResponse < Base
2196
- def self.load_members
2197
- object_of :id, String
2372
+ object_of :return_url_label, String
2373
+ object_of :note_to_seller_label, String
2198
2374
  end
2199
2375
  end
2200
2376
 
@@ -1,7 +1,7 @@
1
1
  module PayPal
2
2
  module SDK
3
3
  module REST
4
- VERSION = "1.4.9"
4
+ VERSION = "1.5.0"
5
5
  end
6
6
  end
7
7
  end
@@ -1,4 +1,6 @@
1
1
  require 'spec_helper'
2
+ require 'json'
3
+ require 'webmock/rspec'
2
4
 
3
5
  describe "Payments" do
4
6
 
@@ -49,6 +51,18 @@ describe "Payments" do
49
51
  "currency" => "USD" },
50
52
  "description" => "This is the payment transaction description." } ] }
51
53
 
54
+ ProcessorErrorResponse = {
55
+ "name" => "INSTRUMENT_DECLINED",
56
+ "message" => "The instrument presented was either declined by the processor or bank, or it can't be used for this payment.",
57
+ "information_link" => "https://developer.paypal.com/docs/api/#INSTRUMENT_DECLINED",
58
+ "debug_id" => "20dcd4f71107c",
59
+ "another_thing" => {
60
+ "avs_code" => "Y",
61
+ "cvv_code" => "N",
62
+ "response_code" => "0051"
63
+ }
64
+ }
65
+
52
66
  it "Validate user-agent", :unit => true do
53
67
  expect(PayPal::SDK::REST::API.user_agent).to match "PayPalSDK/PayPal-Ruby-SDK"
54
68
  end
@@ -62,6 +76,40 @@ describe "Payments" do
62
76
  PayPal::SDK::REST.set_config(backup_config)
63
77
  expect(PayPal::SDK::REST.api.config.client_id).not_to eql "XYZ"
64
78
  end
79
+
80
+ it "Create - does not return true when error not provided in response" do
81
+ oauth_response = {
82
+ :scope => "https://uri.paypal.com/services/subscriptions https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://uri.paypal.com/services/applications/webhooks openid https://uri.paypal.com/payments/payouts https://api.paypal.com/v1/vault/credit-card/.*",
83
+ :nonce => "2016-10-04T18:00:00ZP3PcGAv5XAncoc8Zt4MF5cRLlaEBW3OAoLEhMIFk--g",
84
+ :access_token => "A101.tp_sF5GHqWnnqEQA13Ua5ABnIhRWgd-G9LhRnJdgOvJHc_L08zlfD9WgPF4I3kre.mShauuOGxWyw8ikViItmxkWmX78",
85
+ :token_type => "Bearer",
86
+ :app_id => "APP-80W284485P519543T",
87
+ :expires_in => 30695
88
+ }
89
+
90
+ response_headers = {
91
+ "date" => ["Fri, 09 Sep 2016 17:44:23 GMT"],
92
+ "server" => ["Apache"],
93
+ "proxy_server_info" => ["host=dcg12javapapi8768.dcg12.slc.paypalinc.com;threadId=1177"],
94
+ "paypal-debug-id" => ["20dcd4f71107c", "20dcd4f71107c"],
95
+ "correlation-id" => ["20dcd4f71107c"],
96
+ "content-language" => ["*"],
97
+ "connection" => ["close", "close"],
98
+ "set-cookie" => ["X-PP-SILOVER=name%3DLIVE3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D4160016983%26HTTP_X_PP_AZ_LOCATOR%3Ddcg12.slc; Expires=Fri, 09 Sep 2016 18:14:25 GMT; domain=.paypal.com; path=/; Secure; HttpOnly", "X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT"],
99
+ "vary" => ["Authorization"],
100
+ "content-length" => ["335"],
101
+ "content-type"=>["application/json"]
102
+ }
103
+
104
+ stub_request(:post, "https://api.sandbox.paypal.com/v1/oauth2/token")
105
+ .to_return(:body => oauth_response.to_json)
106
+
107
+ stub_request(:post, "https://api.sandbox.paypal.com/v1/payments/payment")
108
+ .to_return(:body => ProcessorErrorResponse.to_json, :status => 400, :headers => response_headers)
109
+
110
+ payment = Payment.new(PaymentAttributes)
111
+ expect(payment.create).to be_falsey
112
+ end
65
113
  end
66
114
 
67
115
  describe "Payment", :integration => true do
@@ -87,7 +135,6 @@ describe "Payments" do
87
135
  expect(new_payment.error).to be_nil
88
136
 
89
137
  expect(payment.id).to eql new_payment.id
90
-
91
138
  end
92
139
 
93
140
  it "Create with token" do
@@ -33,3 +33,5 @@ RSpec.configure do |config|
33
33
  config.include SampleData
34
34
  # config.include PayPal::SDK::REST::DataTypes
35
35
  end
36
+
37
+ WebMock.allow_net_connect!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paypal-sdk-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - PayPal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2016-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
- - !ruby/object:Gem::Dependency
56
- name: uuidtools
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '2.1'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.1'
69
55
  description: The PayPal REST SDK provides Ruby APIs to create, process and manage
70
56
  payment.
71
57
  email: