mangopay 2.0.0 → 3.0.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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +24 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +1 -2
  5. data/LICENSE +20 -0
  6. data/README.md +19 -90
  7. data/bin/mangopay +9 -0
  8. data/lib/generators/mangopay/install_generator.rb +60 -0
  9. data/lib/generators/templates/mangopay.rb +5 -0
  10. data/lib/mangopay.rb +94 -24
  11. data/lib/mangopay/bank_account.rb +21 -0
  12. data/lib/mangopay/client.rb +17 -0
  13. data/lib/mangopay/errors.rb +4 -0
  14. data/lib/mangopay/http_calls.rb +53 -0
  15. data/lib/mangopay/json.rb +21 -0
  16. data/lib/mangopay/legal_user.rb +14 -0
  17. data/lib/mangopay/natural_user.rb +14 -0
  18. data/lib/mangopay/payin.rb +17 -0
  19. data/lib/mangopay/payout.rb +15 -0
  20. data/lib/mangopay/resource.rb +22 -0
  21. data/lib/mangopay/transaction.rb +11 -0
  22. data/lib/mangopay/transfer.rb +4 -55
  23. data/lib/mangopay/user.rb +4 -145
  24. data/lib/mangopay/version.rb +3 -0
  25. data/lib/mangopay/wallet.rb +4 -90
  26. data/mangopay.gemspec +33 -0
  27. data/spec/lib/mangopay/bank_account_spec.rb +26 -0
  28. data/spec/lib/mangopay/client_spec.rb +27 -0
  29. data/spec/lib/mangopay/payin_spec.rb +31 -0
  30. data/spec/lib/mangopay/payout_spec.rb +24 -0
  31. data/spec/lib/mangopay/shared_resources.rb +183 -0
  32. data/spec/lib/mangopay/transaction_spec.rb +14 -0
  33. data/spec/lib/mangopay/transfer_spec.rb +25 -81
  34. data/spec/lib/mangopay/user_spec.rb +37 -103
  35. data/spec/lib/mangopay/wallet_spec.rb +24 -73
  36. data/spec/spec_helper.rb +9 -38
  37. metadata +60 -97
  38. data/CONTRIBUTING.md +0 -51
  39. data/Rakefile +0 -5
  40. data/lib/mangopay/beneficiary.rb +0 -72
  41. data/lib/mangopay/card.rb +0 -42
  42. data/lib/mangopay/contribution.rb +0 -61
  43. data/lib/mangopay/expense.rb +0 -17
  44. data/lib/mangopay/immediate_contribution.rb +0 -58
  45. data/lib/mangopay/operation.rb +0 -16
  46. data/lib/mangopay/recurrent_contribution.rb +0 -62
  47. data/lib/mangopay/ressource.rb +0 -96
  48. data/lib/mangopay/strong_authentication.rb +0 -28
  49. data/lib/mangopay/withdrawal.rb +0 -40
  50. data/lib/mangopay/withdrawal_contribution.rb +0 -32
  51. data/spec/lib/mangopay/beneficiary_spec.rb +0 -124
  52. data/spec/lib/mangopay/card_spec.rb +0 -52
  53. data/spec/lib/mangopay/contribution_spec.rb +0 -65
  54. data/spec/lib/mangopay/expense_spec.rb +0 -10
  55. data/spec/lib/mangopay/immediate_contribution_spec.rb +0 -73
  56. data/spec/lib/mangopay/operation_spec.rb +0 -8
  57. data/spec/lib/mangopay/recurrent_contribution_spec.rb +0 -55
  58. data/spec/lib/mangopay/ressource_spec.rb +0 -5
  59. data/spec/lib/mangopay/strong_authentication_spec.rb +0 -82
  60. data/spec/lib/mangopay/withdrawal_contribution_spec.rb +0 -44
  61. data/spec/lib/mangopay/withdrawal_spec.rb +0 -98
  62. data/spec/support-files/example.pem +0 -49
  63. data/spec/support-files/test_upload.gif +0 -0
  64. data/spec/support-files/test_upload.jpg +0 -0
  65. data/spec/support-files/test_upload.pdf +0 -0
  66. data/spec/support-files/test_upload.png +0 -0
