mangopay 3.17.0 → 3.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afb1569667ffe29e931e6ffd8e29b965c6dd84e094741c8bfb307ff44f7e71d3
4
- data.tar.gz: e77127572650d95af53a9564d9c7d845785d161c9043212e27baa4f36b171740
3
+ metadata.gz: 4bb8e0bce0fbb8b2a758340182c8be4b0d904ae358cf72637da7e7c63d2413b7
4
+ data.tar.gz: ebeacb1b39d233d2ebec9326d61c69213111fa1dd945f4541068c73fdcbc5061
5
5
  SHA512:
6
- metadata.gz: 7c78c113e106af277a4e0ec63bc1e8602fa2ff120bc2016041c018031275beb8b9c225d93f27f53566ba9560032aaed4936a6d0f087f5593665ba87ba11d8fe8
7
- data.tar.gz: 841cab6e5d7d41a4db88075121f597737c10d2dd113556e812d887547b86c65d79af296b2ec29f455d4011e400e420840b4a2908dc446fa4d31511bcbb753196
6
+ metadata.gz: 3514922d67baa1a1f21fc2fe459fdeca27fd958c4214f0f66daddf3c29358f22cbbf16eb0ee95930c3f882b9e551340c2d59b6f40cf5578c0b5ab698e71e7ea8
7
+ data.tar.gz: 2ee8d0c7015e18a84df5468c869dc328a808ef841da61b4ade65d2223d2eb4031de08e3a6628d26510b241d333d7116ada4881e9329bd0d243907773e5239abc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [3.18.0] - 2023-09-29
2
+ ### Added
3
+ - Instantly convert funds between 2 wallets of different currencies owned by the same user with the new SPOT FX endpoints
4
+
1
5
  ## [3.17.0] - 2023-09-20
2
6
  ### Added
3
7
 
@@ -0,0 +1,24 @@
1
+ module MangoPay
2
+
3
+ class InstantConversion < Resource
4
+ include HTTPCalls::Fetch
5
+ include HTTPCalls::Update
6
+
7
+ class << self
8
+ def get_rate(debited_currency, credited_currency, params)
9
+ url = "#{MangoPay.api_path}/conversion/rate/#{debited_currency}/#{credited_currency}"
10
+ MangoPay.request(:get, url, params)
11
+ end
12
+
13
+ def create(params)
14
+ url = "#{MangoPay.api_path}/instant-conversion"
15
+ MangoPay.request(:post, url, params)
16
+ end
17
+
18
+ def get(id, params)
19
+ url = "#{MangoPay.api_path}/instant-conversion/#{id}"
20
+ MangoPay.request(:get, url, params)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module MangoPay
2
- VERSION = '3.17.0'
2
+ VERSION = '3.18.0'
3
3
  end
data/lib/mangopay.rb CHANGED
@@ -44,6 +44,7 @@ module MangoPay
44
44
  autoload :Ubo, 'mangopay/ubo'
45
45
  autoload :Regulatory, 'mangopay/regulatory'
46
46
  autoload :Deposit, 'mangopay/deposit'
47
+ autoload :InstantConversion, 'mangopay/instant_conversion'
47
48
 
48
49
  # temporary
49
50
  autoload :Temp, 'mangopay/temp'
@@ -0,0 +1,33 @@
1
+ describe MangoPay::InstantConversion, type: :feature do
2
+ include_context 'instant_conversion'
3
+
4
+ describe 'GET CONVERSION RATE' do
5
+ it 'get a conversion rate' do
6
+ conversion_rate = get_conversion_rate('EUR','GBP')
7
+
8
+ expect(conversion_rate['ClientRate']).not_to be_nil
9
+ expect(conversion_rate['MarketRate']).not_to be_nil
10
+ end
11
+ end
12
+
13
+ describe 'CREATE CONVERSION' do
14
+ it 'creates a new conversion' do
15
+ conversion = create_instant_conversion
16
+
17
+ expect(conversion['DebitedFunds']['Amount']).not_to be_nil
18
+ expect(conversion['CreditedFunds']['Amount']).not_to be_nil
19
+ expect(conversion['Status']).equal? 'SUCCEEDED'
20
+ end
21
+ end
22
+
23
+ describe 'GET EXISTING CONVERSION' do
24
+ it 'get an existing conversion' do
25
+ conversion = create_instant_conversion
26
+ returned_conversion = get_instant_conversion(conversion['Id'])
27
+
28
+ expect(returned_conversion['DebitedFunds']['Amount']).not_to be_nil
29
+ expect(returned_conversion['CreditedFunds']['Amount']).not_to be_nil
30
+ expect(returned_conversion['Status']).equal? 'SUCCEEDED'
31
+ end
32
+ end
33
+ end
@@ -6,24 +6,24 @@ shared_context 'users' do
6
6
 
7
7
  def define_new_natural_user
8
8
  {
9
- Tag: 'Test natural user',
10
- Email: 'my@email.com',
11
- FirstName: 'John',
12
- LastName: 'Doe',
13
- Address: {
14
- AddressLine1: 'Le Palais Royal',
15
- AddressLine2: '8 Rue de Montpensier',
16
- City: 'Paris',
17
- Region: '',
18
- PostalCode: '75001',
19
- Country: 'FR'
20
- },
21
- Birthday: 1_300_186_358,
22
- Birthplace: 'Paris',
23
- Nationality: 'FR',
24
- CountryOfResidence: 'FR',
25
- Occupation: 'Worker',
26
- IncomeRange: 1
9
+ Tag: 'Test natural user',
10
+ Email: 'my@email.com',
11
+ FirstName: 'John',
12
+ LastName: 'Doe',
13
+ Address: {
14
+ AddressLine1: 'Le Palais Royal',
15
+ AddressLine2: '8 Rue de Montpensier',
16
+ City: 'Paris',
17
+ Region: '',
18
+ PostalCode: '75001',
19
+ Country: 'FR'
20
+ },
21
+ Birthday: 1_300_186_358,
22
+ Birthplace: 'Paris',
23
+ Nationality: 'FR',
24
+ CountryOfResidence: 'FR',
25
+ Occupation: 'Worker',
26
+ IncomeRange: 1
27
27
  }
28
28
  end
29
29
 
@@ -33,35 +33,35 @@ shared_context 'users' do
33
33
 
34
34
  let(:new_legal_user) do
35
35
  MangoPay::LegalUser.create(
36
- Name: 'Super',
37
- Email: 'super@email.com',
38
- LegalPersonType: 'BUSINESS',
39
- HeadquartersAddress: {
40
- AddressLine1: '6 Parvis Notre-Dame',
41
- AddressLine2: 'Pl. Jean-Paul II',
42
- City: 'Paris',
43
- Region: 'FR',
44
- PostalCode: '75004',
45
- Country: 'FR'
46
- },
47
- LegalRepresentativeFirstName: 'John',
48
- LegalRepresentativeLastName: 'Doe',
49
- LegalRepresentativeAdress: {
50
- AddressLine1: '38 Rue de Montpensier',
51
- AddressLine2: '',
52
- City: 'Paris',
53
- Region: '',
54
- PostalCode: '75001',
55
- Country: 'FR'
56
- },
57
- LegalRepresentativeEmail: 'john@doe.com',
58
- LegalRepresentativeBirthday: 1_300_186_358,
59
- LegalRepresentativeNationality: 'FR',
60
- LegalRepresentativeCountryOfResidence: 'FR',
61
- CompanyNumber: 'LU123456789',
62
- Statute: '',
63
- ProofOfRegistration: '',
64
- ShareholderDeclaration: ''
36
+ Name: 'Super',
37
+ Email: 'super@email.com',
38
+ LegalPersonType: 'BUSINESS',
39
+ HeadquartersAddress: {
40
+ AddressLine1: '6 Parvis Notre-Dame',
41
+ AddressLine2: 'Pl. Jean-Paul II',
42
+ City: 'Paris',
43
+ Region: 'FR',
44
+ PostalCode: '75004',
45
+ Country: 'FR'
46
+ },
47
+ LegalRepresentativeFirstName: 'John',
48
+ LegalRepresentativeLastName: 'Doe',
49
+ LegalRepresentativeAdress: {
50
+ AddressLine1: '38 Rue de Montpensier',
51
+ AddressLine2: '',
52
+ City: 'Paris',
53
+ Region: '',
54
+ PostalCode: '75001',
55
+ Country: 'FR'
56
+ },
57
+ LegalRepresentativeEmail: 'john@doe.com',
58
+ LegalRepresentativeBirthday: 1_300_186_358,
59
+ LegalRepresentativeNationality: 'FR',
60
+ LegalRepresentativeCountryOfResidence: 'FR',
61
+ CompanyNumber: 'LU123456789',
62
+ Statute: '',
63
+ ProofOfRegistration: '',
64
+ ShareholderDeclaration: ''
65
65
  )
