mangopay4-ruby-sdk 3.47.0 → 4.1.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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +96 -0
  3. data/lib/mangopay/acquiring.rb +4 -0
  4. data/lib/mangopay/authorization_token.rb +1 -1
  5. data/lib/mangopay/deposit.rb +7 -0
  6. data/lib/mangopay/extended_preauthorization.rb +32 -0
  7. data/lib/mangopay/http_calls.rb +1 -1
  8. data/lib/mangopay/identity_verification.rb +6 -0
  9. data/lib/mangopay/legal_user.rb +3 -0
  10. data/lib/mangopay/natural_user.rb +3 -0
  11. data/lib/mangopay/pay_in.rb +72 -16
  12. data/lib/mangopay/report_v2.rb +2 -2
  13. data/lib/mangopay/version.rb +1 -1
  14. data/lib/mangopay.rb +3 -2
  15. data/mangopay.gemspec +7 -7
  16. metadata +33 -162
  17. data/.github/workflows/ruby_cd.yml +0 -34
  18. data/.github/workflows/ruby_ci.yml +0 -30
  19. data/.gitignore +0 -30
  20. data/.rspec +0 -3
  21. data/Gemfile +0 -2
  22. data/Rakefile +0 -5
  23. data/bin/mangopay +0 -9
  24. data/spec/mangopay/acquiring_spec.rb +0 -202
  25. data/spec/mangopay/authorization_token_spec.rb +0 -70
  26. data/spec/mangopay/bank_account_spec.rb +0 -105
  27. data/spec/mangopay/bankingaliases_spec.rb +0 -29
  28. data/spec/mangopay/card_registration_spec.rb +0 -123
  29. data/spec/mangopay/client_spec.png +0 -0
  30. data/spec/mangopay/client_spec.rb +0 -213
  31. data/spec/mangopay/configuration_spec.rb +0 -249
  32. data/spec/mangopay/conversion_spec.rb +0 -103
  33. data/spec/mangopay/deposit_spec.rb +0 -107
  34. data/spec/mangopay/dispute_spec.png +0 -0
  35. data/spec/mangopay/dispute_spec.rb +0 -294
  36. data/spec/mangopay/event_spec.rb +0 -33
  37. data/spec/mangopay/fetch_filters_spec.rb +0 -63
  38. data/spec/mangopay/hook_spec.rb +0 -37
  39. data/spec/mangopay/idempotency_spec.rb +0 -41
  40. data/spec/mangopay/identity_verification_spec.rb +0 -47
  41. data/spec/mangopay/kyc_document_spec.png +0 -0
  42. data/spec/mangopay/kyc_document_spec.rb +0 -118
  43. data/spec/mangopay/log_requests_filter_spec.rb +0 -26
  44. data/spec/mangopay/mandate_spec.rb +0 -99
  45. data/spec/mangopay/payin_applepay_direct_spec.rb +0 -21
  46. data/spec/mangopay/payin_bancontact_web_spec.rb +0 -30
  47. data/spec/mangopay/payin_bankwire_direct_spec.rb +0 -74
  48. data/spec/mangopay/payin_bankwire_external_instruction_spec.rb +0 -104
  49. data/spec/mangopay/payin_bizum_web_spec.rb +0 -54
  50. data/spec/mangopay/payin_blik_web_spec.rb +0 -41
  51. data/spec/mangopay/payin_card_direct_spec.rb +0 -69
  52. data/spec/mangopay/payin_card_web_spec.rb +0 -64
  53. data/spec/mangopay/payin_directdebit_direct_spec.rb +0 -37
  54. data/spec/mangopay/payin_directdebit_web_spec.rb +0 -38
  55. data/spec/mangopay/payin_giropay_web_spec.rb +0 -30
  56. data/spec/mangopay/payin_googlepay_direct_spec.rb +0 -21
  57. data/spec/mangopay/payin_ideal_web_spec.rb +0 -30
  58. data/spec/mangopay/payin_intent_spec.rb +0 -295
  59. data/spec/mangopay/payin_klarna_web_spec.rb +0 -32
  60. data/spec/mangopay/payin_mbway_web_spec.rb +0 -32
  61. data/spec/mangopay/payin_multibanco_web_spec.rb +0 -31
  62. data/spec/mangopay/payin_paybybank_web_spec.rb +0 -56
  63. data/spec/mangopay/payin_payconiq_web_spec.rb +0 -32
  64. data/spec/mangopay/payin_paypal_web_spec.rb +0 -113
  65. data/spec/mangopay/payin_preauthorized_direct_spec.rb +0 -118
  66. data/spec/mangopay/payin_satispay_web_spec.rb +0 -32
  67. data/spec/mangopay/payin_swish_web_spec.rb +0 -30
  68. data/spec/mangopay/payin_twint_web_spec.rb +0 -30
  69. data/spec/mangopay/payment_method_metadata_spec.rb +0 -15
  70. data/spec/mangopay/payout_bankwire_spec.rb +0 -93
  71. data/spec/mangopay/preauthorization_spec.rb +0 -51
  72. data/spec/mangopay/recipient_spec.rb +0 -134
  73. data/spec/mangopay/recurring_payin_spec.rb +0 -222
  74. data/spec/mangopay/refund_spec.rb +0 -34
  75. data/spec/mangopay/regulatory_spec.rb +0 -26
  76. data/spec/mangopay/report_spec.rb +0 -40
  77. data/spec/mangopay/report_v2_spec.rb +0 -117
  78. data/spec/mangopay/report_wallets_spec.rb +0 -40
  79. data/spec/mangopay/settlement_sample.csv +0 -8
  80. data/spec/mangopay/settlement_sample_bad.csv +0 -8
  81. data/spec/mangopay/settlement_spec.rb +0 -65
  82. data/spec/mangopay/shared_resources.rb +0 -1399
  83. data/spec/mangopay/transaction_spec.rb +0 -59
  84. data/spec/mangopay/transfer_spec.rb +0 -77
  85. data/spec/mangopay/ubo_declaration_spec.rb +0 -44
  86. data/spec/mangopay/ubo_spec.rb +0 -39
  87. data/spec/mangopay/user_spec.rb +0 -455
  88. data/spec/mangopay/virtual_account_spec.rb +0 -52
  89. data/spec/mangopay/wallet_spec.rb +0 -100
  90. data/spec/spec_helper.rb +0 -31
  91. data/spec/tmp/.keep +0 -0
