openpay 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/open-pay/openpay-ruby.png?branch=master)](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
|