66
66
  end
67
67
  end
@@ -76,10 +76,10 @@ shared_context 'wallets' do
76
76
 
77
77
  def create_new_wallet(user)
78
78
  MangoPay::Wallet.create(
79
- Owners: [user['Id']],
80
- Description: 'A test wallet',
81
- Currency: 'EUR',
82
- Tag: 'Test wallet'
79
+ Owners: [user['Id']],
80
+ Description: 'A test wallet',
81
+ Currency: 'EUR',
82
+ Tag: 'Test wallet'
83
83
  )
84
84
  end
85
85
 
@@ -98,22 +98,22 @@ end
98
98
  shared_context 'ubo' do
99
99
  def new_ubo(user, ubo_declaration)
100
100
  ubo = {
101
- FirstName: 'John',
102
- LastName: 'Doe',
103
- Address: {
104
- AddressLine1: '6 Parvis Notre-Dame',
105
- AddressLine2: 'Pl. Jean-Paul II',
106
- City: 'Paris',
107
- Region: '',
108
- PostalCode: '75004',
109
- Country: 'FR'
110
- },
111
- Nationality: 'FR',
112
- Birthday: 1_300_186_358,
113
- Birthplace: {
114
- City: 'Paris',
115
- Country: 'FR'
116
- }
101
+ FirstName: 'John',
102
+ LastName: 'Doe',
103
+ Address: {
104
+ AddressLine1: '6 Parvis Notre-Dame',
105
+ AddressLine2: 'Pl. Jean-Paul II',
106
+ City: 'Paris',
107
+ Region: '',
108
+ PostalCode: '75004',
109
+ Country: 'FR'
110
+ },
111
+ Nationality: 'FR',
112
+ Birthday: 1_300_186_358,
113
+ Birthplace: {
114
+ City: 'Paris',
115
+ Country: 'FR'
116
+ }
117
117
  }
118
118
  MangoPay::Ubo.create(user['Id'], ubo_declaration['Id'], ubo)
119
119
  end
@@ -129,12 +129,12 @@ shared_context 'bank_accounts' do
129
129
  Type: 'IBAN',
130
130
  OwnerName: 'John',
131
131
  OwnerAddress: {
132
- AddressLine1: 'Le Palais Royal',
133
- AddressLine2: '8 Rue de Montpensier',
134
- City: 'Paris',
135
- Region: '',
136
- PostalCode: '75001',
137
- Country: 'FR'
132
+ AddressLine1: 'Le Palais Royal',
133
+ AddressLine2: '8 Rue de Montpensier',
134
+ City: 'Paris',
135
+ Region: '',
136
+ PostalCode: '75001',
137
+ Country: 'FR'
138
138
  },
139
139
  IBAN: 'FR7630004000031234567890143',
140
140
  BIC: 'BNPAFRPP',
@@ -151,10 +151,10 @@ shared_context 'mandates' do
151
151
 
152
152
  def create_new_mandate
153
153
  MangoPay::Mandate.create(
154
- BankAccountId: new_bank_account['Id'],
155
- Culture: 'FR',
156
- ReturnURL: MangoPay.configuration.root_url,
157
- Tag: 'Test mandate'
154
+ BankAccountId: new_bank_account['Id'],
155
+ Culture: 'FR',
156
+ ReturnURL: MangoPay.configuration.root_url,
157
+ Tag: 'Test mandate'
158
158
  )
159
159
  end
160
160
  end
@@ -186,15 +186,15 @@ shared_context 'payins' do
186
186
 
187
187
  let(:new_payin_directdebit_web) do
188
188
  MangoPay::PayIn::DirectDebit::Web.create(
189
- AuthorId: new_natural_user['Id'],
190
- CreditedUserId: new_wallet['Owners'][0],
191
- CreditedWalletId: new_wallet['Id'],
192
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
193
- Fees: {Currency: 'EUR', Amount: 0},
194
- DirectDebitType: 'GIROPAY',
195
- ReturnURL: MangoPay.configuration.root_url,
196
- Culture: 'FR',
197
- Tag: 'Test PayIn/DirectDebit/Web'
189
+ AuthorId: new_natural_user['Id'],
190
+ CreditedUserId: new_wallet['Owners'][0],
191
+ CreditedWalletId: new_wallet['Id'],
192
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
193
+ Fees: { Currency: 'EUR', Amount: 0 },
194
+ DirectDebitType: 'GIROPAY',
195
+ ReturnURL: MangoPay.configuration.root_url,
196
+ Culture: 'FR',
197
+ Tag: 'Test PayIn/DirectDebit/Web'
198
198
  )
199
199
  end
200
200
 
@@ -204,14 +204,14 @@ shared_context 'payins' do
204
204
 
205
205
  let(:new_payin_paypal_web) do
206
206
  MangoPay::PayIn::PayPal::Web.create(
207
- AuthorId: new_natural_user['Id'],
208
- CreditedUserId: new_wallet['Owners'][0],
209
- CreditedWalletId: new_wallet['Id'],
210
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
211
- Fees: {Currency: 'EUR', Amount: 0},
212
- ReturnURL: MangoPay.configuration.root_url,
213
- Culture: "FR",
214
- Tag: 'Test PayIn/PayPal/Web'
207
+ AuthorId: new_natural_user['Id'],
208
+ CreditedUserId: new_wallet['Owners'][0],
209
+ CreditedWalletId: new_wallet['Id'],
210
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
211
+ Fees: { Currency: 'EUR', Amount: 0 },
212
+ ReturnURL: MangoPay.configuration.root_url,
213
+ Culture: "FR",
214
+ Tag: 'Test PayIn/PayPal/Web'
215
215
  )
216
216
  end
217
217
 
@@ -221,13 +221,13 @@ shared_context 'payins' do
221
221
 
222
222
  let(:new_payin_payconiq_web) do
223
223
  MangoPay::PayIn::Payconiq::Web.create(
224
- AuthorId: new_natural_user['Id'],
225
- CreditedWalletId: new_wallet['Id'],
226
- DebitedFunds: {Currency: 'EUR', Amount: 100},
227
- Fees: {Currency: 'EUR', Amount: 0},
228
- ReturnURL: MangoPay.configuration.root_url,
229
- Country: "BE",
230
- Tag: 'Custom Meta'
224
+ AuthorId: new_natural_user['Id'],
225
+ CreditedWalletId: new_wallet['Id'],
226
+ DebitedFunds: { Currency: 'EUR', Amount: 100 },
227
+ Fees: { Currency: 'EUR', Amount: 0 },
228
+ ReturnURL: MangoPay.configuration.root_url,
229
+ Country: "BE",
230
+ Tag: 'Custom Meta'
231
231
  )
232
232
  end
233
233
 
@@ -237,20 +237,20 @@ shared_context 'payins' do
237
237
 
238
238
  let(:new_payin_applepay_direct) do
