mangopay 3.20.0 → 3.22.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
  SHA256:
3
- metadata.gz: c22a75f6a785d55c368cc565e3d9b2dc399c5b08cb8b4b8ed27f24762ee9b6a2
4
- data.tar.gz: 7b1b066c802f7716aa500267349928ed05d7df7ac9be74e63855376c284e2c03
3
+ metadata.gz: d92bb15f455816281326eca83963d639590bcb68580848ff6c4589cee926a0a9
4
+ data.tar.gz: 4162a17a66cfa34730c0ed90d27fecb375654d3e4175a82431863ec64e25e57c
5
5
  SHA512:
6
- metadata.gz: 51efb4cb9942a749604b7f44e0fb79958b862ab03a0aa742c70af9bc650001aff7b339d43e56011392556e2e38572343c19a243e5218e09b24d4960346d3c10c
7
- data.tar.gz: 1b8d01d73103c23d7e999e6c4e49ae2d57f5161ecb20626be0465d581de3e4c606b38549c4bde0fc4e4b2d27d4a7684c6cd1566b949f32463bf52ace34b309cf
6
+ metadata.gz: 53796ff9758362b4d5e6cf5cf848b14e55928876e15ea78cd4f7105f1731a62344851d786b9103dd4ac1f58976dcfbd8b8b3aac0f16fdec424ccc669c60ffdec
7
+ data.tar.gz: 0a17dc77df68459acc86123ba7bd48806fe02fb8c07a5485aeaa8bef323a9998bd77d37e4ed241136774e20eb26054ed2db464fa3f7a678de7f3ea431a63a07e
@@ -28,7 +28,7 @@ jobs:
28
28
  ruby-version: 2.6.10
29
29
  - name: Install Rspec
30
30
  run: |
31
- gem install bundler
31
+ gem install bundler -v 2.4.22
32
32
  bundler install
33
33
  - name: Test
34
34
  run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## [3.22.0] - 2024-02-08