@@ -1,5 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe MangoPay::Ressource do
4
- pending "It should test the ressource"
5
- end
@@ -1,82 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe MangoPay::StrongAuthentication do
4
-
5
- let(:new_user) {
6
- MangoPay::User.create({
7
- 'Tag' => 'test',
8
- 'Email' => 'my@email.com',
9
- 'FirstName' => 'John',
10
- 'LastName' => 'Doe',
11
- 'CanRegisterMeanOfPayment' => true
12
- })
13
- }
14
-
15
- let(:new_beneficiary) {
16
- MangoPay::Beneficiary.create({
17
- 'Tag' => 'test',
18
- 'UserID' => new_user['ID'],
19
- 'BankAccountOwnerName' => new_user['FirstName'],
20
- 'BankAccountOwnerAddress' => '1 bis cite paradis',
21
- 'BankAccountIBAN' => 'FR76 1790 6000 3200 0833 5232 973',
22
- 'BankAccountBIC' => 'AGRIFRPP879'
23
- })
24
- }
25
-
26
- let(:new_strong_beneficiary_authentication) {
27
- MangoPay::Beneficiary.create_strong_authentication(new_beneficiary['ID'], {
28
- 'Tag' => 'test_beneficiary_strong_authentication'
29
- })
30
- }
31
-
32
- let(:new_strong_user_authentication) {
33
- MangoPay::User.create_strong_authentication(new_user['ID'], {
34
- 'Tag' => 'test_user_strong_authentication'
35
- })
36
- }
37
-
38
- describe "GET" do
39
- it "get the pending strong authentication requests" do
40
- strong_authentication = MangoPay::StrongAuthentication.get
41
- expect(strong_authentication).to be_kind_of(Array)
42
- end
43
- end
44
-
45
- describe "UPLOAD BENEFICIARY" do
46
- it "uploads a PDF file to complete a beneficiary strong authentication request" do
47
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_beneficiary_authentication['UrlRequest'], 'spec/support-files/test_upload.pdf')
48
- expect(document_upload).to be_true
49
- end
50
- it "uploads a JPG file to complete a beneficiary strong authentication request" do
51
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_beneficiary_authentication['UrlRequest'], 'spec/support-files/test_upload.jpg')
52
- expect(document_upload).to be_true
53
- end
54
- it "uploads a PNG file to complete a beneficiary strong authentication request" do
55
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_beneficiary_authentication['UrlRequest'], 'spec/support-files/test_upload.png')
56
- expect(document_upload).to be_true
57
- end
58
- it "uploads a GIF file to complete a beneficiary strong authentication request" do
59
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_beneficiary_authentication['UrlRequest'], 'spec/support-files/test_upload.gif')
60
- expect(document_upload).to be_true
61
- end
62
- end
63
-
64
- describe "UPLOAD USER" do
65
- it "uploads a PDF file to complete a user strong authentication request" do
66
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_user_authentication['UrlRequest'], 'spec/support-files/test_upload.pdf')
67
- expect(document_upload).to be_true
68
- end
69
- it "uploads a JPG file to complete a user strong authentication request" do
70
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_user_authentication['UrlRequest'], 'spec/support-files/test_upload.jpg')
71
- expect(document_upload).to be_true
72
- end
73
- it "uploads a PNG file to complete a user strong authentication request" do
74
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_user_authentication['UrlRequest'], 'spec/support-files/test_upload.png')
75
- expect(document_upload).to be_true
76
- end
77
- it "uploads a GIF file to complete a user strong authentication request" do
78
- document_upload = MangoPay::StrongAuthentication.upload(new_strong_user_authentication['UrlRequest'], 'spec/support-files/test_upload.gif')
79
- expect(document_upload).to be_true
80
- end
81
- end
82
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe MangoPay::WithdrawalContribution do
4
-
5
- let(:new_user) {
6
- MangoPay::User.create({
7
- 'Tag' => 'test',
8
- 'Email' => 'my@email.com',
9
- 'FirstName' => 'John',
10
- 'LastName' => 'Doe',
11
- 'CanRegisterMeanOfPayment' => true
12
- })
13
- }
14
-
15
- let(:new_wallet) {
16
- MangoPay::Wallet.create({
17
- 'Name' => 'test',
18
- 'Owners' => [ new_user['ID'] ],
19
- 'RaisingGoalAmount' => 10000
20
- })
21
- }
22
-
23
- let(:new_withdrawal_contribution) do
24
- withdrawal_contribution = MangoPay::WithdrawalContribution.create({
25
- 'Tag' => 'test_withdrawal_contribution',
26
- 'UserID' => new_user['ID'],
27
- 'WalletID' => new_wallet['ID'],
28
- 'AmountDeclared' => 1000
29
- })
30
- end
31
-
32
- describe "CREATE" do
33
- it "creates a withdrawal contribution to a shared wallet" do
34
- expect(new_withdrawal_contribution['ID']).not_to be_nil
35
- end
36
- end
37
-
38
- describe "GET" do
39
- it "fetches a withdrawal contribution" do
40
- withdrawal_contribution = MangoPay::WithdrawalContribution.get(new_withdrawal_contribution['ID'])
41
- expect(withdrawal_contribution['ID']).to eq(new_withdrawal_contribution['ID'])
42
- end
43
- end
44
- end
@@ -1,98 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe MangoPay::Withdrawal, :type => :feature do
4
-
5
- let(:new_user) {
6
- user = MangoPay::User.create({
7
- 'Tag' => 'test',
8
- 'Email' => 'my@email.com',
9
- 'FirstName' => 'John',
10
- 'LastName' => 'Doe',
11
- 'CanRegisterMeanOfPayment' => true
12
- })
13
- contribution = MangoPay::Contribution.create({
14
- 'Tag' => 'test_contribution',
15
- 'UserID' => user['ID'],
16
- 'WalletID' => 0,
17
- 'Amount' => 10000,
18
- 'ReturnURL' => 'https://leetchi.com'
19
- })
20
- visit(contribution['PaymentURL'])
21
- fill_in('number', :with => '4970100000000154')
22
- fill_in('cvv', :with => '123')
23
- click_button('paybutton')
24
- contribution = MangoPay::Contribution.details(contribution['ID'])
25
- while contribution["IsSucceeded"] == false do
26
- contribution = MangoPay::Contribution.details(contribution['ID'])
27
- end
28
- user
29
- }
30
-
31
- let(:new_beneficiary) {
32
- MangoPay::Beneficiary.create({
33
- 'Tag' => 'test',
34
- 'UserID' => new_user['ID'],
35
- 'BankAccountOwnerName' => new_user['FirstName'],
36
- 'BankAccountOwnerAddress' => '1 bis cite paradis',
37
- 'BankAccountIBAN' => 'FR76 1790 6000 3200 0833 5232 973',
38
- 'BankAccountBIC' => 'AGRIFRPP879'
39
- })
40
- }
41
-
42
- let(:new_withdrawal) {
43
- MangoPay::Withdrawal.create({
44
- 'Tag' => 'test_withdrawal',
45
- 'UserID' => new_user['ID'],
46
- 'WalletID' => 0,
47
- 'Amount' => 2500,
48
- 'BeneficiaryID' => new_beneficiary['ID']
49
- })
50
- }
51
-
52
- describe "CREATE" do
53
- it "create a withdrawal" do
54
- expect(new_withdrawal['ID']).not_to be_nil
55
- expect(new_withdrawal['UserID']).to eq(new_user['ID'])
56
- expect(new_withdrawal['BeneficiaryID']).to eq(new_beneficiary['ID'])
57
- end
58
- it "fails and return a 2001 error code: Invalid withdrawal amount" do
59
- fail_withdrawal = MangoPay::Withdrawal.create({
60
- 'Tag' => 'test_withdrawal',
61
- 'UserID' => new_user['ID'],
62
- 'WalletID' => 0,
63
- 'Amount' => -123,
64
- 'BeneficiaryID' => new_beneficiary['ID']
65
- })
66
- expect(fail_withdrawal['ErrorCode']).to eq(2001)
67
- end
68
- it "fails and return a 2002 error code: Both parameters are specified: Amount and AmountWithoutFees" do
69
- fail_withdrawal = MangoPay::Withdrawal.create({
70
- 'Tag' => 'test_withdrawal',
71
- 'UserID' => new_user['ID'],
72
- 'WalletID' => 0,
73
- 'Amount' => 2500,
74
- 'AmountWithoutFees' => 2500,
75
- 'BeneficiaryID' => new_beneficiary['ID']
76
- })
77
- expect(fail_withdrawal['ErrorCode']).to eq(2002)
78
- end
79
- it "fails and return a 2003 error code: Invalid withdrawal ClientFeeAmount" do
80
- fail_withdrawal = MangoPay::Withdrawal.create({
81
- 'Tag' => 'test_withdrawal',
82
- 'UserID' => new_user['ID'],
83
- 'WalletID' => 0,
84
- 'Amount' => 2500,
85
- 'BeneficiaryID' => new_beneficiary['ID'],
86
- 'ClientFeeAmount' => -3000
87
- })
88
- expect(fail_withdrawal['ErrorCode']).to eq(2003)
89
- end
90
- end
91
-
92
- describe "GET" do
93
- it "get the withdrawal" do
94
- withdrawal = MangoPay::Withdrawal.details(new_withdrawal['ID'])
95
- expect(withdrawal['ID']).to eq(new_withdrawal['ID'])
96
- end
97
- end
98
- end
@@ -1,49 +0,0 @@
1
- Bag Attributes
2
- localKeyID: 01 00 00 00
3
- friendlyName: CLR{A0664CB1-ACAF-4742-B1F2-AC2B846E1FF2}
4
- Microsoft CSP Name: Microsoft Enhanced Cryptographic Provider v1.0
5
- Key Attributes
6
- X509v3 Key Usage: 10
7
- -----BEGIN RSA PRIVATE KEY-----
8
- MIIEowIBAAKCAQEAsytrYepzLO3rxkQFHgca2SduZPe7l8X3ZEEDOzX1wsAtblRA
9
- IHSXhOJuKHXEh2qbEcSKBOsC9rCi0LIXXp9X1nBrxRtUnEsRZBNC8F+ruyIdVled
10
- ZDuFmwA02PRVagR/kJAFNdbmviYVPUrs9JIM6CLKKSSqDQLmyNnTZadX55maBF8G
11
- c6kY228cpglQigVQAchU84/EYe2A0D3BnuNQLSZDRAr1Ly3E9V7GXKqSBjWyEzDx
12
- +tuHTrbd52s5XIdct8LKotubeOanBWbgSH7H+uvm9rkjeW0UqIek+N7t1cqS8qji
13
- 25DHj85sx7t1OsFMX0d+oQEgFQatqtxVF2MNiQIDAQABAoIBABlCzekIPSTghpV1
14
- kaMiLU7gmFfz9ab4amDgKax3dyb2IXGkv0XUKmi54/4gXI0bIrHmm+8Fk21kihAS
15
- i+jzXlcFkqw/pjZC/zi03oM1eejwbmJ2B+LR4YxxAwJzsHc6GyIurA1jNzUn+Wai
16
- 4bW5wcgY35fda3xaJF+9FmkGpwYoDWfK14T+6O8TzK2GSxmo7eeuJeb3DEOJ3b1K
17
- kXH/fniA8amOBQaql+jyaVQCEHU3elGDcjoZRI6ASEPE9Ac9uHmvEmQpIRGn6wMa
18
- HSz45QYdm4vZEsyUdOpZcLQ7SC++dgkOAGuRlohZ7mHGtgs5yqp2hCFyoeSFFFMH
19
- fpgo+AECgYEA4zbghIfUcllw/Ry6dam2OCbFGz0IKF3It71VgQqoQd0L4xSPj6ZJ
20
- Ebahgf0MSYs3SCUx2mG0irrRlk67eV9bcDbdRwTkkBL8rmEfu3Iwe/hPLnqdq8pM
21
- yCAtt5T8s/Bop/M1LLiRADrUqwWAK8JAxk/60cKsCObBpo8ePdPGj2kCgYEAyd5V
22
- FDYgESy/9WMaTsw/z83SwI2cIgouDyMULEhm7bssfZhUNGveT9ma2VzdVAahx2+4
23
- gWQVEhVshG/CX63GMlaTK8GNZYfMXPaWfDDKXOH1HGgIAA+P93Q6JcCkfIb/ym3w
24
- 5mltNotECwU/uZHGLbonsxNW/iiJDKV//Duk6SECgYAM3o7Y8tiVoXtE2tu0zmgD
25
- xi5j3JEZuDYmMhMlu/TLxjlmI0P+XuzElBORyUNo5vm6nGC2fdI8CVjVqp/zv/Lt
26
- 6C2gWCaaAnlNZzLk6xLT8ryJZWiI0myG6UutmkK17mf/G0dnwQx1dt+U0DryP45r
27
- rRwHxX75Ahj11iVgWx5kAQKBgFTUTURVClytRW1E3AVI53fXsjygRYA4buqFfzCs
28
- rDQyd5u/q4Lr4VwEwYGd+JQaxVkdpZcaC5Cx2Aw/OpsiVytIHkhA6b5EtqhKJyrB
29
- BgjKG0p4nQQJhiIigVzj+zspL8xNLvJkUzSciVdoOUMt8u28UHp8Ig5j0lOyKHpC
30
- RiaBAoGBAKLaIPzksFRds3JJoOB+z6DnW+UDZ4JTZ+flNnbF8SAhyfhcWu7P4Bcy
31
- MxB0im7LNx+Pc0MHBC3XxrMkZ/oJUjnAKrG26Dzgh4VP2RM6pvz2g/lGbLO+O0vH
32
- eMWckkIf5QidHg3HTmfAIR8buEL08bxgD0i2dL5qBuAO/dogW95b
33
- -----END RSA PRIVATE KEY-----
34
- Bag Attributes
35
- localKeyID: 01 00 00 00
36
- subject=/CN=Opensslkey Unsigned Certificate
37
- issuer=/CN=Opensslkey Unsigned Certificate
38
- -----BEGIN CERTIFICATE-----
39
- MIIB2zCCAcSgAwIBAgIQZNMnNOqe7pdLgtpEs4GvuTANBgkqhkiG9w0BAQUFADAq
40
- MSgwJgYDVQQDEx9PcGVuc3Nsa2V5IFVuc2lnbmVkIENlcnRpZmljYXRlMB4XDTEx
41
- MDcyMDEyNTkxMloXDTEyMDcxOTE4NTkxMlowKjEoMCYGA1UEAxMfT3BlbnNzbGtl
42
- eSBVbnNpZ25lZCBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
43
- AQoCggEBALMra2Hqcyzt68ZEBR4HGtknbmT3u5fF92RBAzs19cLALW5UQCB0l4Ti
44
- bih1xIdqmxHEigTrAvawotCyF16fV9Zwa8UbVJxLEWQTQvBfq7siHVZXnWQ7hZsA
45
- NNj0VWoEf5CQBTXW5r4mFT1K7PSSDOgiyikkqg0C5sjZ02WnV+eZmgRfBnOpGNtv
46
- HKYJUIoFUAHIVPOPxGHtgNA9wZ7jUC0mQ0QK9S8txPVexlyqkgY1shMw8frbh062
47
- 3edrOVyHXLfCyqLbm3jmpwVm4Eh+x/rr5va5I3ltFKiHpPje7dXKkvKo4tuQx4/O
48
- bMe7dTrBTF9HfqEBIBUGrarcVRdjDYkCAwEAATANBgkqhkiG9w0BAQUFAAMCAMg=
49
- -----END CERTIFICATE-----
Binary file
Binary file
Binary file
Binary file