239
239
  MangoPay::PayIn::ApplePay::Direct.create(
240
- AuthorId: new_natural_user['Id'],
241
- CreditedUserId: new_wallet['Owners'][0],
242
- CreditedWalletId: new_wallet['Id'],
243
- DebitedFunds: {Currency: 'EUR', Amount: 199},
244
- Fees: {Currency: 'EUR', Amount: 1},
245
- PaymentType: 'APPLEPAY',
246
- PaymentData: {
247
- TransactionId: '061EB32181A2D9CA42AD16031B476EEBAA62A9A095AD660E2759FBA52B51A61',
248
- Network: 'VISA',
249
- TokenData: "{\"version\":\"EC_v1\",\"data\":\"w4HMBVqNC9ghPP4zncTA\\/0oQAsduERfsx78oxgniynNjZLANTL6+0koEtkQnW\\/K38Zew8qV1GLp+fLHo+qCBpiKCIwlz3eoFBTbZU+8pYcjaeIYBX9SOxcwxXsNGrGLk+kBUqnpiSIPaAG1E+WPT8R1kjOCnGvtdombvricwRTQkGjtovPfzZo8LzD3ZQJnHMsWJ8QYDLyr\\/ZN9gtLAtsBAMvwManwiaG3pOIWpyeOQOb01YcEVO16EZBjaY4x4C\\/oyFLWDuKGvhbJwZqWh1d1o9JT29QVmvy3Oq2JEjq3c3NutYut4rwDEP4owqI40Nb7mP2ebmdNgnYyWfPmkRfDCRHIWtbMC35IPg5313B1dgXZ2BmyZRXD5p+mr67vAk7iFfjEpu3GieFqwZrTl3\\/pI5V8Sxe3SIYKgT5Hr7ow==\",\"signature\":\"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID5jCCA4ugAwIBAgIIaGD2mdnMpw8wCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE2MDYwMzE4MTY0MFoXDTIxMDYwMjE4MTY0MFowYjEoMCYGA1UEAwwfZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtU0FOREJPWDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgjD9q8Oc914gLFDZm0US5jfiqQHdbLPgsc1LUmeY+M9OvegaJajCHkwz3c6OKpbC9q+hkwNFxOh6RCbOlRsSlaOCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwHQYDVR0OBBYEFAIkMAua7u1GMZekplopnkJxghxFMAwGA1UdEwEB\\/wQCMAAwHwYDVR0jBBgwFoAUI\\/JJxE+T5O8n5sT2KGw\\/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB\\/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0kAMEYCIQDaHGOui+X2T44R6GVpN7m2nEcr6T6sMjOhZ5NuSo1egwIhAL1a+\\/hp88DKJ0sv3eT3FxWcs71xmbLKD\\/QJ3mWagrJNMIIC7jCCAnWgAwIBAgIISW0vvzqY2pcwCgYIKoZIzj0EAwIwZzEbMBkGA1UEAwwSQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTQwNTA2MjM0NjMwWhcNMjkwNTA2MjM0NjMwWjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATwFxGEGddkhdUaXiWBB3bogKLv3nuuTeCN\\/EuT4TNW1WZbNa4i0Jd2DSJOe7oI\\/XYXzojLdrtmcL7I6CmE\\/1RFo4H3MIH0MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZXJvb3RjYWczMB0GA1UdDgQWBBQj8knET5Pk7yfmxPYobD+iu\\/0uSzAPBgNVHRMBAf8EBTADAQH\\/MB8GA1UdIwQYMBaAFLuw3qFYM4iapIqZ3r6966\\/ayySrMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlcm9vdGNhZzMuY3JsMA4GA1UdDwEB\\/wQEAwIBBjAQBgoqhkiG92NkBgIOBAIFADAKBggqhkjOPQQDAgNnADBkAjA6z3KDURaZsYb7NcNWymK\\/9Bft2Q91TaKOvvGcgV5Ct4n4mPebWZ+Y1UENj53pwv4CMDIt1UQhsKMFd2xd8zg7kGf9F3wsIW2WT8ZyaYISb1T4en0bmcubCYkhYQaZDwmSHQAAMYIBizCCAYcCAQEwgYYwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTAghoYPaZ2cynDzANBglghkgBZQMEAgEFAKCBlTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xOTA1MjMxMTA1MDdaMCoGCSqGSIb3DQEJNDEdMBswDQYJYIZIAWUDBAIBBQChCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIIvfGVQYBeOilcB7GNI8m8+FBVZ28QfA6BIXaggBja2PMAoGCCqGSM49BAMCBEYwRAIgU01yYfjlx9bvGeC5CU2RS5KBEG+15HH9tz\\/sg3qmQ14CID4F4ZJwAz+tXAUcAIzoMpYSnM8YBlnGJSTSp+LhspenAAAAAAAA\",\"header\":{\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0rs3wRpirXjPbFDQfPRdfEzRIZDWm0qn7Y0HB0PNzV1DDKfpYrnhRb4GEhBF\\/oEXBOe452PxbCnN1qAlqcSUWw==\",\"publicKeyHash\":\"saPRAqS7TZ4bAYwzBj8ezDDC55ZolyH1FL+Xc8fd93o=\",\"transactionId\":\"b061eb32181a2d9ca42ad16031b476eebaa62a9a095ad660e2759fba52b51a61\"}}"
250
- },
251
- StatementDescriptor: "php",
252
- ReturnURL: MangoPay.configuration.root_url,
253
- Tag: 'Test PayIn/ApplePay/Direct'
240
+ AuthorId: new_natural_user['Id'],
241
+ CreditedUserId: new_wallet['Owners'][0],
242
+ CreditedWalletId: new_wallet['Id'],
243
+ DebitedFunds: { Currency: 'EUR', Amount: 199 },
244
+ Fees: { Currency: 'EUR', Amount: 1 },
245
+ PaymentType: 'APPLEPAY',
246
+ PaymentData: {
247
+ TransactionId: '061EB32181A2D9CA42AD16031B476EEBAA62A9A095AD660E2759FBA52B51A61',
248
+ Network: 'VISA',
249
+ TokenData: "{\"version\":\"EC_v1\",\"data\":\"w4HMBVqNC9ghPP4zncTA\\/0oQAsduERfsx78oxgniynNjZLANTL6+0koEtkQnW\\/K38Zew8qV1GLp+fLHo+qCBpiKCIwlz3eoFBTbZU+8pYcjaeIYBX9SOxcwxXsNGrGLk+kBUqnpiSIPaAG1E+WPT8R1kjOCnGvtdombvricwRTQkGjtovPfzZo8LzD3ZQJnHMsWJ8QYDLyr\\/ZN9gtLAtsBAMvwManwiaG3pOIWpyeOQOb01YcEVO16EZBjaY4x4C\\/oyFLWDuKGvhbJwZqWh1d1o9JT29QVmvy3Oq2JEjq3c3NutYut4rwDEP4owqI40Nb7mP2ebmdNgnYyWfPmkRfDCRHIWtbMC35IPg5313B1dgXZ2BmyZRXD5p+mr67vAk7iFfjEpu3GieFqwZrTl3\\/pI5V8Sxe3SIYKgT5Hr7ow==\",\"signature\":\"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID5jCCA4ugAwIBAgIIaGD2mdnMpw8wCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE2MDYwMzE4MTY0MFoXDTIxMDYwMjE4MTY0MFowYjEoMCYGA1UEAwwfZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtU0FOREJPWDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgjD9q8Oc914gLFDZm0US5jfiqQHdbLPgsc1LUmeY+M9OvegaJajCHkwz3c6OKpbC9q+hkwNFxOh6RCbOlRsSlaOCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwHQYDVR0OBBYEFAIkMAua7u1GMZekplopnkJxghxFMAwGA1UdEwEB\\/wQCMAAwHwYDVR0jBBgwFoAUI\\/JJxE+T5O8n5sT2KGw\\/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB\\/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0kAMEYCIQDaHGOui+X2T44R6GVpN7m2nEcr6T6sMjOhZ5NuSo1egwIhAL1a+\\/hp88DKJ0sv3eT3FxWcs71xmbLKD\\/QJ3mWagrJNMIIC7jCCAnWgAwIBAgIISW0vvzqY2pcwCgYIKoZIzj0EAwIwZzEbMBkGA1UEAwwSQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTQwNTA2MjM0NjMwWhcNMjkwNTA2MjM0NjMwWjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATwFxGEGddkhdUaXiWBB3bogKLv3nuuTeCN\\/EuT4TNW1WZbNa4i0Jd2DSJOe7oI\\/XYXzojLdrtmcL7I6CmE\\/1RFo4H3MIH0MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZXJvb3RjYWczMB0GA1UdDgQWBBQj8knET5Pk7yfmxPYobD+iu\\/0uSzAPBgNVHRMBAf8EBTADAQH\\/MB8GA1UdIwQYMBaAFLuw3qFYM4iapIqZ3r6966\\/ayySrMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlcm9vdGNhZzMuY3JsMA4GA1UdDwEB\\/wQEAwIBBjAQBgoqhkiG92NkBgIOBAIFADAKBggqhkjOPQQDAgNnADBkAjA6z3KDURaZsYb7NcNWymK\\/9Bft2Q91TaKOvvGcgV5Ct4n4mPebWZ+Y1UENj53pwv4CMDIt1UQhsKMFd2xd8zg7kGf9F3wsIW2WT8ZyaYISb1T4en0bmcubCYkhYQaZDwmSHQAAMYIBizCCAYcCAQEwgYYwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTAghoYPaZ2cynDzANBglghkgBZQMEAgEFAKCBlTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xOTA1MjMxMTA1MDdaMCoGCSqGSIb3DQEJNDEdMBswDQYJYIZIAWUDBAIBBQChCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIIvfGVQYBeOilcB7GNI8m8+FBVZ28QfA6BIXaggBja2PMAoGCCqGSM49BAMCBEYwRAIgU01yYfjlx9bvGeC5CU2RS5KBEG+15HH9tz\\/sg3qmQ14CID4F4ZJwAz+tXAUcAIzoMpYSnM8YBlnGJSTSp+LhspenAAAAAAAA\",\"header\":{\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0rs3wRpirXjPbFDQfPRdfEzRIZDWm0qn7Y0HB0PNzV1DDKfpYrnhRb4GEhBF\\/oEXBOe452PxbCnN1qAlqcSUWw==\",\"publicKeyHash\":\"saPRAqS7TZ4bAYwzBj8ezDDC55ZolyH1FL+Xc8fd93o=\",\"transactionId\":\"b061eb32181a2d9ca42ad16031b476eebaa62a9a095ad660e2759fba52b51a61\"}}"
250
+ },
251
+ StatementDescriptor: "php",
252
+ ReturnURL: MangoPay.configuration.root_url,
253
+ Tag: 'Test PayIn/ApplePay/Direct'
254
254
  )
