openpay 1.0.3 → 1.0.4
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 +13 -5
- data/.gitignore +1 -0
- data/.idea/.rakeTasks +2 -2
- data/.idea/OpenPay.iml +30 -20
- data/.idea/runConfigurations/Run_spec__bankaccounts_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__cards_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__charges_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__customers_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__exceptions_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__fees_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__payouts_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__plans_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__subscriptions_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/Run_spec__transfers_spec___OpenPay.xml +1 -0
- data/.idea/runConfigurations/all_specs.xml +1 -0
- data/.idea/workspace.xml +484 -268
- data/Gemfile +0 -6
- data/README.md +111 -29
- data/lib/openpay.rb +7 -3
- data/lib/openpay/bankaccounts.rb +10 -11
- data/lib/openpay/cards.rb +12 -14
- data/lib/openpay/charges.rb +38 -14
- data/lib/openpay/customers.rb +73 -67
- data/lib/openpay/errors/openpay_exception_factory.rb +14 -26
- data/lib/openpay/fees.rb +1 -1
- data/lib/openpay/open_pay_resource.rb +77 -77
- data/lib/openpay/open_pay_resource_factory.rb +1 -1
- data/lib/openpay/openpay_api.rb +6 -16
- data/lib/openpay/payouts.rb +13 -17
- data/lib/openpay/plans.rb +1 -7
- data/lib/openpay/subscriptions.rb +21 -29
- data/lib/openpay/transfers.rb +14 -18
- data/lib/openpay/utils/search_params.rb +20 -0
- data/lib/version.rb +1 -2
- data/openpay.gemspec +0 -8
- data/test/Factories.rb +80 -126
- data/test/spec/bankaccounts_spec.rb +55 -61
- data/test/spec/cards_spec.rb +56 -76
- data/test/spec/charges_spec.rb +89 -84
- data/test/spec/customers_spec.rb +37 -47
- data/test/spec/exceptions_spec.rb +4 -21
- data/test/spec/fees_spec.rb +51 -7
- data/test/spec/payouts_spec.rb +102 -65
- data/test/spec/plans_spec.rb +27 -50
- data/test/spec/subscriptions_spec.rb +87 -24
- data/test/spec/transfers_spec.rb +42 -44
- data/test/spec/utils/search_params_spec.rb +36 -0
- data/test/spec_helper.rb +1 -5
- metadata +15 -55
- data/lib/OpenPay/Cards.rb +0 -75
- data/lib/OpenPay/Charges.rb +0 -77
- data/lib/OpenPay/Customers.rb +0 -194
- data/lib/OpenPay/Fees.rb +0 -5
- data/lib/OpenPay/Payouts.rb +0 -59
- data/lib/OpenPay/Plans.rb +0 -23
- data/lib/OpenPay/Subscriptions.rb +0 -58
- data/lib/OpenPay/Transfers.rb +0 -43
- data/lib/OpenPay/bankaccounts.rb +0 -59
- data/lib/OpenPay/errors/openpay_connection_exception.rb +0 -3
- data/lib/OpenPay/errors/openpay_exception.rb +0 -29
- data/lib/OpenPay/errors/openpay_exception_factory.rb +0 -60
- data/lib/OpenPay/errors/openpay_transaction_exception.rb +0 -5
- data/lib/OpenPay/open_pay_resource.rb +0 -242
- data/lib/OpenPay/open_pay_resource_factory.rb +0 -10
- data/lib/OpenPay/openpay_api.rb +0 -58
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
<img src="http://www.openpay.mx/img/logo.png">
|
2
|
+
|
3
|
+
# Openpay-Ruby [](https://travis-ci.org/open-pay/openpay-ruby)
|
2
4
|
|
3
5
|
##Description
|
4
6
|
|
5
|
-
ruby client for *Openpay api* services (version 1.0.
|
7
|
+
ruby client for *Openpay api* services (version 1.0.4)
|
6
8
|
|
7
9
|
This is a ruby client implementing the payment services for *Openpay* at openpay.mx
|
8
10
|
|
@@ -275,13 +277,21 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
275
277
|
bank_account['alias']
|
276
278
|
end
|
277
279
|
|
280
|
+
- list merchant / customer bank accounts
|
281
|
+
|
282
|
+
search_params = OpenpayUtils::SearchParams.new
|
283
|
+
search_params.limit = 1
|
284
|
+
|
285
|
+
merchant_filtered_list = bank_accounts.list(search_params)
|
286
|
+
customer_filtered_list = bank_accounts.list(search_params, customer_id)
|
287
|
+
|
278
288
|
- all bank accounts for a given customer
|
279
289
|
|
280
|
-
|
290
|
+
accounts=bank_accounts.all(customer_id)
|
281
291
|
|
282
292
|
- deletes a given customer bank account
|
283
293
|
|
284
|
-
|
294
|
+
bank_accounts.delete(customer_id,bank_id)
|
285
295
|
|
286
296
|
- deletes all customer bank accounts (sandbox mode only)
|
287
297
|
|
@@ -309,6 +319,14 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
309
319
|
|
310
320
|
cards.each {|merchant_card| p card}
|
311
321
|
|
322
|
+
- list merchant / customer cards
|
323
|
+
|
324
|
+
search_params = OpenpayUtils::SearchParams.new
|
325
|
+
search_params.limit = 1
|
326
|
+
|
327
|
+
merchant_filtered_list = cards.list(search_params)
|
328
|
+
customer_filtered_list = cards.list(search_params, customer_id)
|
329
|
+
|
312
330
|
- each customer card
|
313
331
|
|
314
332
|
cards.each(customer_id) {|customer_card | p customer_card }
|
@@ -329,13 +347,13 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
329
347
|
|
330
348
|
cards.delete(card_id,customer_id)
|
331
349
|
|
332
|
-
|
350
|
+
- delete all merchant cards
|
333
351
|
|
334
352
|
cards.delete_all
|
335
353
|
|
336
|
-
|
354
|
+
- delete all customer cards
|
337
355
|
|
338
|
-
|
356
|
+
cards.delete_all(customer_id)
|
339
357
|
|
340
358
|
|
341
359
|
#### charges
|
@@ -355,24 +373,32 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
355
373
|
|
356
374
|
- gets customer charge
|
357
375
|
|
358
|
-
|
376
|
+
customer_charge=charges.get(charge_id,customer_id)
|
359
377
|
|
360
378
|
- each merchant charge
|
361
379
|
|
362
|
-
|
380
|
+
charges.each {|charge| p charge}
|
381
|
+
|
382
|
+
- list merchant / customer charges
|
383
|
+
|
384
|
+
search_params = OpenpayUtils::SearchParams.new
|
385
|
+
search_params.limit = 1
|
386
|
+
|
387
|
+
merchant_filtered_list = charges.list(search_params)
|
388
|
+
customer_filtered_list = charges.list(search_params, customer_id)
|
363
389
|
|
364
390
|
- each customer charge
|
365
391
|
|
366
|
-
|
392
|
+
charges.each(customer_id) {|charge| p charge}
|
367
393
|
|
368
394
|
|
369
395
|
- all merchant charge
|
370
396
|
|
371
|
-
|
397
|
+
charges.all
|
372
398
|
|
373
399
|
- all customer charge
|
374
400
|
|
375
|
-
|
401
|
+
charges.all(customer_id)
|
376
402
|
|
377
403
|
- capture merchant card
|
378
404
|
|
@@ -382,14 +408,25 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
382
408
|
|
383
409
|
charges.capture(charge['id'],customer['id'])
|
384
410
|
|
411
|
+
- confirm capture merchant
|
412
|
+
|
413
|
+
#pass a hash with the following options, no customer_id needed
|
414
|
+
confirm_capture_options = { transaction_id: transaction['id'], amount: 100 }
|
415
|
+
charges.confirm_capture(confirm_capture_options)
|
416
|
+
|
417
|
+
- confirm capture customer
|
418
|
+
|
419
|
+
#pass a hash with the following options, pass the customer_id
|
420
|
+
confirm_capture_options = { customer_id: customer['id'], transaction_id: charge['id'], amount: 100 }
|
421
|
+
charges.confirm_capture(confirm_capture_options)
|
422
|
+
|
385
423
|
- refund merchant charge
|
386
424
|
|
387
425
|
charges.refund(charge_id, refund_description_hash)
|
388
426
|
|
389
427
|
- refund merchant charge
|
390
428
|
|
391
|
-
|
392
|
-
|
429
|
+
charges.refund(charge_id, refund_description_hash)
|
393
430
|
|
394
431
|
|
395
432
|
#### customers
|
@@ -414,19 +451,24 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
414
451
|
|
415
452
|
customers.each do {|customer| p customer }
|
416
453
|
|
417
|
-
- list
|
454
|
+
- list customers
|
455
|
+
|
456
|
+
search_params = OpenpayUtils::SearchParams.new
|
457
|
+
search_params.limit = 1
|
458
|
+
|
459
|
+
customers_filtered_list = customers.list(search_params)
|
418
460
|
|
419
|
-
all_customers=customers.all
|
420
461
|
|
462
|
+
- all customer
|
463
|
+
|
464
|
+
all_customers=customers.all
|
421
465
|
|
422
466
|
- delete all customers (sand box mode only)
|
423
467
|
|
424
468
|
all_customers=customers.all
|
425
469
|
|
426
|
-
|
427
470
|
#### fees
|
428
471
|
|
429
|
-
|
430
472
|
- creates fee
|
431
473
|
|
432
474
|
#In order to create a fee a charge should exists
|
@@ -436,6 +478,12 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
436
478
|
|
437
479
|
all_fees=fees.all
|
438
480
|
|
481
|
+
- list customer fees
|
482
|
+
|
483
|
+
search_params = OpenpayUtils::SearchParams.new
|
484
|
+
search_params.limit = 1
|
485
|
+
|
486
|
+
merchant_filtered_list = fees.list(search_params)
|
439
487
|
|
440
488
|
#### payouts
|
441
489
|
|
@@ -445,7 +493,7 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
445
493
|
|
446
494
|
- creates a customer payout
|
447
495
|
|
448
|
-
|
496
|
+
payouts.create(payout_hash,customer_id)
|
449
497
|
|
450
498
|
- gets a merchant payout
|
451
499
|
|
@@ -470,7 +518,13 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
470
518
|
|
471
519
|
payouts.each(customer_id) { |payout| p payout }
|
472
520
|
|
521
|
+
- list merchant/customer payouts
|
522
|
+
|
523
|
+
search_params = OpenpayUtils::SearchParams.new
|
524
|
+
search_params.limit = 1
|
473
525
|
|
526
|
+
merchant_filtered_list = payouts.list(search_params)
|
527
|
+
customer_filtered_list = payouts.list(search_params, customer_id)
|
474
528
|
|
475
529
|
#### plans
|
476
530
|
|
@@ -479,7 +533,7 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
479
533
|
plans.create(plan_hash)
|
480
534
|
|
481
535
|
|
482
|
-
- create customer
|
536
|
+
- create customer plan
|
483
537
|
|
484
538
|
plans.create(plan_hash,customer_id)
|
485
539
|
|
@@ -487,33 +541,42 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
487
541
|
|
488
542
|
merchant_plan=plans.get(plan_id)
|
489
543
|
|
490
|
-
- get a customer
|
544
|
+
- get a customer plan
|
491
545
|
|
492
546
|
customer_plan=plans.get(plan_id,customer_id)
|
493
547
|
|
494
548
|
|
495
|
-
- updates a merchant
|
549
|
+
- updates a merchant plan
|
496
550
|
|
497
551
|
plans.update(plan_hash,customer_id)
|
498
552
|
|
499
|
-
- updates a customer
|
553
|
+
- updates a customer plan
|
500
554
|
|
501
555
|
plans.update(plan_hash,customer_id)
|
502
556
|
|
503
|
-
- each merchant
|
557
|
+
- each merchant plan
|
504
558
|
|
505
559
|
plans.each do {|plan| p plan }
|
506
560
|
|
507
|
-
- each customer
|
561
|
+
- each customer plans
|
508
562
|
|
509
563
|
plans.each(customer_id) do {|plan| p plan }
|
510
564
|
|
511
565
|
|
512
|
-
-
|
566
|
+
- list merchant /customer plan
|
567
|
+
|
568
|
+
search_params = OpenpayUtils::SearchParams.new
|
569
|
+
search_params.limit = 1
|
570
|
+
|
571
|
+
merchant_filtered_list = plans.list(search_params)
|
572
|
+
customer_filtered_list = plans.list(search_params, customer_id)
|
573
|
+
|
574
|
+
|
575
|
+
- all merchant plans
|
513
576
|
|
514
577
|
plans.all
|
515
578
|
|
516
|
-
- all customer
|
579
|
+
- all customer plans
|
517
580
|
|
518
581
|
plans.all(customer_id)
|
519
582
|
|
@@ -528,6 +591,11 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
528
591
|
|
529
592
|
subscriptions.get(subscriptions_hash,customer_id)
|
530
593
|
|
594
|
+
- update customer subscription
|
595
|
+
|
596
|
+
subscription_update_hash={ trial_end_date: "2016-01-12" }
|
597
|
+
subscriptions.update(subscription_id,customer_id, subscription_update_hash )
|
598
|
+
|
531
599
|
- all customer subscription
|
532
600
|
|
533
601
|
subscriptions.all(customer_id)
|
@@ -537,6 +605,14 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
537
605
|
|
538
606
|
subscriptions.each(customer_id) {|subscription| p subscription }
|
539
607
|
|
608
|
+
|
609
|
+
- list customer subscriptions
|
610
|
+
|
611
|
+
search_params = OpenpayUtils::SearchParams.new
|
612
|
+
search_params.limit = 1
|
613
|
+
|
614
|
+
customer_filtered_list = subscriptions.list(search_params, customer_id)
|
615
|
+
|
540
616
|
- deletes customer subscription
|
541
617
|
|
542
618
|
subscriptions.delete(customer_id)
|
@@ -566,15 +642,21 @@ open_pay_resource.delete_all(customer_id=nil)
|
|
566
642
|
|
567
643
|
transfers.each(customer_id) {|transfer| p transfer }
|
568
644
|
|
645
|
+
- list customer transfers
|
646
|
+
|
647
|
+
search_params = OpenpayUtils::SearchParams.new
|
648
|
+
search_params.limit = 1
|
649
|
+
|
650
|
+
customer_filtered_list = transfers.list(search_params, customer_id)
|
569
651
|
|
570
652
|
|
571
653
|
#### Exceptions
|
572
654
|
|
573
655
|
This API generates 3 different Exception classes.
|
574
656
|
|
575
|
-
- **OpenpayException**: Generic base
|
657
|
+
- **OpenpayException**: Generic base API exception class, Generic API exceptions.
|
576
658
|
|
577
|
-
- Internal server error (500 Internal Server Error)
|
659
|
+
- Internal server error (500 Internal Server Error).
|
578
660
|
- OpenpayApi factory method, invalid resource name.
|
579
661
|
|
580
662
|
Examples:
|
data/lib/openpay.rb
CHANGED
@@ -8,10 +8,10 @@ require 'json'
|
|
8
8
|
module Openpay
|
9
9
|
|
10
10
|
#api setup / constants
|
11
|
-
require
|
11
|
+
require 'openpay/openpay_api'
|
12
12
|
|
13
13
|
#base class
|
14
|
-
require
|
14
|
+
require 'openpay/open_pay_resource'
|
15
15
|
|
16
16
|
#resource classes
|
17
17
|
require 'openpay/bankaccounts'
|
@@ -25,10 +25,14 @@ module Openpay
|
|
25
25
|
require 'openpay/transfers'
|
26
26
|
require 'openpay/charges'
|
27
27
|
|
28
|
+
#misc
|
29
|
+
require 'openpay/utils/search_params'
|
30
|
+
|
28
31
|
#exceptions
|
29
32
|
require 'errors/openpay_exception_factory'
|
30
33
|
require 'errors/openpay_exception'
|
31
34
|
require 'errors/openpay_transaction_exception'
|
32
35
|
require 'errors/openpay_connection_exception'
|
33
36
|
|
34
|
-
|
37
|
+
include OpenpayUtils
|
38
|
+
end
|
data/lib/openpay/bankaccounts.rb
CHANGED
@@ -1,15 +1,12 @@
|
|
1
1
|
require 'open_pay_resource'
|
2
2
|
|
3
|
-
|
4
3
|
class Bankaccounts < OpenPayResource
|
5
4
|
|
6
|
-
|
7
5
|
def create(bank_account,customer_id)
|
8
6
|
customers=@api_hook.create(:customers)
|
9
7
|
customers.create_bank_account(customer_id,bank_account)
|
10
8
|
end
|
11
9
|
|
12
|
-
|
13
10
|
def get(customer_id='',bank_account=nil)
|
14
11
|
customers=@api_hook.create(:customers)
|
15
12
|
|
@@ -21,27 +18,31 @@ class Bankaccounts < OpenPayResource
|
|
21
18
|
|
22
19
|
end
|
23
20
|
|
24
|
-
|
25
21
|
def delete(customer_id,bank_account)
|
26
22
|
customers=@api_hook.create(:customers)
|
27
23
|
customers.delete_bank_account(customer_id,bank_account)
|
28
24
|
end
|
29
25
|
|
30
|
-
|
31
26
|
def each(customer_id)
|
32
27
|
customers=@api_hook.create(:customers)
|
33
28
|
customers.each_bank_account(customer_id) do |acc|
|
34
29
|
yield acc
|
35
30
|
end
|
36
|
-
|
37
31
|
end
|
38
32
|
|
39
|
-
|
40
33
|
def all(customer_id)
|
41
|
-
|
42
|
-
|
34
|
+
customers=@api_hook.create(:customers)
|
35
|
+
customers.all_bank_accounts(customer_id)
|
43
36
|
end
|
44
37
|
|
38
|
+
def list(search_params,customer_id=nil)
|
39
|
+
if customer_id
|
40
|
+
customers=@api_hook.create(:customers)
|
41
|
+
customers.list_bankaccounts(customer_id,search_params)
|
42
|
+
else
|
43
|
+
super search_params
|
44
|
+
end
|
45
|
+
end
|
45
46
|
|
46
47
|
def delete_all(customer_id)
|
47
48
|
|
@@ -54,6 +55,4 @@ class Bankaccounts < OpenPayResource
|
|
54
55
|
|
55
56
|
end
|
56
57
|
|
57
|
-
|
58
|
-
|
59
58
|
end
|
data/lib/openpay/cards.rb
CHANGED
@@ -2,11 +2,6 @@ require 'open_pay_resource'
|
|
2
2
|
|
3
3
|
class Cards < OpenPayResource
|
4
4
|
|
5
|
-
def list(creation,before,after,offset=0,limit=10)
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
|
10
5
|
def get(card='',customer_id=nil)
|
11
6
|
if customer_id
|
12
7
|
customers=@api_hook.create(:customers)
|
@@ -16,7 +11,6 @@ class Cards < OpenPayResource
|
|
16
11
|
end
|
17
12
|
end
|
18
13
|
|
19
|
-
|
20
14
|
def create(card,customer_id=nil)
|
21
15
|
if customer_id
|
22
16
|
customers=@api_hook.create(:customers)
|
@@ -26,7 +20,6 @@ class Cards < OpenPayResource
|
|
26
20
|
end
|
27
21
|
end
|
28
22
|
|
29
|
-
|
30
23
|
def delete(card_id,customer_id=nil)
|
31
24
|
if customer_id
|
32
25
|
customers=@api_hook.create(:customers)
|
@@ -36,7 +29,6 @@ class Cards < OpenPayResource
|
|
36
29
|
end
|
37
30
|
end
|
38
31
|
|
39
|
-
|
40
32
|
def delete_all(customer_id=nil)
|
41
33
|
if customer_id
|
42
34
|
customers=@api_hook.create(:customers)
|
@@ -48,28 +40,34 @@ class Cards < OpenPayResource
|
|
48
40
|
end
|
49
41
|
end
|
50
42
|
|
51
|
-
|
52
43
|
def each(customer_id=nil)
|
53
44
|
if customer_id
|
54
45
|
all(customer_id).each do |card|
|
55
46
|
yield card
|
56
47
|
end
|
57
48
|
else
|
58
|
-
|
59
|
-
|
60
|
-
|
49
|
+
all.each do |card|
|
50
|
+
yield card
|
51
|
+
end
|
61
52
|
end
|
62
53
|
end
|
63
54
|
|
64
|
-
|
65
55
|
def all(customer_id=nil)
|
66
56
|
if customer_id
|
67
57
|
customers=@api_hook.create(:customers)
|
68
58
|
customers.all_cards(customer_id)
|
69
59
|
else
|
70
|
-
super
|
60
|
+
super ''
|
71
61
|
end
|
72
62
|
end
|
73
63
|
|
64
|
+
def list(search_params,customer_id=nil)
|
65
|
+
if customer_id
|
66
|
+
customers=@api_hook.create(:customers)
|
67
|
+
customers.list_cards(customer_id,search_params)
|
68
|
+
else
|
69
|
+
super search_params
|
70
|
+
end
|
71
|
+
end
|
74
72
|
|
75
73
|
end
|