2
+ ### Added
3
+
4
+ - New endpoint to look up metadata from BIN or Google Pay token. More information [here](https://mangopay.com/docs/release-notes/kisale)
5
+
6
+ ## [3.21.0] - 2024-01-23
7
+ ### Added
8
+
9
+ - The endpoint [View a card Validation](https://mangopay.com/docs/endpoints/card-validations#view-card-validation) is now available
10
+
1
11
  ## [3.20.0] - 2023-11-15
2
12
  ### Added
3
13
 
data/lib/mangopay/card.rb CHANGED
@@ -40,6 +40,11 @@ module MangoPay
40
40
  url = "#{MangoPay.api_path}/cards/#{card_id}/validation"
41
41
  MangoPay.request(:post, url, params)
42
42
  end
43
+
44
+ def get_card_validation(card_id, validation_id)
45
+ url = "#{MangoPay.api_path}/cards/#{card_id}/validation/#{validation_id}"
46
+ MangoPay.request(:get, url)
47
+ end
43
48
  end
44
49
  end
45
50
  end
@@ -0,0 +1,13 @@
1
+ module MangoPay
2
+ class PaymentMethodMetadata < Resource
3
+ include HTTPCalls::Fetch
4
+ include HTTPCalls::Update
5
+
6
+ class << self
7
+ def get_metadata(metadata)
8
+ url = "#{MangoPay.api_path}/payment-methods/metadata"
9
+ MangoPay.request(:post, url, metadata)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module MangoPay
2
- VERSION = '3.20.0'
2
+ VERSION = '3.22.0'
3
3
  end
data/lib/mangopay.rb CHANGED
@@ -45,6 +45,7 @@ module MangoPay
45
45
  autoload :Regulatory, 'mangopay/regulatory'
46
46
  autoload :Deposit, 'mangopay/deposit'
47
47
  autoload :InstantConversion, 'mangopay/instant_conversion'
48
+ autoload :PaymentMethodMetadata, 'mangopay/payment_method_metadata'
48
49
 
49
50
  # temporary
50
51
  autoload :Temp, 'mangopay/temp'
@@ -100,5 +100,13 @@ describe MangoPay::CardRegistration do
100
100
 
101
101
  expect(validated).to_not be_nil
102
102
  end
103
+
104
+ it "fetches card validation" do
105
+ created = new_card_registration_completed
106
+ card_validation = create_card_validation(created['UserId'], created['CardId'])
107
+ fetched_card_validation = MangoPay::Card.get_card_validation(created['CardId'], card_validation['Id'])
108
+
109
+ expect(card_validation['Id']).equal? fetched_card_validation['Id']
110
+ end
103
111
  end
104
112
  end
@@ -5,7 +5,7 @@ describe MangoPay::Deposit do
5
5
  describe 'CREATE' do
6
6
  it 'creates a new deposit' do
7
7
  author = new_natural_user
8
- card_registration = new_card_registration_completed_for_deposit
8
+ card_registration = new_card_registration_completed
9
9
  deposit = create_new_deposit(card_registration['CardId'], author['Id'])
10
10
 
11
11
  assert_deposit(deposit, card_registration['CardId'], author["Id"])
@@ -15,7 +15,7 @@ describe MangoPay::Deposit do
15
15
  describe 'GET' do
16
16
  it 'get an existing deposit' do
17
17
  author = new_natural_user
18
- card_registration = new_card_registration_completed_for_deposit
18
+ card_registration = new_card_registration_completed
19
19
  deposit = create_new_deposit(card_registration['CardId'], author['Id'])
20
20
 
21
21
  assert_deposit(deposit, card_registration['CardId'], author["Id"])
@@ -64,7 +64,6 @@ def assert_deposit(deposit, card_reg_id, author_id)
64
64
  expect(deposit['CardId']).to eq(card_reg_id)
65
65
  expect(deposit['AuthorId']).to eq(author_id)
66
66
  expect(deposit['SecureModeReturnURL']).not_to be_nil
67
- expect(deposit['SecureModeRedirectURL']).not_to be_nil
68
67
  expect(deposit['PaymentType']).not_to be_nil
69
68
  expect(deposit['ExecutionType']).not_to be_nil
70
69
  expect(deposit['StatementDescriptor']).not_to be_nil
@@ -19,6 +19,8 @@ describe MangoPay::PayIn::PreAuthorized::Direct, type: :feature do
19
19
  describe 'CREATE' do
20
20
  it 'creates a preauthorized direct payin' do
21
21
  created = new_payin_preauthorized_direct
22
+ # wait for the transactions to be created
23
+ sleep(2)
22
24
  transactions = MangoPay::PreAuthorization.transactions(created['PreauthorizationId'])
23
25
  expect(created['Id']).not_to be_nil
24
26
  expect(transactions[0]['Status']).to eq('SUCCEEDED')
@@ -0,0 +1,15 @@
1
+ describe MangoPay::PaymentMethodMetadata, type: :feature do
2
+ include_context 'payment_method_metadata'
3
+
4
+ describe 'GET PAYMENT METHOD METADATA' do
5
+ it 'gets a new payment method metadata' do
6
+ metadata = get_payment_method_metadata
7
+
8
+ expect(metadata).not_to be_nil
9
+ expect(metadata['IssuerCountryCode']).not_to be_nil
10
+ expect(metadata['IssuingBank']).not_to be_nil
11
+ expect(metadata['BinData']).not_to be_nil
12
+ expect(metadata['CardType']).not_to be_nil
13
+ end
14
+ end
15
+ end
@@ -5,7 +5,7 @@ describe MangoPay::PayIn::RecurringPayments, type: :feature do
5
5
 
6
6
  describe 'CREATE' do
7
7
  it 'creates a recurring payment' do
8
- cardreg = new_card_registration_3dsecure_completed
8
+ cardreg = new_card_registration_completed
9
9
  wallet = new_wallet
10
10
  recurring = MangoPay::PayIn::RecurringPayments::Recurring.create(
11
11
  AuthorId: new_natural_user['Id'],
@@ -379,51 +379,7 @@ shared_context 'payins' do
379
379
  data = {
380
380
  data: cardreg['PreregistrationData'],
381
381
  accessKeyRef: cardreg['AccessKey'],
382
- cardNumber: 4970105191923460,
383
- cardExpirationDate: 1226,
384
- cardCvx: 123 }
385
-
386
- res = Net::HTTP.post_form(URI(cardreg['CardRegistrationURL']), data)
387
- raise Exception, [res, res.body] unless res.is_a?(Net::HTTPOK) && res.body.start_with?('data=')
388
-
389
- cardreg['RegistrationData'] = res.body
390
-
391
- # 3rd step: update (fills-in CardId) and return it
392
- MangoPay::CardRegistration.update(cardreg['Id'],
393
- RegistrationData: cardreg['RegistrationData'])
394
- end
395
-
396
- let(:new_card_registration_3dsecure_completed) do
397
- # 1st step: create
398
- cardreg = new_card_registration
399
-
400
- # 2nd step: tokenize by payline (fills-in RegistrationData)
401
- data = {
402
- data: cardreg['PreregistrationData'],
403
- accessKeyRef: cardreg['AccessKey'],
404
- cardNumber: 4970105191923460,
405
- cardExpirationDate: 1224,
406
- cardCvx: 123 }
407
-
408
- res = Net::HTTP.post_form(URI(cardreg['CardRegistrationURL']), data)
409
- raise Exception, [res, res.body] unless res.is_a?(Net::HTTPOK) && res.body.start_with?('data=')
410
-
411
- cardreg['RegistrationData'] = res.body
412
-
413
- # 3rd step: update (fills-in CardId) and return it
414
- MangoPay::CardRegistration.update(cardreg['Id'],
415
- RegistrationData: cardreg['RegistrationData'])
416
- end
417
-
418
- let(:new_card_registration_completed_for_deposit) do
419
- # 1st step: create
420
- cardreg = new_card_registration
421
-
422
- # 2nd step: tokenize by payline (fills-in RegistrationData)
423
- data = {
424
- data: cardreg['PreregistrationData'],
425
- accessKeyRef: cardreg['AccessKey'],
426
- cardNumber: 4970105181818183,
382
+ cardNumber: 4970107111111119,
427
383
  cardExpirationDate: 1226,
428
384
  cardCvx: 123 }
429
385
 
@@ -514,8 +470,8 @@ shared_context 'payins' do
514
470
  MangoPay::PayIn::Klarna::Web.create(
515
471
  AuthorId: new_natural_user['Id'],
516
472
  CreditedWalletId: new_wallet['Id'],
517
- DebitedFunds: {Currency: 'EUR', Amount: 400},
518
- Fees: {Currency: 'EUR', Amount: 10},
473
+ DebitedFunds: { Currency: 'EUR', Amount: 400 },
474
+ Fees: { Currency: 'EUR', Amount: 10 },
519
475
  ReturnURL: 'http://www.my-site.com/returnURL',
520
476
  LineItems: [
521
477
  {
@@ -574,8 +530,8 @@ shared_context 'payins' do
574
530
  MangoPay::PayIn::Ideal::Web.create(
575
531
  AuthorId: new_natural_user['Id'],
576
532
  CreditedWalletId: new_wallet['Id'],
577
- DebitedFunds: {Currency: 'EUR', Amount: 400},
578
- Fees: {Currency: 'EUR', Amount: 10},
533
+ DebitedFunds: { Currency: 'EUR', Amount: 400 },
534
+ Fees: { Currency: 'EUR', Amount: 10 },
579
535
  ReturnURL: 'http://www.my-site.com/returnURL',
580
536
  Bic: 'REVOLT21',
581
537
  StatementDescriptor: "test",
@@ -590,8 +546,8 @@ shared_context 'payins' do
590
546
  MangoPay::PayIn::Giropay::Web.create(
591
547
  AuthorId: new_natural_user['Id'],
592
548
  CreditedWalletId: new_wallet['Id'],
593
- DebitedFunds: {Currency: 'EUR', Amount: 400},
594
- Fees: {Currency: 'EUR', Amount: 10},
549
+ DebitedFunds: { Currency: 'EUR', Amount: 400 },
550
+ Fees: { Currency: 'EUR', Amount: 10 },
595
551
  ReturnURL: 'http://www.my-site.com/returnURL',
596
552
  StatementDescriptor: "test",
597
553
  Tag: 'Test PayIn/Giropay/Web'
@@ -785,7 +741,7 @@ shared_context 'payins' do
785
741
  # wallet with money
786
742
  ###############################################
787
743
  #
788
- let(:new_wallet_with_money){ create_new_wallet_with_money(new_natural_user) }
744
+ let(:new_wallet_with_money) { create_new_wallet_with_money(new_natural_user) }
789
745
 
790
746
  def create_new_wallet_with_money(user)
791
747
  wallet = MangoPay::Wallet.create(
@@ -940,6 +896,7 @@ end
940
896
  ###############################################
941
897
  shared_context 'instant_conversion' do
942
898
  include_context 'payins'
899
+
943
900
  def get_conversion_rate(debited_currency, credited_currency)
944
901
  MangoPay::InstantConversion.get_rate(debited_currency, credited_currency, params = {})
945
902
  end
@@ -971,4 +928,22 @@ shared_context 'instant_conversion' do
971
928
  def get_instant_conversion(id)
972
929
  MangoPay::InstantConversion.get(id, params = {})
973
930
  end
931
+ end
932
+
933
+ ###############################################
934
+ # payment methods metadata
935
+ ###############################################
936
+ shared_context 'payment_method_metadata' do
937
+ include_context 'payins'
938
+
939
+ def get_payment_method_metadata
940
+
941
+ wlt = new_wallet
942
+ pay_in = create_new_payin_card_direct(wlt, 1000)
943
+
944
+ MangoPay::PaymentMethodMetadata.get_metadata(
945
+ Type: 'BIN',
946
+ Bin: pay_in['CardInfo']['BIN']
947
+ )
948
+ end
974
949
  end
@@ -22,6 +22,8 @@ describe MangoPay::Transaction do
22
22
  it 'fetches list with two transactions after payin and payout done' do
23
23
  payin = new_payin_card_direct
24
24
  payout = create_new_payout_bankwire(payin)
25
+ # wait for the transactions to be created
26
+ sleep(2)
25
27
  transactions = MangoPay::Transaction.fetch(new_wallet['Id'])
26
28
 
27
29
  expect(transactions).to be_kind_of(Array)
@@ -37,6 +39,9 @@ describe MangoPay::Transaction do
37
39
  payout = create_new_payout_bankwire(payin)
38
40
  wallet_id = new_wallet['Id']
39
41
 
42
+ # wait for the transactions to be created
43
+ sleep(2)
44
+
40
45
  by_nature_reg = MangoPay::Transaction.fetch(wallet_id, {'Nature' => 'REGULAR'})
41
46
  by_nature_ref = MangoPay::Transaction.fetch(wallet_id, {'Nature' => 'REFUND'})
42
47
  expect(by_nature_reg.count).to eq 2
@@ -95,6 +95,8 @@ describe MangoPay::User do
95
95
  it 'fetches list with two transactions after payin and payout done' do
96
96
  payin = new_payin_card_direct
97
97
  payout = create_new_payout_bankwire(payin)
98
+ # wait for the transactions to be created
99
+ sleep(2)
98
100
  transactions = MangoPay::User.transactions(new_natural_user['Id'])
99
101
 
100
102
  expect(transactions).to be_kind_of(Array)
@@ -48,6 +48,8 @@ describe MangoPay::Wallet do
48
48
  it 'fetches list with two transactions after payin and payout done' do
49
49
  payin = new_payin_card_direct
50
50
  payout = create_new_payout_bankwire(payin)
51
+ # wait for the transactions to be created
52
+ sleep(2)
51
53
  transactions = MangoPay::Wallet.transactions(new_wallet['Id'])
52
54
 
53
55
  expect(transactions).to be_kind_of(Array)
@@ -63,6 +65,9 @@ describe MangoPay::Wallet do
63
65
  payout = create_new_payout_bankwire(payin)
64
66
  wallet_id = new_wallet['Id']
65
67
 
68
+ # wait for the transactions to be created
69
+ sleep(2)
70
+
66
71
  by_nature_reg = MangoPay::Wallet.transactions(wallet_id, {'Nature' => 'REGULAR'})
67
72
  by_nature_ref = MangoPay::Wallet.transactions(wallet_id, {'Nature' => 'REFUND'})
68
73
  expect(by_nature_reg.count).to eq 2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mangopay
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.20.0
4
+ version: 3.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoffroy Lorieux
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-11-15 00:00:00.000000000 Z
12
+ date: 2024-02-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
@@ -97,6 +97,7 @@ files:
97
97
  - lib/mangopay/natural_user.rb
98
98
  - lib/mangopay/pay_in.rb
99
99
  - lib/mangopay/pay_out.rb
100
+ - lib/mangopay/payment_method_metadata.rb
100
101
  - lib/mangopay/pre_authorization.rb
101
102
  - lib/mangopay/refund.rb
102
103
  - lib/mangopay/regulatory.rb
@@ -147,6 +148,7 @@ files:
147
148
  - spec/mangopay/payin_paypal_web_spec.rb
148
149
  - spec/mangopay/payin_preauthorized_direct_spec.rb
149
150
  - spec/mangopay/payin_satispay_web_spec.rb
151
+ - spec/mangopay/payment_method_metadata_spec.rb
150
152
  - spec/mangopay/payout_bankwire_spec.rb
151
153
  - spec/mangopay/preauthorization_spec.rb
152
154
  - spec/mangopay/recurring_payin_spec.rb
@@ -224,6 +226,7 @@ test_files:
224
226
  - spec/mangopay/payin_paypal_web_spec.rb
225
227
  - spec/mangopay/payin_preauthorized_direct_spec.rb
226
228
  - spec/mangopay/payin_satispay_web_spec.rb
229
+ - spec/mangopay/payment_method_metadata_spec.rb
227
230
  - spec/mangopay/payout_bankwire_spec.rb
228
231
  - spec/mangopay/preauthorization_spec.rb
229
232
  - spec/mangopay/recurring_payin_spec.rb