255
255
  end
256
256
 
@@ -260,70 +260,69 @@ shared_context 'payins' do
260
260
  ###############################################
261
261
  let(:new_payin_googlepay_direct) do
262
262
  MangoPay::PayIn::GooglePay::Direct.create(
263
- AuthorId: new_natural_user['Id'],
264
- CreditedWalletId: new_wallet['Id'],
265
- DebitedFunds: {Currency: 'EUR', Amount: 199},
266
- Fees: {Currency: 'EUR', Amount: 1},
267
- StatementDescriptor: "ruby",
268
- Tag: 'Test PayIn/GooglePay/Direct',
269
- IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
270
- SecureModeReturnURL: 'http://test.com',
271
- SecureMode: 'DEFAULT',
272
- ReturnURL: 'https://mangopay.com/docs/please-ignore',
273
- BrowserInfo: {
274
- AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
275
- JavaEnabled: true,
276
- Language: "fr-FR",
277
- ColorDepth: 4,
278
- ScreenHeight: 1800,
279
- ScreenWidth: 400,
280
- JavascriptEnabled: true,
281
- TimeZoneOffset: "+60",
282
- UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
283
- },
284
- PaymentData: "{\"signature\":\"MEUCIQCLXOan2Y9DobLVSOeD5V64Peayvz0ZAWisdz/1iTdthAIgVFb4Hve4EhtW81k46SiMlnXLIiCn1h2+vVQGjHe+sSo\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDGRER6R6PH6K39YTIYX+CpDNej6gQgvi/Wx19SOPtiDnkjAl4/LF9pXlvZYe+aJH0Dy095I6BlfY8bNBB5gjPg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1688521049102\\\"}\",\"signatures\":[\"MEYCIQDup1B+rkiPAWmpg7RmqY0NfgdGhmdyL8wvAX+6C1aOU2QIhAIZACSDQ/ZexIyEia5KrRlG2B+y3AnKNlhRzumRcnNOR\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"YSSGK9yFdKP+mJB5+wAjnOujnThPM1E/KbbJxd3MDzPVI66ip1DBESldvQXYjjeLq6Rf1tKE9oLwwaj6u0/gU7Z9t3g1MoW+9YoEE1bs1IxImif7IQGAosfYjjbBBfDkOaqEs2JJC5qt6xjKO9lQ/E6JPkPFGqF7+OJ1vzmD83Pi3sHWkVge5MhxXQ3yBNhrjus3kV7zUoYA+uqNrciWcWypc1NndF/tiwSkvUTzM6n4dS8X84fkJiSO7PZ65C0yw0mdybRRnyL2fFdWGssve1zZFAvYfzcpNamyuZGGlu/SCoayitojmMsqe5Cu0efD9+WvvDr9PA+Vo1gzuz7LmiZe81SGvdFhRoq62FBAUiwSsi2A3pWinZxM2XbYNph+HJ5FCNspWhz4ur9JG4ZMLemCXuaybvL++W6PWywAtoiE0mQcBIX3vhOq5itv0RkaKVe6nbcAS2UryRz2u/nDCJLKpIv2Wi11NtCUT2mgD8F6qfcXhvVZHyeLqZ1OLgCudTTSdKirzezbgPTg4tQpW++KufeD7bgG+01XhCWt+7/ftqcSf8n//gSRINne8j2G6w+2\\\",\\\"ephemeralPublicKey\\\":\\\"BLY2+R8C0T+BSf/W3HEq305qH63IGmJxMVmbfJ6+x1V7GQg9W9v7eHc3j+8TeypVn+nRlPu98tivuMXECg+rWZs\\\\u003d\\\",\\\"tag\\\":\\\"MmEjNdLfsDNfYd/FRUjoJ4/IfLypNRqx8zgHfa6Ftmo\\\\u003d\\\"}\"}",
285
- Billing: {
286
- FirstName: 'FName',
287
- LastName: 'LName',
288
- Address: {
289
- AddressLine1: 'AddressLine1',
290
- AddressLine2: 'AddressLine2',
291
- City: 'City',
292
- Region: 'Region',
293
- PostalCode: 'PostalCode',
294
- Country: 'FR'
295
- }
296
- },
297
- Shipping: {
298
- FirstName: 'FName',
299
- LastName: 'LName',
300
- Address: {
301
- AddressLine1: 'AddressLine1',
302
- AddressLine2: 'AddressLine2',
303
- City: 'City',
304
- Region: 'Region',
305
- PostalCode: 'PostalCode',
306
- Country: 'FR'
307
- }
263
+ AuthorId: new_natural_user['Id'],
264
+ CreditedWalletId: new_wallet['Id'],
265
+ DebitedFunds: { Currency: 'EUR', Amount: 199 },
266
+ Fees: { Currency: 'EUR', Amount: 1 },
267
+ StatementDescriptor: "ruby",
268
+ Tag: 'Test PayIn/GooglePay/Direct',
269
+ IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
270
+ SecureModeReturnURL: 'http://test.com',
271
+ SecureMode: 'DEFAULT',
272
+ ReturnURL: 'https://mangopay.com/docs/please-ignore',
273
+ BrowserInfo: {
274
+ AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
275
+ JavaEnabled: true,
276
+ Language: "fr-FR",
277
+ ColorDepth: 4,
278
+ ScreenHeight: 1800,
279
+ ScreenWidth: 400,
280
+ JavascriptEnabled: true,
281
+ TimeZoneOffset: "+60",
282
+ UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
283
+ },
284
+ PaymentData: "{\"signature\":\"MEUCIQCLXOan2Y9DobLVSOeD5V64Peayvz0ZAWisdz/1iTdthAIgVFb4Hve4EhtW81k46SiMlnXLIiCn1h2+vVQGjHe+sSo\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDGRER6R6PH6K39YTIYX+CpDNej6gQgvi/Wx19SOPtiDnkjAl4/LF9pXlvZYe+aJH0Dy095I6BlfY8bNBB5gjPg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1688521049102\\\"}\",\"signatures\":[\"MEYCIQDup1B+rkiPAWmpg7RmqY0NfgdGhmdyL8wvAX+6C1aOU2QIhAIZACSDQ/ZexIyEia5KrRlG2B+y3AnKNlhRzumRcnNOR\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"YSSGK9yFdKP+mJB5+wAjnOujnThPM1E/KbbJxd3MDzPVI66ip1DBESldvQXYjjeLq6Rf1tKE9oLwwaj6u0/gU7Z9t3g1MoW+9YoEE1bs1IxImif7IQGAosfYjjbBBfDkOaqEs2JJC5qt6xjKO9lQ/E6JPkPFGqF7+OJ1vzmD83Pi3sHWkVge5MhxXQ3yBNhrjus3kV7zUoYA+uqNrciWcWypc1NndF/tiwSkvUTzM6n4dS8X84fkJiSO7PZ65C0yw0mdybRRnyL2fFdWGssve1zZFAvYfzcpNamyuZGGlu/SCoayitojmMsqe5Cu0efD9+WvvDr9PA+Vo1gzuz7LmiZe81SGvdFhRoq62FBAUiwSsi2A3pWinZxM2XbYNph+HJ5FCNspWhz4ur9JG4ZMLemCXuaybvL++W6PWywAtoiE0mQcBIX3vhOq5itv0RkaKVe6nbcAS2UryRz2u/nDCJLKpIv2Wi11NtCUT2mgD8F6qfcXhvVZHyeLqZ1OLgCudTTSdKirzezbgPTg4tQpW++KufeD7bgG+01XhCWt+7/ftqcSf8n//gSRINne8j2G6w+2\\\",\\\"ephemeralPublicKey\\\":\\\"BLY2+R8C0T+BSf/W3HEq305qH63IGmJxMVmbfJ6+x1V7GQg9W9v7eHc3j+8TeypVn+nRlPu98tivuMXECg+rWZs\\\\u003d\\\",\\\"tag\\\":\\\"MmEjNdLfsDNfYd/FRUjoJ4/IfLypNRqx8zgHfa6Ftmo\\\\u003d\\\"}\"}",
285
+ Billing: {
286
+ FirstName: 'FName',
287
+ LastName: 'LName',
288
+ Address: {
289
+ AddressLine1: 'AddressLine1',
290
+ AddressLine2: 'AddressLine2',
291
+ City: 'City',
292
+ Region: 'Region',
293
+ PostalCode: 'PostalCode',
294
+ Country: 'FR'
308
295
  }
296
+ },
297
+ Shipping: {
298
+ FirstName: 'FName',
299
+ LastName: 'LName',
300
+ Address: {
301
+ AddressLine1: 'AddressLine1',
302
+ AddressLine2: 'AddressLine2',
303
+ City: 'City',
304
+ Region: 'Region',
305
+ PostalCode: 'PostalCode',
306
+ Country: 'FR'
307
+ }
308
+ }
309
309
  )
310
310
  end
311
311
 
312
-
313
312
  ###############################################
314
313
  # directdebit/direct
315
314
  ###############################################
316
315
 
317
316
  let(:new_payin_directdebit_direct) do
318
317
  MangoPay::PayIn::DirectDebit::Direct.create(
319
- AuthorId: new_natural_user['Id'],
320
- CreditedUserId: new_wallet['Owners'][0],
321
- CreditedWalletId: new_wallet['Id'],
322
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
323
- Fees: {Currency: 'EUR', Amount: 0},
324
- MandateId: new_mandate['Id'],
325
- ReturnURL: MangoPay.configuration.root_url,
326
- Tag: 'Test PayIn/DirectDebit/Direct'
318
+ AuthorId: new_natural_user['Id'],
319
+ CreditedUserId: new_wallet['Owners'][0],
320
+ CreditedWalletId: new_wallet['Id'],
321
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
322
+ Fees: { Currency: 'EUR', Amount: 0 },
323
+ MandateId: new_mandate['Id'],
324
+ ReturnURL: MangoPay.configuration.root_url,
325
+ Tag: 'Test PayIn/DirectDebit/Direct'
327
326
  )
328
327
  end
329
328
 
@@ -333,30 +332,30 @@ shared_context 'payins' do
333
332
 
334
333
  let(:new_payin_card_web) do
335
334
  MangoPay::PayIn::Card::Web.create(
336
- AuthorId: new_natural_user['Id'],
337
- CreditedUserId: new_wallet['Owners'][0],
338
- CreditedWalletId: new_wallet['Id'],
339
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
340
- Fees: {Currency: 'EUR', Amount: 0},
341
- CardType: 'CB_VISA_MASTERCARD',
342
- ReturnURL: MangoPay.configuration.root_url,
343
- Culture: 'FR',
344
- Tag: 'Test PayIn/Card/Web'
335
+ AuthorId: new_natural_user['Id'],
336
+ CreditedUserId: new_wallet['Owners'][0],
337
+ CreditedWalletId: new_wallet['Id'],
338
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
339
+ Fees: { Currency: 'EUR', Amount: 0 },
340
+ CardType: 'CB_VISA_MASTERCARD',
341
+ ReturnURL: MangoPay.configuration.root_url,
342
+ Culture: 'FR',
343
+ Tag: 'Test PayIn/Card/Web'
345
344
  )
346
345
  end
347
346
 
348
347
  let(:new_payin_card_web_payline) do
349
348
  MangoPay::PayIn::Card::Web.create(
350
- AuthorId: new_natural_user['Id'],
351
- CreditedUserId: new_wallet['Owners'][0],
352
- CreditedWalletId: new_wallet['Id'],
353
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
354
- Fees: {Currency: 'EUR', Amount: 0},
355
- CardType: 'CB_VISA_MASTERCARD',
356
- ReturnURL: MangoPay.configuration.root_url,
357
- Culture: 'FR',
358
- Tag: 'Test PayIn/Card/Web',
359
- TemplateURLOptions: {PAYLINEV2: "https://www.maysite.com/payline_template/"}
349
+ AuthorId: new_natural_user['Id'],
350
+ CreditedUserId: new_wallet['Owners'][0],
351
+ CreditedWalletId: new_wallet['Id'],
352
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
353
+ Fees: { Currency: 'EUR', Amount: 0 },
354
+ CardType: 'CB_VISA_MASTERCARD',
355
+ ReturnURL: MangoPay.configuration.root_url,
356
+ Culture: 'FR',
357
+ Tag: 'Test PayIn/Card/Web',
358
+ TemplateURLOptions: { PAYLINEV2: "https://www.maysite.com/payline_template/" }
360
359
  )
361
360
  end
362
361
 
@@ -366,9 +365,9 @@ shared_context 'payins' do
366
365
 
367
366
  let(:new_card_registration) do
368
367
  MangoPay::CardRegistration.create(
369
- UserId: new_natural_user['Id'],
370
- Currency: 'EUR',
371
- Tag: 'Test Card Registration'
368
+ UserId: new_natural_user['Id'],
369
+ Currency: 'EUR',
370
+ Tag: 'Test Card Registration'
372
371
  )
373
372
  end
374
373
 
@@ -378,11 +377,11 @@ shared_context 'payins' do
378
377
 
379
378
  # 2nd step: tokenize by payline (fills-in RegistrationData)
380
379
  data = {
381
- data: cardreg['PreregistrationData'],
382
- accessKeyRef: cardreg['AccessKey'],
383
- cardNumber: 4970105191923460,
384
- cardExpirationDate: 1226,
385
- cardCvx: 123}
380
+ data: cardreg['PreregistrationData'],
381
+ accessKeyRef: cardreg['AccessKey'],
382
+ cardNumber: 4970105191923460,
383
+ cardExpirationDate: 1226,
384
+ cardCvx: 123 }
386
385
 