@@ -1,118 +0,0 @@
1
- describe MangoPay::PayIn::PreAuthorized::Direct, type: :feature do
2
- include_context 'wallets'
3
- include_context 'payins'
4
- include_context 'users'
5
-
6
- def check_type_and_status(payin)
7
- expect(payin['Type']).to eq('PAYIN')
8
- expect(payin['Nature']).to eq('REGULAR')
9
- expect(payin['PaymentType']).to eq('PREAUTHORIZED')
10
- expect(payin['ExecutionType']).to eq('DIRECT')
11
-
12
- # SUCCEEDED
13
- expect(payin['Status']).to eq('SUCCEEDED')
14
- expect(payin['ResultCode']).to eq('000000')
15
- expect(payin['ResultMessage']).to eq('Success')
16
- expect(payin['ExecutionDate']).to be > 0
17
- end
18
-
19
- describe 'CREATE' do
20
- it 'creates a preauthorized direct payin' do
21
- created = new_payin_preauthorized_direct
22
- # wait for the transactions to be created
23
- sleep(2)
24
- transactions = MangoPay::PreAuthorization.transactions(created['PreauthorizationId'])
25
- expect(created['Id']).not_to be_nil
26
- expect(transactions[0]['Status']).to eq('SUCCEEDED')
27
- check_type_and_status(created)
28
- end
29
- end
30
-
31
- describe 'FETCH' do
32
- it 'fetches a payin' do
33
- created = new_payin_preauthorized_direct
34
- fetched = MangoPay::PayIn.fetch(created['Id'])
35
- expect(fetched['Id']).to eq(created['Id'])
36
- expect(fetched['CreationDate']).to eq(created['CreationDate'])
37
- expect(fetched['CreditedFunds']).to eq(created['CreditedFunds'])
38
- expect(fetched['CreditedWalletId']).to eq(created['CreditedWalletId'])
39
- check_type_and_status(created)
40
- check_type_and_status(fetched)
41
- end
42
- end
43
-
44
- describe 'REFUND' do
45
- it 'refunds a payin' do
46
- payin = new_payin_preauthorized_direct
47
- sleep(2)
48
- refund = MangoPay::PayIn.refund(payin['Id'], { AuthorId: payin['AuthorId'] })
49
- expect(refund['Id']).not_to be_nil
50
- expect(refund['Status']).to eq('SUCCEEDED')
51
- expect(refund['Type']).to eq('PAYOUT')
52
- expect(refund['Nature']).to eq('REFUND')
53
- expect(refund['InitialTransactionType']).to eq('PAYIN')
54
- expect(refund['InitialTransactionId']).to eq(payin['Id'])
55
- expect(refund['DebitedWalletId']).to eq(payin['CreditedWalletId'])
56
- end
57
- end
58
-
59
- describe 'CASH FLOW' do
60
- it 'changes balances correctly' do
61
- wlt = new_wallet
62
- wallets_check_amounts(wlt, 0)
63
-
64
- # payin: feed wlt1 with money
65
- payin = create_new_payin_preauthorized_direct(wlt, 1000)
66
- wallets_reload_and_check_amounts(wlt, 1000)
67
-
68
- # refund the payin
69
- refund = MangoPay::PayIn.refund(payin['Id'], { AuthorId: payin['AuthorId'] })
70
- wallets_reload_and_check_amounts(wlt, 0)
71
- end
72
- end
73
-
74
- begin
75
- describe 'CREATE AND VIEW PRE AUTHORIZED DEPOSIT' do
76
- it 'creates a card direct pre authorized deposit payin' do
77
- wallet = new_wallet
78
- author = new_natural_user
79
- card_registration = new_card_registration_completed
80
- deposit = create_new_deposit(card_registration['CardId'], author['Id'])
81
-
82
- created = create_new_payin_pre_authorized_deposit_direct(deposit['Id'], author['Id'], wallet['Id'])
83
-
84
- expect(created['Id']).not_to be_nil
85
- check_type_and_status(created)
86
- expect(created['DepositId']).to eq(deposit['Id'])
87
- end
88
-
89
- it 'creates a card direct pre authorized deposit payin prior to complement' do
90
- wallet = new_wallet
91
- author = new_natural_user
92
- card_registration = new_card_registration_completed
93
- deposit = create_new_deposit(card_registration['CardId'], author['Id'])
94
-
95
- created = create_new_deposit_pre_authorized_pay_in_prior_to_complement(deposit['Id'], author['Id'], wallet['Id'])
96
-
97
- expect(created['Id']).not_to be_nil
98
- check_type_and_status(created)
99
- expect(created['DepositId']).to eq(deposit['Id'])
100
- end
101
-
102
- # skip because of PSP error
103
- xit 'creates a card direct pre authorized deposit payin complement' do
104
- wallet = new_wallet
105
- author = new_natural_user
106
- card_registration = new_card_registration_completed
107
- deposit = create_new_deposit(card_registration['CardId'], author['Id'])
108
- MangoPay::Deposit.update(deposit['Id'], {PaymentStatus: 'NO_SHOW_REQUESTED'})
109
-
110
- created = create_new_deposit_pre_authorized_pay_in_complement(deposit['Id'], author['Id'], wallet['Id'])
111
-
112
- expect(created['Id']).not_to be_nil
113
- check_type_and_status(created)
114
- expect(created['DepositId']).to eq(deposit['Id'])
115
- end
116
- end
117
- end
118
- end
@@ -1,32 +0,0 @@
1
- describe MangoPay::PayIn::Satispay::Web, type: :feature do
2
- include_context 'wallets'
3
- include_context 'payins'
4
-
5
- def check_type_and_status(payin)
6
- expect(payin['Type']).to eq('PAYIN')
7
- expect(payin['Nature']).to eq('REGULAR')
8
- expect(payin['PaymentType']).to eq('SATISPAY')
9
- expect(payin['ExecutionType']).to eq('WEB')
10
- expect(payin['Status']).to eq('CREATED')
11
- end
12
-
13
- describe 'CREATE' do
14
- it 'creates a satispay web payin' do
15
- created = new_payin_satispay_web
16
- expect(created['Id']).not_to be_nil
17
- expect(created['Country']).not_to be_nil
18
- check_type_and_status(created)
19
- end
20
- end
21
-
22
- describe 'FETCH' do
23
- it 'fetches a payin' do
24
- created = new_payin_satispay_web
25
- fetched = MangoPay::PayIn.fetch(created['Id'])
26
- expect(fetched['Id']).to eq(created['Id'])
27
- check_type_and_status(created)
28
- check_type_and_status(fetched)
29
- end
30
- end
31
-
32
- end
@@ -1,30 +0,0 @@
1
- describe MangoPay::PayIn::Swish::Web, type: :feature do
2
- include_context 'wallets'
3
- include_context 'payins'
4
-
5
- def check_type_and_status(payin)
6
- expect(payin['Type']).to eq('PAYIN')
7
- expect(payin['Nature']).to eq('REGULAR')
8
- expect(payin['PaymentType']).to eq('SWISH')
9
- expect(payin['ExecutionType']).to eq('WEB')
10
- expect(payin['Status']).to eq('CREATED')
11
- end
12
-
13
- describe 'CREATE' do
14
- it 'creates a swish web payin' do
15
- created = new_payin_swish_web
16
- expect(created['Id']).not_to be_nil
17
- check_type_and_status(created)
18
- end
19
- end
20
-
21
- describe 'FETCH' do
22
- it 'fetches a payin' do
23
- created = new_payin_swish_web
24
- fetched = MangoPay::PayIn.fetch(created['Id'])
25
- expect(fetched['Id']).to eq(created['Id'])
26
- check_type_and_status(created)
27
- check_type_and_status(fetched)
28
- end
29
- end
30
- end
@@ -1,30 +0,0 @@
1
- describe MangoPay::PayIn::Twint::Web, type: :feature do
2
- include_context 'wallets'
3
- include_context 'payins'
4
-
5
- def check_type_and_status(payin)
6
- expect(payin['Type']).to eq('PAYIN')
7
- expect(payin['Nature']).to eq('REGULAR')
8
- expect(payin['PaymentType']).to eq('TWINT')
9
- expect(payin['ExecutionType']).to eq('WEB')
10
- expect(payin['Status']).to eq('CREATED')
11
- end
12
-
13
- describe 'CREATE' do
14
- it 'creates a twint web payin' do
15
- created = new_payin_twint_web
16
- expect(created['Id']).not_to be_nil
17
- check_type_and_status(created)
18
- end
19
- end
20
-
21
- describe 'FETCH' do
22
- it 'fetches a payin' do
23
- created = new_payin_twint_web
24
- fetched = MangoPay::PayIn.fetch(created['Id'])
25
- expect(fetched['Id']).to eq(created['Id'])
26
- check_type_and_status(created)
27
- check_type_and_status(fetched)
28
- end
29
- end
30
- end
@@ -1,15 +0,0 @@
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['BinData'][0]['CardType']).not_to be_nil
13
- end
14
- end
15
- end
@@ -1,93 +0,0 @@
1
- describe MangoPay::PayOut::BankWire, type: :feature do
2
- include_context 'bank_accounts'
3
- include_context 'payins'
4
- include_context 'payouts'
5
-
6
- def check_type_and_status(payout, check_status = true)
7
- expect(payout['Type']).to eq('PAYOUT')
8
- expect(payout['Nature']).to eq('REGULAR')
9
- expect(payout['PaymentType']).to eq('BANK_WIRE')
10
-
11
- # linked to correct bank account
12
- expect(payout['BankAccountId']).to eq(new_bank_account['Id'])
13
-
14
- if (check_status)
15
- # not SUCCEEDED yet: waiting for processing
16
- expect(payout['ExecutionDate']).to be_nil
17
- expect(payout['Status']).to eq('CREATED')
18
- expect(payout['ResultCode']).to be_nil
19
- expect(payout['ResultMessage']).to be_nil
20
- end
21
- end
22
-
23
- describe 'CREATE' do
24
-
25
- it 'creates a bank wire payout' do
26
- payin = new_payin_card_direct # this payin is successfull so payout may happen
27
- payout = create_new_payout_bankwire(payin)
28
- expect(payout['Id']).not_to be_nil
29
- check_type_and_status(payout)
30
- expect(payout['DebitedWalletId']).to eq(payin['CreditedWalletId'])
31
- end
32
-
33
- it 'fails if not enough money' do
34
- payin = new_payin_card_web # this payin is NOT processed yet so payout may NOT happen
35
- payout = create_new_payout_bankwire(payin, 100)
36
- sleep(2)
37
- fetched = MangoPay::PayOut::BankWire.get_bankwire(payout['Id'])
38
- check_type_and_status(payout, true)
39
- expect(fetched['Status']).to eq('FAILED')
40
- expect(fetched['ResultCode']).to eq('002998')
41
- # expect(fetched['ResultMessage']).to eq('Unsufficient wallet balance')
42
- end
43
- end
44
-
45
- describe 'Get Bankwire' do
46
- it 'gets a bankwire' do
47
- created = new_payout_bankwire
48
- fetched = MangoPay::PayOut::BankWire.get_bankwire(created['Id'])
49
- expect(fetched['Id']).to eq(created['Id'])
50
- expect(fetched['CreationDate']).to eq(created['CreationDate'])
51
- end
52
- end
53
-
54
- describe 'Check Eligibility' do
55
- it 'checks the eligibility of a payout' do
56
- created = new_payout_bankwire
57
-
58
- eligibility = MangoPay::PayOut::InstantPayoutEligibility::Reachability.create(
59
- AuthorId: created['AuthorId'],
60
- DebitedFunds: {
61
- Amount: 10,
62
- Currency: 'EUR'
63
- },
64
- PayoutModeRequested: 'INSTANT_PAYMENT',
65
- BankAccountId: created['BankAccountId'],
66
- DebitedWalletId: created['DebitedWalletId']
67
- )
68
-
69
- expect(created).not_to be_nil
70
- expect(eligibility).not_to be_nil
71
- end
72
- end
73
-
74
- describe 'FETCH' do
75
- it 'fetches a payout' do
76
- created = new_payout_bankwire
77
- fetched = MangoPay::PayOut.fetch(created['Id'])
78
- expect(fetched['Id']).to eq(created['Id'])
79
- expect(fetched['CreationDate']).to eq(created['CreationDate'])
80
- check_type_and_status(created)
81
- check_type_and_status(fetched)
82
- end
83
- end
84
-
85
- describe 'GET Refunds' do
86
- it "fetches the pay-out's refunds" do
87
- payout = new_payout_bankwire
88
- refunds = MangoPay::PayOut.refunds(payout['Id'])
89
- expect(refunds).to be_an(Array)
90
- end
91
- end
92
-
93
- end
@@ -1,51 +0,0 @@
1
- describe MangoPay::PreAuthorization do
2
- include_context 'users'
3
- include_context 'payins'
4
-
5
- describe 'CREATE' do
6
- it 'creates a new card pre-authorization' do
7
- cardreg = new_card_registration_completed
8
- created = new_card_preauthorization
9
- expect(created['Id']).not_to be_nil
10
- expect(created['CardId']).to eq(cardreg['CardId'])
11
- expect(created['AuthorId']).to eq(new_natural_user["Id"])
12
- expect(created['PayInId']).to be_nil
13
- expect(created['Status']).to eq('SUCCEEDED')
14
- expect(created['PaymentStatus']).to eq('WAITING')
15
- expect(created['PaymentType']).to eq('CARD')
16
- expect(created['ExecutionType']).to eq('DIRECT')
17
- # expect(created['Requested3DSVersion']).to eq('V2_1')
18
- end
19
- end
20
-
21
- describe 'UPDATE' do
22
- it 'updates a card pre-authorization' do
23
- created = new_card_preauthorization
24
- updated = MangoPay::PreAuthorization.update(created['Id'] ,{
25
- PaymentStatus: 'CANCELED'
26
- })
27
- expect(updated['PaymentStatus']).to eq('CANCELED')
28
- end
29
- end
30
-
31
- describe 'FETCH' do
32
- it 'fetches a card pre-authorization' do
33
- created = new_card_preauthorization
34
- fetched = MangoPay::PreAuthorization.fetch(created['Id'])
35
- expect(fetched['Id']).to eq(created['Id'])
36
- expect(fetched['CardId']).to eq(created['CardId'])
37
- expect(fetched['AuthorId']).to eq(created['AuthorId'])
38
- expect(fetched['Tag']).to eq(created['Tag'])
39
- end
40
- end
41
-
42
- describe 'FETCH FOR CARD' do
43
- it "fetches a card's pre-authorizations" do
44
- created = new_card_preauthorization
45
- fetched = MangoPay::Card.get_pre_authorizations(created['CardId'])
46
-
47
- expect(fetched).to be_an(Array)
48
- end
49
- end
50
-
51
- end
@@ -1,134 +0,0 @@
1
- describe MangoPay::Recipient do
2
- include_context 'recipient'
3
-
4
- describe 'CREATE' do
5
- it 'creates a new recipient' do
6
- recipient = new_recipient
7
- assert_recipient(recipient)
8
- expect(recipient['Status']).to eq('PENDING')
9
- end
10
- end
11
-
12
- describe 'GET' do
13
- it 'fetches a recipient' do
14
- recipient = new_recipient
15
- fetched = MangoPay::Recipient.get(recipient['Id'])
16
- assert_recipient(fetched)
17
- end
18
- end
19
-
20
- describe 'GET User Recipients' do
21
- it 'fetches recipients without query param' do
22
- john = create_new_natural_user_sca_owner
23
- create_new_recipient(john['Id'])
24
- fetched = MangoPay::Recipient.get_user_recipients(john['Id'])
25
- expect(fetched).not_to be_nil
26
- expect(fetched).to be_kind_of(Array)
27
- expect(fetched).not_to be_empty
28
- end
29
-
30
- it 'fetches recipients with scope PAYOUT' do
31
- john = create_new_natural_user_sca_owner
32
- create_new_recipient(john['Id'])
33
- fetched = MangoPay::Recipient.get_user_recipients(john['Id'], {RecipientScope: "PAYOUT"})
34
- expect(fetched).not_to be_nil
35
- expect(fetched).to be_kind_of(Array)
36
- expect(fetched).not_to be_empty
37
- end
38
-
39
- it 'fetches recipients with scope PAYIN' do
40
- john = create_new_natural_user_sca_owner
41
- create_new_recipient(john['Id'])
42
- fetched = MangoPay::Recipient.get_user_recipients(john['Id'], {RecipientScope: "PAYIN"})
43
- expect(fetched).not_to be_nil
44
- expect(fetched).to be_kind_of(Array)
45
- expect(fetched).to be_empty
46
- end
47
- end
48
-
49
- describe 'GET Schema' do
50
- it 'fetches schema for LocalBankTransfer, Individual' do
51
- schema = MangoPay::Recipient.get_schema('LocalBankTransfer', 'Individual', 'GBP', 'GB')
52
- expect(schema).not_to be_nil
53
- expect(schema['DisplayName']).not_to be_nil
54
- expect(schema['Currency']).not_to be_nil
55
- expect(schema['RecipientType']).not_to be_nil
56
- expect(schema['PayoutMethodType']).not_to be_nil
57
- expect(schema['RecipientScope']).not_to be_nil
58
- expect(schema['Tag']).not_to be_nil
59
- expect(schema['IndividualRecipient']).not_to be_nil
60
- expect(schema['LocalBankTransfer']).not_to be_nil
61
- expect(schema['BusinessRecipient']).to be_nil
62
- expect(schema['InternationalBankTransfer']).to be_nil
63
- expect(schema['Country']).not_to be_nil
64
- end
65
-
66
- it 'fetches schema for InternationalBankTransfer, Business' do
67
- schema = MangoPay::Recipient.get_schema('InternationalBankTransfer', 'Business', 'GBP', 'GB')
68
- expect(schema).not_to be_nil
69
- expect(schema['DisplayName']).not_to be_nil
70
- expect(schema['Currency']).not_to be_nil
71
- expect(schema['RecipientType']).not_to be_nil
72
- expect(schema['PayoutMethodType']).not_to be_nil
73
- expect(schema['RecipientScope']).not_to be_nil
74
- expect(schema['Tag']).not_to be_nil
75
- expect(schema['BusinessRecipient']).not_to be_nil
76
- expect(schema['InternationalBankTransfer']).not_to be_nil
77
- expect(schema['IndividualRecipient']).to be_nil
78
- expect(schema['LocalBankTransfer']).to be_nil
79
- expect(schema['Country']).not_to be_nil
80
- end
81
- end
82
-
83
- describe 'GET Payout Methods' do
84
- it 'fetches payout methods' do
85
- payout_methods = MangoPay::Recipient.get_payout_methods('DE', 'EUR')
86
- expect(payout_methods).not_to be_nil
87
- expect(payout_methods['AvailablePayoutMethods']).to be_kind_of(Array)
88
- expect(payout_methods['AvailablePayoutMethods']).not_to be_empty
89
- end
90
- end
91
-
92
- describe 'VALIDATE' do
93
- it 'validates a recipient' do
94
- recipient = define_new_recipient
95
- john = create_new_natural_user_sca_owner
96
- # it should pass
97
- MangoPay::Recipient.validate(recipient, john['Id'])
98
-
99
- # it should throw error
100
- recipient['Currency'] = nil
101
- expect { MangoPay::Recipient.validate(recipient, john['Id']) }.to raise_error { |err|
102
- expect(err).to be_a MangoPay::ResponseError
103
- expect(err.code).to eq '400'
104
- expect(err.type).to eq 'param_error'
105
- }
106
- end
107
- end
108
-
109
- describe 'DEACTIVATE' do
110
- it 'deactivates a recipient' do
111
- pending("a recipient needs to be manually activated before running the test")
112
- john = create_new_natural_user_sca_owner
113
- recipient = create_new_recipient(john['Id'])
114
- deactivated = MangoPay::Recipient.deactivate(recipient['Id'])
115
- fetched = MangoPay::Recipient.get(recipient['Id'])
116
- expect(deactivated['Status']).to eq('DEACTIVATED')
117
- expect(fetched['Status']).to eq('DEACTIVATED')
118
- end
119
- end
120
- end
121
-
122
-
123
- def assert_recipient(recipient)
124
- expect(recipient).not_to be_nil
125
- expect(recipient['Status']).not_to be_nil
126
- expect(recipient['DisplayName']).not_to be_nil
127
- expect(recipient['PayoutMethodType']).not_to be_nil
128
- expect(recipient['RecipientType']).not_to be_nil
129
- expect(recipient['IndividualRecipient']).not_to be_nil
130
- expect(recipient['LocalBankTransfer']).not_to be_nil
131
- expect(recipient['RecipientScope']).not_to be_nil
132
- expect(recipient['UserId']).not_to be_nil
133
- expect(recipient['Country']).not_to be_nil
134
- end