387
386
  res = Net::HTTP.post_form(URI(cardreg['CardRegistrationURL']), data)
388
387
  raise Exception, [res, res.body] unless res.is_a?(Net::HTTPOK) && res.body.start_with?('data=')
@@ -400,11 +399,11 @@ shared_context 'payins' do
400
399
 
401
400
  # 2nd step: tokenize by payline (fills-in RegistrationData)
402
401
  data = {
403
- data: cardreg['PreregistrationData'],
404
- accessKeyRef: cardreg['AccessKey'],
405
- cardNumber: 4970105191923460,
406
- cardExpirationDate: 1224,
407
- cardCvx: 123}
402
+ data: cardreg['PreregistrationData'],
403
+ accessKeyRef: cardreg['AccessKey'],
404
+ cardNumber: 4970105191923460,
405
+ cardExpirationDate: 1224,
406
+ cardCvx: 123 }
408
407
 
409
408
  res = Net::HTTP.post_form(URI(cardreg['CardRegistrationURL']), data)
410
409
  raise Exception, [res, res.body] unless res.is_a?(Net::HTTPOK) && res.body.start_with?('data=')
@@ -422,11 +421,11 @@ shared_context 'payins' do
422
421
 
423
422
  # 2nd step: tokenize by payline (fills-in RegistrationData)
424
423
  data = {
425
- data: cardreg['PreregistrationData'],
426
- accessKeyRef: cardreg['AccessKey'],
427
- cardNumber: 4970105181818183,
428
- cardExpirationDate: 1226,
429
- cardCvx: 123}
424
+ data: cardreg['PreregistrationData'],
425
+ accessKeyRef: cardreg['AccessKey'],
426
+ cardNumber: 4970105181818183,
427
+ cardExpirationDate: 1226,
428
+ cardCvx: 123 }
430
429
 
431
430
  res = Net::HTTP.post_form(URI(cardreg['CardRegistrationURL']), data)
432
431
  raise Exception, [res, res.body] unless res.is_a?(Net::HTTPOK) && res.body.start_with?('data=')
@@ -447,8 +446,8 @@ shared_context 'payins' do
447
446
  MangoPay::PayIn::Mbway::Web.create(
448
447
  AuthorId: new_natural_user['Id'],
449
448
  CreditedWalletId: new_wallet['Id'],
450
- DebitedFunds: {Currency: 'EUR', Amount: 199},
451
- Fees: {Currency: 'EUR', Amount: 1},
449
+ DebitedFunds: { Currency: 'EUR', Amount: 199 },
450
+ Fees: { Currency: 'EUR', Amount: 1 },
452
451
  StatementDescriptor: "ruby",
453
452
  Tag: 'Test PayIn/Mbway/Web',
454
453
  Phone: '351#269458236'
@@ -461,8 +460,8 @@ shared_context 'payins' do
461
460
  let(:new_payin_multibanco_web) do
462
461
  MangoPay::PayIn::Multibanco::Web.create(
463
462
  AuthorId: new_natural_user['Id'],
464
- DebitedFunds: {Currency: 'EUR', Amount: 199},
465
- Fees: {Currency: 'EUR', Amount: 1},
463
+ DebitedFunds: { Currency: 'EUR', Amount: 199 },
464
+ Fees: { Currency: 'EUR', Amount: 1 },
466
465
  CreditedWalletId: new_wallet['Id'],
467
466
  StatementDescriptor: "ruby",
468
467
  Tag: 'Test PayIn/Multibanco/Web',
@@ -484,8 +483,8 @@ shared_context 'payins' do
484
483
  MangoPay::PayIn::Blik::Web.create(
485
484
  AuthorId: user['Id'],
486
485
  CreditedWalletId: wallet['Id'],
487
- DebitedFunds: {Currency: 'PLN', Amount: 199},
488
- Fees: {Currency: 'PLN', Amount: 1},
486
+ DebitedFunds: { Currency: 'PLN', Amount: 199 },
487
+ Fees: { Currency: 'PLN', Amount: 1 },
489
488
  StatementDescriptor: "ruby",
490
489
  Tag: 'Test PayIn/Blik/Web',
491
490
  ReturnURL: 'https://example.com'
@@ -499,8 +498,8 @@ shared_context 'payins' do
499
498
  MangoPay::PayIn::Satispay::Web.create(
500
499
  AuthorId: new_natural_user['Id'],
501
500
  CreditedWalletId: new_wallet['Id'],
502
- DebitedFunds: {Currency: 'EUR', Amount: 199},
503
- Fees: {Currency: 'EUR', Amount: 1},
501
+ DebitedFunds: { Currency: 'EUR', Amount: 199 },
502
+ Fees: { Currency: 'EUR', Amount: 1 },
504
503
  StatementDescriptor: "ruby",
505
504
  Tag: 'Test PayIn/Mbway/Web',
506
505
  Country: 'IT',
@@ -609,35 +608,35 @@ shared_context 'payins' do
609
608
  ShippingPreference: "GET_FROM_FILE",
610
609
  StatementDescriptor: "ruby",
611
610
  Tag: 'Test',
612
- # Culture: 'FR'
611
+ # Culture: 'FR'
613
612
  )
614
613
  end
615
614
 
616
615
  def create_new_payin_card_direct(to_wallet, amnt = 1000)
617
616
  cardreg = new_card_registration_completed
618
617
  MangoPay::PayIn::Card::Direct.create(
619
- AuthorId: new_natural_user['Id'],
620
- CreditedUserId: to_wallet['Owners'][0],
621
- CreditedWalletId: to_wallet['Id'],
622
- DebitedFunds: {Currency: 'EUR', Amount: amnt},
623
- Fees: {Currency: 'EUR', Amount: 0},
624
- CardType: 'CB_VISA_MASTERCARD',
625
- CardId: cardreg['CardId'],
626
- SecureModeReturnURL: 'http://test.com',
627
- Tag: 'Test PayIn/Card/Direct',
628
- Requested3DSVersion: 'V2_1',
629
- BrowserInfo: {
630
- AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
631
- JavaEnabled: true,
632
- Language: "FR-FR",
633
- ColorDepth: 4,
634
- ScreenHeight: 1800,
635
- ScreenWidth: 400,
636
- JavascriptEnabled: true,
637
- TimeZoneOffset: "+60",
638
- UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
639
- },
640
- IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
618
+ AuthorId: new_natural_user['Id'],
619
+ CreditedUserId: to_wallet['Owners'][0],
620
+ CreditedWalletId: to_wallet['Id'],
621
+ DebitedFunds: { Currency: 'EUR', Amount: amnt },
622
+ Fees: { Currency: 'EUR', Amount: 0 },
623
+ CardType: 'CB_VISA_MASTERCARD',
624
+ CardId: cardreg['CardId'],
625
+ SecureModeReturnURL: 'http://test.com',
626
+ Tag: 'Test PayIn/Card/Direct',
627
+ Requested3DSVersion: 'V2_1',
628
+ BrowserInfo: {
629
+ AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
630
+ JavaEnabled: true,
631
+ Language: "FR-FR",
632
+ ColorDepth: 4,
633
+ ScreenHeight: 1800,
634
+ ScreenWidth: 400,
635
+ JavascriptEnabled: true,
636
+ TimeZoneOffset: "+60",
637
+ UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
638
+ },
639
+ IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
641
640
  )
642
641
  end
643
642
 
@@ -649,25 +648,25 @@ shared_context 'payins' do
649
648
 
650
649
  def create_new_card_preauthorization(cardreg, amnt = 1000)
651
650
  MangoPay::PreAuthorization.create(
652
- AuthorId: new_natural_user['Id'],
653
- DebitedFunds: {Currency: 'EUR', Amount: amnt},
654
- CardId: cardreg['CardId'],
655
- SecureMode: 'DEFAULT',
656
- SecureModeReturnURL: 'http://test.com',
657
- Tag: 'Test Card PreAuthorization',
658
- Requested3DSVersion: 'V2_1',
659
- BrowserInfo: {
660
- AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
661
- JavaEnabled: true,
662
- Language: "FR-FR",
663
- ColorDepth: 4,
664
- ScreenHeight: 1800,
665
- ScreenWidth: 400,
666
- JavascriptEnabled: true,
667
- TimeZoneOffset: "+60",
668
- UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
669
- },
670
- IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
651
+ AuthorId: new_natural_user['Id'],
652
+ DebitedFunds: { Currency: 'EUR', Amount: amnt },
653
+ CardId: cardreg['CardId'],
654
+ SecureMode: 'DEFAULT',
655
+ SecureModeReturnURL: 'http://test.com',
656
+ Tag: 'Test Card PreAuthorization',
657
+ Requested3DSVersion: 'V2_1',
658
+ BrowserInfo: {
659
+ AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
660
+ JavaEnabled: true,
661
+ Language: "FR-FR",
662
+ ColorDepth: 4,
663
+ ScreenHeight: 1800,
664
+ ScreenWidth: 400,
665
+ JavascriptEnabled: true,
666
+ TimeZoneOffset: "+60",
667
+ UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
668
+ },
669
+ IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
671
670
  )
672
671
  end
673
672
 
@@ -676,25 +675,25 @@ shared_context 'payins' do
676
675
  def create_new_payin_preauthorized_direct(to_wallet, amnt = 1000)
677
676
  preauth = new_card_preauthorization
678
677
  MangoPay::PayIn::PreAuthorized::Direct.create(
679
- AuthorId: new_natural_user['Id'],
680
- CreditedUserId: to_wallet['Owners'][0],
681
- CreditedWalletId: to_wallet['Id'],
682
- DebitedFunds: {Currency: 'EUR', Amount: amnt},
683
- Fees: {Currency: 'EUR', Amount: 0},
684
- PreauthorizationId: preauth['Id'],
685
- Tag: 'Test PayIn/PreAuthorized/Direct',
686
- BrowserInfo: {
687
- AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
688
- JavaEnabled: true,
689
- Language: "FR-FR",
690
- ColorDepth: 4,
691
- ScreenHeight: 1800,
692
- ScreenWidth: 400,
693
- JavascriptEnabled: true,
694
- TimeZoneOffset: "+60",
695
- UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
696
- },
697
- IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
678
+ AuthorId: new_natural_user['Id'],
679
+ CreditedUserId: to_wallet['Owners'][0],
680
+ CreditedWalletId: to_wallet['Id'],
681
+ DebitedFunds: { Currency: 'EUR', Amount: amnt },
682
+ Fees: { Currency: 'EUR', Amount: 0 },
683
+ PreauthorizationId: preauth['Id'],
684
+ Tag: 'Test PayIn/PreAuthorized/Direct',
685
+ BrowserInfo: {
686
+ AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
687
+ JavaEnabled: true,
688
+ Language: "FR-FR",
689
+ ColorDepth: 4,
690
+ ScreenHeight: 1800,
691
+ ScreenWidth: 400,
692
+ JavascriptEnabled: true,
693
+ TimeZoneOffset: "+60",
694
+ UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
695
+ },
696
+ IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C"
698
697
  )
699
698
  end
700
699
 
@@ -725,12 +724,12 @@ shared_context 'payins' do
725
724
 
726
725
  def create_new_payin_pre_authorized_deposit_direct(deposit_id, author_id, credited_wallet_id)
727
726
  MangoPay::PayIn::PreAuthorized::Direct.create_pre_authorized_deposit_pay_in(
728
- AuthorId: author_id,
729
- CreditedWalletId: credited_wallet_id,
730
- DebitedFunds: {Currency: 'EUR', Amount: 500},
731
- Fees: {Currency: 'EUR', Amount: 0},
732
- DepositId: deposit_id,
733
- Tag: 'lorem ipsum'
727
+ AuthorId: author_id,
728
+ CreditedWalletId: credited_wallet_id,
729
+ DebitedFunds: { Currency: 'EUR', Amount: 500 },
730
+ Fees: { Currency: 'EUR', Amount: 0 },
731
+ DepositId: deposit_id,
732
+ Tag: 'lorem ipsum'
734
733
  )
735
734
  end
736
735
 
@@ -742,14 +741,33 @@ shared_context 'payins' do
742
741
 
743
742
  def create_new_payin_bankwire_direct(to_wallet, amnt = 1000)
744
743
  MangoPay::PayIn::BankWire::Direct.create(
745
- AuthorId: new_natural_user['Id'],
746
- CreditedUserId: to_wallet['Owners'][0],
747
- CreditedWalletId: to_wallet['Id'],
748
- DeclaredDebitedFunds: {Currency: 'EUR', Amount: amnt},
749
- DeclaredFees: {Currency: 'EUR', Amount: 0},
750
- Tag: 'Test PayIn/BankWire/Direct'
744
+ AuthorId: new_natural_user['Id'],
745
+ CreditedUserId: to_wallet['Owners'][0],
746
+ CreditedWalletId: to_wallet['Id'],
747
+ DeclaredDebitedFunds: { Currency: 'EUR', Amount: amnt },
748
+ DeclaredFees: { Currency: 'EUR', Amount: 0 },
749
+ Tag: 'Test PayIn/BankWire/Direct'
750
+ )
751
+ end
752
+
753
+ ###############################################
754
+ # wallet with money
755
+ ###############################################
756
+ #
757
+ let(:new_wallet_with_money){ create_new_wallet_with_money(new_natural_user) }
758
+
759
+ def create_new_wallet_with_money(user)
760
+ wallet = MangoPay::Wallet.create(
761
+ Owners: [user['Id']],
762
+ Description: 'A test wallet',
763
+ Currency: 'EUR',
764
+ Tag: 'Test wallet'
751
765
  )
766
+
767
+ pay_in = create_new_payin_card_direct(wallet)
768
+ MangoPay::Wallet.fetch(pay_in['CreditedWalletId'])
752
769
  end
770
+
753
771
  end
754
772
 
755
773
  ###############################################
@@ -761,14 +779,14 @@ shared_context 'payouts' do
761
779
 
762
780
  def create_new_payout_bankwire(payin, amnt = 500)
763
781
  MangoPay::PayOut::BankWire.create(
764
- AuthorId: payin['CreditedUserId'],
765
- DebitedWalletId: payin['CreditedWalletId'],
766
- DebitedFunds: {Currency: 'EUR', Amount: amnt},
767
- Fees: {Currency: 'EUR', Amount: 0},
768
- BankAccountId: new_bank_account['Id'],
769
- Communication: 'This is a test',
770
- Tag: 'Test PayOut/Bank/Wire',
771
- PayoutModeRequested: 'Standard'
782
+ AuthorId: payin['CreditedUserId'],
783
+ DebitedWalletId: payin['CreditedWalletId'],
784
+ DebitedFunds: { Currency: 'EUR', Amount: amnt },
785
+ Fees: { Currency: 'EUR', Amount: 0 },
786
+ BankAccountId: new_bank_account['Id'],
787
+ Communication: 'This is a test',
788
+ Tag: 'Test PayOut/Bank/Wire',
789
+ PayoutModeRequested: 'Standard'
772
790
  )
773
791
  end
774
792
  end
@@ -789,13 +807,13 @@ shared_context 'transfers' do
789
807
 
790
808
  def create_new_transfer(from_wallet, to_wallet, amnt = 500)
791
809
  MangoPay::Transfer.create(
792
- AuthorId: from_wallet['Owners'][0],
793
- DebitedWalletId: from_wallet['Id'],
794
- CreditedUserId: to_wallet['Owners'][0],
795
- CreditedWalletId: to_wallet['Id'],
796
- DebitedFunds: {Currency: 'EUR', Amount: amnt},
797
- Fees: {Currency: 'EUR', Amount: 0},
798
- Tag: 'Test transfer'
810
+ AuthorId: from_wallet['Owners'][0],
811
+ DebitedWalletId: from_wallet['Id'],
812
+ CreditedUserId: to_wallet['Owners'][0],
813
+ CreditedWalletId: to_wallet['Id'],
814
+ DebitedFunds: { Currency: 'EUR', Amount: amnt },
815
+ Fees: { Currency: 'EUR', Amount: 0 },
816
+ Tag: 'Test transfer'
799
817
  )
800
818
  end
801
819
  end
@@ -807,9 +825,9 @@ shared_context 'hooks' do
807
825
  hooks = MangoPay::Hook.fetch('page' => 1, 'per_page' => 1)
808
826
  if hooks.empty?
809
827
  MangoPay::Hook.create(
810
- EventType: 'PAYIN_NORMAL_CREATED',
811
- Url: 'http://test.com',
812
- Tag: 'Test hook'
828
+ EventType: 'PAYIN_NORMAL_CREATED',
829
+ Url: 'http://test.com',
830
+ Tag: 'Test hook'
813
831
  )
814
832
  else
815
833
  hooks[0]
@@ -825,64 +843,101 @@ shared_context 'bankingaliases' do
825
843
 
826
844
  let(:new_banking_alias) do
827
845
  MangoPay::BankingAliasesIBAN.create({
828
- CreditedUserId: new_natural_user['Id'],
829
- WalletId: new_wallet['Id'],
830
- OwnerName: new_natural_user['FirstName'],
831
- Country: 'LU'
846
+ CreditedUserId: new_natural_user['Id'],
847
+ WalletId: new_wallet['Id'],
848
+ OwnerName: new_natural_user['FirstName'],
849
+ Country: 'LU'
832
850
  }, new_wallet['Id'])
833
851
  end
834
852
  end
835
853
 
836
-
837
854
  ###############################################
838
855
  # deposits
839
856
  ###############################################
840
857
 
841
858
  def create_new_deposit(card_registration_id, author_id)
842
859
  MangoPay::Deposit.create(
843
- {
844
- AuthorId: author_id,
845
- DebitedFunds: {Currency: 'EUR', Amount: 1000},
846
- CardId: card_registration_id,
847
- SecureModeReturnURL: 'http://mangopay-sandbox-test.com',
848
- StatementDescriptor: "lorem",
849
- Culture: 'FR',
850
- IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
851
- BrowserInfo: {
852
- AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
853
- JavaEnabled: true,
854
- Language: "FR-FR",
855
- ColorDepth: 4,
856
- ScreenHeight: 1800,
857
- ScreenWidth: 400,
858
- JavascriptEnabled: true,
859
- TimeZoneOffset: "+60",
860
- UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
861
- },
862
- Billing: {
863
- Address: {
864
- AddressLine1: 'AddressLine1',
865
- AddressLine2: 'AddressLine2',
866
- City: 'City',
867
- Region: 'Region',
868
- PostalCode: 'PostalCode',
869
- Country: 'FR'
870
- },
871
- FirstName: 'Joe',
872
- LastName: 'Blogs'
873
- },
874
- Shipping: {
875
- Address: {
876
- AddressLine1: 'AddressLine1',
877
- AddressLine2: 'AddressLine2',
878
- City: 'City',
879
- Region: 'Region',
880
- PostalCode: 'PostalCode',
881
- Country: 'FR'
882
- },
883
- FirstName: 'Joe',
884
- LastName: 'Blogs'
885
- }
860
+ {
861
+ AuthorId: author_id,
862
+ DebitedFunds: { Currency: 'EUR', Amount: 1000 },
863
+ CardId: card_registration_id,
864
+ SecureModeReturnURL: 'http://mangopay-sandbox-test.com',
865
+ StatementDescriptor: "lorem",
866
+ Culture: 'FR',
867
+ IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
868
+ BrowserInfo: {
869
+ AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
870
+ JavaEnabled: true,
871
+ Language: "FR-FR",
872
+ ColorDepth: 4,
873
+ ScreenHeight: 1800,
874
+ ScreenWidth: 400,
875
+ JavascriptEnabled: true,
876
+ TimeZoneOffset: "+60",
877
+ UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
878
+ },
879
+ Billing: {
880
+ Address: {
881
+ AddressLine1: 'AddressLine1',
882
+ AddressLine2: 'AddressLine2',
883
+ City: 'City',
884
+ Region: 'Region',
885
+ PostalCode: 'PostalCode',
886
+ Country: 'FR'
887
+ },
888
+ FirstName: 'Joe',
889
+ LastName: 'Blogs'
890
+ },
891
+ Shipping: {
892
+ Address: {
893
+ AddressLine1: 'AddressLine1',
894
+ AddressLine2: 'AddressLine2',
895
+ City: 'City',
896
+ Region: 'Region',
897
+ PostalCode: 'PostalCode',
898
+ Country: 'FR'
899
+ },
900
+ FirstName: 'Joe',
901
+ LastName: 'Blogs'
886
902
  }
903
+ }
887
904
  )
905
+ end
906
+
907
+ ###############################################
908
+ # instant conversions
909
+ ###############################################
910
+ shared_context 'instant_conversion' do
911
+ include_context 'payins'
912
+ def get_conversion_rate(debited_currency, credited_currency)
913
+ MangoPay::InstantConversion.get_rate(debited_currency, credited_currency, params = {})
914
+ end
915
+
916
+ def create_instant_conversion()
917
+ user = new_natural_user
918
+ credited_wallet = MangoPay::Wallet.create(
919
+ Owners: [user['Id']],
920
+ Description: 'A test wallet',
921
+ Currency: 'GBP',
922
+ Tag: 'Test wallet'
923
+ )
924
+
925
+ MangoPay::InstantConversion.create(
926
+ AuthorId: user['Id'],
927
+ CreditedWalletId: credited_wallet['Id'],
928
+ DebitedWalletId: new_wallet_with_money['Id'],
929
+ CreditedFunds: {
930
+ Currency: 'GBP'
931
+ },
932
+ DebitedFunds: {
933
+ Currency: 'EUR',
934
+ Amount: 79
935
+ },
936
+ Tag: 'Instant conversion test'
937
+ )
938
+ end
939
+
940
+ def get_instant_conversion(id)
941
+ MangoPay::InstantConversion.get(id, params = {})
942
+ end
888
943
  end
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.17.0
4
+ version: 3.18.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-09-20 00:00:00.000000000 Z
12
+ date: 2023-09-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
@@ -89,6 +89,7 @@ files:
89
89
  - lib/mangopay/filter_parameters.rb
90
90
  - lib/mangopay/hook.rb
91
91
  - lib/mangopay/http_calls.rb
92
+ - lib/mangopay/instant_conversion.rb
92
93
  - lib/mangopay/json.rb
93
94
  - lib/mangopay/kyc_document.rb
94
95
  - lib/mangopay/legal_user.rb
@@ -123,6 +124,7 @@ files:
123
124
  - spec/mangopay/fetch_filters_spec.rb
124
125
  - spec/mangopay/hook_spec.rb
125
126
  - spec/mangopay/idempotency_spec.rb
127
+ - spec/mangopay/instant_conversion_spec.rb
126
128
  - spec/mangopay/kyc_document_spec.png
127
129
  - spec/mangopay/kyc_document_spec.rb
128
130
  - spec/mangopay/log_requests_filter_spec.rb
@@ -197,6 +199,7 @@ test_files:
197
199
  - spec/mangopay/fetch_filters_spec.rb
198
200
  - spec/mangopay/hook_spec.rb
199
201
  - spec/mangopay/idempotency_spec.rb
202
+ - spec/mangopay/instant_conversion_spec.rb
200
203
  - spec/mangopay/kyc_document_spec.png
201
204
  - spec/mangopay/kyc_document_spec.rb
202
205
  - spec/mangopay/log_requests_filter_spec.rb