mangopay4-python-sdk 3.53.0__tar.gz → 3.54.1__tar.gz
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.
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/PKG-INFO +1 -1
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/fields.py +150 -1
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/resources.py +99 -16
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/utils.py +137 -4
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/PKG-INFO +1 -1
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/SOURCES.txt +2 -1
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/setup.py +1 -1
- mangopay4_python_sdk-3.54.1/tests/resources/settlement_sample.csv +8 -0
- mangopay4_python_sdk-3.54.1/tests/resources/settlement_sample_bad.csv +8 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_base.py +57 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_cards.py +1 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_conversion.py +13 -2
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_deposits.py +1 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_payins.py +144 -17
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_payouts.py +1 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_preauthorizations.py +2 -1
- mangopay4_python_sdk-3.54.1/tests/test_settlements.py +60 -0
- mangopay4_python_sdk-3.53.0/tests/resources/settlement_sample.csv +0 -8
- mangopay4_python_sdk-3.53.0/tests/test_settlements.py +0 -38
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/DESCRIPTION.md +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/LICENSE +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/MANIFEST.in +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/Makefile +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/README.md +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/__init__.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/api.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/auth.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/base.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/compat.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/constants.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/exceptions.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/page.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/query.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/ratelimit.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay/signals.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/dependency_links.txt +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/entry_points.txt +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/requires.txt +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/mangopay4_python_sdk.egg-info/top_level.txt +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/setup.cfg +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/__init__.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/card.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/cardregistrations.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/cardregistrations_update.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/declarative_user.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/legal_user.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/legal_user_wallet.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/legal_user_wallet_89.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/legal_user_wallet_99.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/list_ubo_declarations.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/natural_user.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/natural_user_wallet.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/natural_user_wallet_9.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/ubo.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/ubo_declaration.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/ubo_declaration_submit.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/ubo_update.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_list_2_per_page.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_list_2_per_page_page1.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_list_3_per_page_page2.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_list_full.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_list_page1.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/fixtures/user_wallet.json +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/images/image.jpg +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/mocks.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/resources/TestKycPageFile.png +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/resources.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/settings.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_bankaccounts.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_banking_aliases.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_client_wallets.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_clients.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_country_authorizations.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_disputes.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_documentconsult.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_emoney.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_idempotency.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_identity_verification.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_kyc_document.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_kycs.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_mandates.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_notifications.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_rate_limit.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_recipients.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_refunds.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_reports.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_reports_v2.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_repudiations.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_tokens.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_transactions.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_transfers.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_ubos.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_users.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_utils.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_virtual_account.py +0 -0
- {mangopay4_python_sdk-3.53.0 → mangopay4_python_sdk-3.54.1}/tests/test_wallets.py +0 -0
|
@@ -14,7 +14,8 @@ from .utils import timestamp_from_datetime, timestamp_from_date, Money, DebitedB
|
|
|
14
14
|
VirtualAccountCapabilities, PaymentRef, PendingUserAction, LegalRepresentative, IndividualRecipient, \
|
|
15
15
|
BusinessRecipient, RecipientPropertySchema, IndividualRecipientPropertySchema, BusinessRecipientPropertySchema, \
|
|
16
16
|
CompanyNumberValidation, ReportFilter, PayInIntentExternalData, PayInIntentBuyer, SupportedBank, \
|
|
17
|
-
VerificationOfPayee,
|
|
17
|
+
VerificationOfPayee, PayInIntentRefund, PayInIntentCapture, PayInIntentDispute, CustomFees, MarginsResponse, \
|
|
18
|
+
UserMargin, ConsentScope, AuthenticationResult
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class FieldDescriptor(object):
|
|
@@ -1346,6 +1347,135 @@ class VerificationOfPayeeField(Field):
|
|
|
1346
1347
|
return value
|
|
1347
1348
|
|
|
1348
1349
|
|
|
1350
|
+
class PayInIntentRefundField(Field):
|
|
1351
|
+
def python_value(self, value):
|
|
1352
|
+
if value is not None:
|
|
1353
|
+
return PayInIntentRefund(id=value.get('Id', None))
|
|
1354
|
+
|
|
1355
|
+
return value
|
|
1356
|
+
|
|
1357
|
+
def api_value(self, value):
|
|
1358
|
+
value = super(PayInIntentRefundField, self).api_value(value)
|
|
1359
|
+
|
|
1360
|
+
if isinstance(value, PayInIntentRefund):
|
|
1361
|
+
result = {}
|
|
1362
|
+
if value.id is not None:
|
|
1363
|
+
result['Id'] = value.id
|
|
1364
|
+
return result
|
|
1365
|
+
|
|
1366
|
+
return value
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
class PayInIntentCaptureField(Field):
|
|
1370
|
+
def python_value(self, value):
|
|
1371
|
+
if value is not None:
|
|
1372
|
+
return PayInIntentCapture(id=value.get('Id', None))
|
|
1373
|
+
|
|
1374
|
+
return value
|
|
1375
|
+
|
|
1376
|
+
def api_value(self, value):
|
|
1377
|
+
value = super(PayInIntentCaptureField, self).api_value(value)
|
|
1378
|
+
|
|
1379
|
+
if isinstance(value, PayInIntentCapture):
|
|
1380
|
+
result = {}
|
|
1381
|
+
if value.id is not None:
|
|
1382
|
+
result['Id'] = value.id
|
|
1383
|
+
return result
|
|
1384
|
+
|
|
1385
|
+
return value
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
class PayInIntentDisputeField(Field):
|
|
1389
|
+
def python_value(self, value):
|
|
1390
|
+
if value is not None:
|
|
1391
|
+
return PayInIntentDispute(id=value.get('Id', None))
|
|
1392
|
+
|
|
1393
|
+
return value
|
|
1394
|
+
|
|
1395
|
+
def api_value(self, value):
|
|
1396
|
+
value = super(PayInIntentDisputeField, self).api_value(value)
|
|
1397
|
+
|
|
1398
|
+
if isinstance(value, PayInIntentDispute):
|
|
1399
|
+
result = {}
|
|
1400
|
+
if value.id is not None:
|
|
1401
|
+
result['Id'] = value.id
|
|
1402
|
+
return result
|
|
1403
|
+
|
|
1404
|
+
return value
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
class CustomFeesField(Field):
|
|
1408
|
+
def python_value(self, value):
|
|
1409
|
+
if value is not None:
|
|
1410
|
+
return CustomFees(amount=value.get('Amount', None),
|
|
1411
|
+
currency=value.get('Currency', None),
|
|
1412
|
+
type=value.get('Type', None),
|
|
1413
|
+
value=value.get('Value', None))
|
|
1414
|
+
|
|
1415
|
+
return value
|
|
1416
|
+
|
|
1417
|
+
def api_value(self, value):
|
|
1418
|
+
value = super(CustomFeesField, self).api_value(value)
|
|
1419
|
+
|
|
1420
|
+
if isinstance(value, CustomFees):
|
|
1421
|
+
result = {}
|
|
1422
|
+
if value.amount is not None:
|
|
1423
|
+
result['Amount'] = value.amount
|
|
1424
|
+
if value.currency is not None:
|
|
1425
|
+
result['Currency'] = value.currency
|
|
1426
|
+
if value.type is not None:
|
|
1427
|
+
result['Type'] = value.type
|
|
1428
|
+
if value.value is not None:
|
|
1429
|
+
result['Value'] = value.value
|
|
1430
|
+
return result
|
|
1431
|
+
|
|
1432
|
+
return value
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
class MarginsResponseField(Field):
|
|
1436
|
+
def python_value(self, value):
|
|
1437
|
+
if value is not None:
|
|
1438
|
+
return MarginsResponse(mangopay=value.get('Mangopay', None),
|
|
1439
|
+
user=value.get('User', None))
|
|
1440
|
+
|
|
1441
|
+
return value
|
|
1442
|
+
|
|
1443
|
+
def api_value(self, value):
|
|
1444
|
+
value = super(MarginsResponseField, self).api_value(value)
|
|
1445
|
+
|
|
1446
|
+
if isinstance(value, MarginsResponse):
|
|
1447
|
+
result = {}
|
|
1448
|
+
if value.mangopay is not None:
|
|
1449
|
+
result['Mangopay'] = value.mangopay
|
|
1450
|
+
if value.user is not None:
|
|
1451
|
+
result['User'] = value.user
|
|
1452
|
+
return result
|
|
1453
|
+
|
|
1454
|
+
return value
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
class UserMarginField(Field):
|
|
1458
|
+
def python_value(self, value):
|
|
1459
|
+
if value is not None:
|
|
1460
|
+
return UserMargin(type=value.get('Type', None),
|
|
1461
|
+
value=value.get('Value', None))
|
|
1462
|
+
|
|
1463
|
+
return value
|
|
1464
|
+
|
|
1465
|
+
def api_value(self, value):
|
|
1466
|
+
value = super(UserMarginField, self).api_value(value)
|
|
1467
|
+
|
|
1468
|
+
if isinstance(value, UserMargin):
|
|
1469
|
+
result = {}
|
|
1470
|
+
if value.type is not None:
|
|
1471
|
+
result['Type'] = value.type
|
|
1472
|
+
if value.value is not None:
|
|
1473
|
+
result['Value'] = value.value
|
|
1474
|
+
return result
|
|
1475
|
+
|
|
1476
|
+
return value
|
|
1477
|
+
|
|
1478
|
+
|
|
1349
1479
|
class ConsentScopeField(Field):
|
|
1350
1480
|
def python_value(self, value):
|
|
1351
1481
|
if value is not None:
|
|
@@ -1371,4 +1501,23 @@ class ConsentScopeField(Field):
|
|
|
1371
1501
|
result['ViewAccountInformation'] = value.view_account_information
|
|
1372
1502
|
return result
|
|
1373
1503
|
|
|
1504
|
+
return value
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
class AuthenticationResultField(Field):
|
|
1508
|
+
def python_value(self, value):
|
|
1509
|
+
if value is not None:
|
|
1510
|
+
return AuthenticationResult(authentication_type=value.get('AuthenticationType', None))
|
|
1511
|
+
|
|
1512
|
+
return value
|
|
1513
|
+
|
|
1514
|
+
def api_value(self, value):
|
|
1515
|
+
value = super(AuthenticationResultField, self).api_value(value)
|
|
1516
|
+
|
|
1517
|
+
if isinstance(value, AuthenticationResult):
|
|
1518
|
+
result = {}
|
|
1519
|
+
if value.authentication_type is not None:
|
|
1520
|
+
result['AuthenticationType'] = value.authentication_type
|
|
1521
|
+
return result
|
|
1522
|
+
|
|
1374
1523
|
return value
|
|
@@ -20,9 +20,9 @@ from .fields import (PrimaryKeyField, EmailField, CharField,
|
|
|
20
20
|
RecipientPropertySchemaField, IndividualRecipientPropertySchemaField,
|
|
21
21
|
BusinessRecipientPropertySchemaField, CompanyNumberValidationField, ReportFilterField,
|
|
22
22
|
PayInIntentExternalDataField, PayInIntentBuyerField, SupportedBanksField, VerificationOfPayeeField,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
PayInIntentRefundField, PayInIntentCaptureField, PayInIntentDisputeField, CustomFeesField,
|
|
24
|
+
UserMarginField, MarginsResponseField, ConsentScopeField, AuthenticationResultField)
|
|
25
|
+
from .query import InsertQuery, UpdateQuery, SelectQuery, ActionQuery, DeleteQuery
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class BaseModel(BaseApiModel):
|
|
@@ -480,6 +480,10 @@ class ConversionQuote(BaseModel):
|
|
|
480
480
|
debited_funds = MoneyField(api_name='DebitedFunds', required=True)
|
|
481
481
|
credited_funds = MoneyField(api_name='CreditedFunds', required=True)
|
|
482
482
|
conversion_rate = ConversionRateField(api_name='ConversionRateResponse')
|
|
483
|
+
fees = CustomFeesField(api_name="Fees")
|
|
484
|
+
requested_fees = CustomFeesField(api_name="RequestedFees")
|
|
485
|
+
user_margin = UserMarginField(api_name="UserMargin")
|
|
486
|
+
margins_response = MarginsResponseField(api_name='MarginsResponse')
|
|
483
487
|
|
|
484
488
|
def create_conversion_quote(self, **kwargs):
|
|
485
489
|
insert = InsertQuery(self, **kwargs)
|
|
@@ -515,11 +519,13 @@ class Conversion(BaseModel):
|
|
|
515
519
|
debited_funds = MoneyField(api_name='DebitedFunds', required=True)
|
|
516
520
|
credited_funds = MoneyField(api_name='CreditedFunds', required=True)
|
|
517
521
|
fees = MoneyField(api_name="Fees", required=True)
|
|
522
|
+
requested_fees = CustomFeesField(api_name="RequestedFees")
|
|
518
523
|
result_code = CharField(api_name='ResultCode')
|
|
519
524
|
result_message = CharField(api_name='ResultMessage')
|
|
520
525
|
execution_date = DateTimeField(api_name='ExecutionDate')
|
|
521
526
|
conversion_rate = ConversionRateField(api_name='ConversionRate')
|
|
522
527
|
creation_date = DateTimeField(api_name='CreationDate')
|
|
528
|
+
margins_response = MarginsResponseField(api_name='MarginsResponse')
|
|
523
529
|
|
|
524
530
|
@staticmethod
|
|
525
531
|
def get_conversion(id, *args, **kwargs):
|
|
@@ -583,8 +589,9 @@ class InstantConversion(BaseModel):
|
|
|
583
589
|
credited_wallet = ForeignKeyField(Wallet, api_name="CreditedWalletId")
|
|
584
590
|
debited_funds = MoneyField(api_name="DebitedFunds")
|
|
585
591
|
credited_funds = MoneyField(api_name="CreditedFunds")
|
|
586
|
-
fees =
|
|
592
|
+
fees = CustomFeesField(api_name="Fees")
|
|
587
593
|
tag = CharField(api_name="Tag")
|
|
594
|
+
user_margin = UserMarginField(api_name="UserMargin")
|
|
588
595
|
|
|
589
596
|
def save(self, **kwargs):
|
|
590
597
|
insert = InsertQuery(self, **kwargs)
|
|
@@ -739,6 +746,7 @@ class CardValidation(BaseModel):
|
|
|
739
746
|
authorization_date = DateTimeField(api_name='AuthorizationDate')
|
|
740
747
|
card_info = CardInfoField(api_name='CardInfo')
|
|
741
748
|
payment_category = CharField(api_name='PaymentCategory')
|
|
749
|
+
authentication_result = AuthenticationResultField(api_name='AuthenticationResult')
|
|
742
750
|
|
|
743
751
|
def validate(self, card_id, **kwargs):
|
|
744
752
|
insert = InsertQuery(self, **kwargs)
|
|
@@ -854,6 +862,7 @@ class PayIn(BaseModel):
|
|
|
854
862
|
payment_type = CharField(api_name='PaymentType', choices=constants.PAYIN_PAYMENT_TYPE, default=None)
|
|
855
863
|
execution_type = CharField(api_name='ExecutionType', choices=constants.EXECUTION_TYPE_CHOICES, default=None)
|
|
856
864
|
profiling_attempt_reference = CharField(api_name='ProfilingAttemptReference')
|
|
865
|
+
authentication_result = AuthenticationResultField(api_name='AuthenticationResult')
|
|
857
866
|
|
|
858
867
|
def get_refunds(self, *args, **kwargs):
|
|
859
868
|
kwargs['id'] = self.id
|
|
@@ -976,6 +985,7 @@ class RecurringPayInCIT(PayIn):
|
|
|
976
985
|
security_info = SecurityInfoField(api_name='SecurityInfo')
|
|
977
986
|
shipping = ShippingField(api_name='Shipping')
|
|
978
987
|
card_info = CardInfoField(api_name='CardInfo')
|
|
988
|
+
payment_category = CharField(api_name='PaymentCategory')
|
|
979
989
|
|
|
980
990
|
def get_read_only_properties(self):
|
|
981
991
|
read_only = ["AuthorId", "Applied3DSVersion", "CardId", "CreationDate", "Culture", "SecureModeNeeded"
|
|
@@ -1013,6 +1023,7 @@ class RecurringPayInMIT(PayIn):
|
|
|
1013
1023
|
security_info = SecurityInfoField(api_name='SecurityInfo')
|
|
1014
1024
|
shipping = ShippingField(api_name='Shipping')
|
|
1015
1025
|
card_info = CardInfoField(api_name='CardInfo')
|
|
1026
|
+
payment_category = CharField(api_name='PaymentCategory')
|
|
1016
1027
|
|
|
1017
1028
|
def get_read_only_properties(self):
|
|
1018
1029
|
read_only = ["AuthorId", "Applied3DSVersion", "CardId", "CreationDate", "Culture", "SecureModeNeeded"
|
|
@@ -1767,6 +1778,7 @@ class PreAuthorization(BaseModel):
|
|
|
1767
1778
|
applied_3ds_version = CharField(api_name='Applied3DSVersion')
|
|
1768
1779
|
card_info = CardInfoField(api_name='CardInfo')
|
|
1769
1780
|
payment_category = CharField(api_name='PaymentCategory')
|
|
1781
|
+
authentication_result = AuthenticationResultField(api_name='AuthenticationResult')
|
|
1770
1782
|
|
|
1771
1783
|
def get_transactions(self, *args, **kwargs):
|
|
1772
1784
|
kwargs['id'] = self.id
|
|
@@ -1991,6 +2003,7 @@ class BankWirePayOut(BaseModel):
|
|
|
1991
2003
|
fallback_reason = FallbackReasonField(api_name='FallbackReason')
|
|
1992
2004
|
recipient_verification_of_payee = VerificationOfPayeeField(api_name='RecipientVerificationOfPayee')
|
|
1993
2005
|
recipient = ForeignKeyField(Recipient, api_name='RecipientId')
|
|
2006
|
+
charge_bearer = CharField(api_name='ChargeBearer')
|
|
1994
2007
|
|
|
1995
2008
|
def get_refunds(self, *args, **kwargs):
|
|
1996
2009
|
kwargs['id'] = self.id
|
|
@@ -2848,6 +2861,7 @@ class Deposit(BaseModel):
|
|
|
2848
2861
|
shipping = ShippingField(api_name='Shipping')
|
|
2849
2862
|
requested_3ds_version = CharField(api_name='Requested3DSVersion')
|
|
2850
2863
|
applied_3ds_version = CharField(api_name='Applied3DSVersion')
|
|
2864
|
+
authentication_result = AuthenticationResultField(api_name='AuthenticationResult')
|
|
2851
2865
|
|
|
2852
2866
|
class Meta:
|
|
2853
2867
|
verbose_name = 'deposit'
|
|
@@ -3024,10 +3038,15 @@ class PayInIntent(BaseModel):
|
|
|
3024
3038
|
buyer = PayInIntentBuyerField(api_name='Buyer')
|
|
3025
3039
|
line_items = ListField(api_name='LineItems')
|
|
3026
3040
|
captures = ListField(api_name='Captures')
|
|
3041
|
+
capture = PayInIntentCaptureField(api_name='Capture')
|
|
3027
3042
|
refunds = ListField(api_name='Refunds')
|
|
3043
|
+
refund = PayInIntentRefundField(api_name='Refund')
|
|
3028
3044
|
disputes = ListField(api_name='Disputes')
|
|
3045
|
+
dispute = PayInIntentDisputeField(api_name='Dispute')
|
|
3029
3046
|
splits = ListField(api_name='Splits')
|
|
3030
3047
|
settlement_id = CharField(api_name='SettlementId')
|
|
3048
|
+
unfunded_amount = IntegerField(api_name='UnfundedAmount')
|
|
3049
|
+
decision = CharField(api_name='Decision')
|
|
3031
3050
|
|
|
3032
3051
|
class Meta:
|
|
3033
3052
|
verbose_name = 'pay_in_intent'
|
|
@@ -3037,7 +3056,11 @@ class PayInIntent(BaseModel):
|
|
|
3037
3056
|
'CREATE_AUTHORIZATION': '/payins/intents',
|
|
3038
3057
|
'CREATE_CAPTURE': '/payins/intents/%(intent_id)s/captures',
|
|
3039
3058
|
'GET': '/payins/intents',
|
|
3040
|
-
'CANCEL': '/payins/intents/%(intent_id)s/cancel'
|
|
3059
|
+
'CANCEL': '/payins/intents/%(intent_id)s/cancel',
|
|
3060
|
+
'CREATE_REFUND': '/payins/intents/%(intent_id)s/refunds',
|
|
3061
|
+
'REVERSE_REFUND': '/payins/intents/%(intent_id)s/refunds/%(refund_id)s/reverse',
|
|
3062
|
+
'CREATE_DISPUTE': '/payins/intents/%(intent_id)s/captures/%(capture_id)s/disputes',
|
|
3063
|
+
'UPDATE_DISPUTE_OUTCOME': '/payins/intents/%(intent_id)s/captures/%(capture_id)s/disputes/%(dispute_id)s/decision',
|
|
3041
3064
|
}
|
|
3042
3065
|
|
|
3043
3066
|
def create_authorization(self, idempotency_key=None, **kwargs):
|
|
@@ -3066,6 +3089,34 @@ class PayInIntent(BaseModel):
|
|
|
3066
3089
|
insert.identifier = 'CANCEL'
|
|
3067
3090
|
return insert.execute(is_v3=True)
|
|
3068
3091
|
|
|
3092
|
+
@classmethod
|
|
3093
|
+
def create_refund(cls, intent_id, idempotency_key=None, **kwargs):
|
|
3094
|
+
path_params = {'intent_id': intent_id}
|
|
3095
|
+
insert = InsertQuery(PayInIntent, idempotency_key, path_params, **kwargs)
|
|
3096
|
+
insert.identifier = 'CREATE_REFUND'
|
|
3097
|
+
return insert.execute(is_v3=True)
|
|
3098
|
+
|
|
3099
|
+
@classmethod
|
|
3100
|
+
def reverse_refund(cls, intent_id, refund_id, idempotency_key=None, **kwargs):
|
|
3101
|
+
path_params = {'intent_id': intent_id, 'refund_id': refund_id}
|
|
3102
|
+
insert = InsertQuery(PayInIntent, idempotency_key, path_params, **kwargs)
|
|
3103
|
+
insert.identifier = 'REVERSE_REFUND'
|
|
3104
|
+
return insert.execute(is_v3=True)
|
|
3105
|
+
|
|
3106
|
+
@classmethod
|
|
3107
|
+
def create_dispute(cls, intent_id, capture_id, idempotency_key=None, **kwargs):
|
|
3108
|
+
path_params = {'intent_id': intent_id, 'capture_id': capture_id}
|
|
3109
|
+
insert = InsertQuery(PayInIntent, idempotency_key, path_params, **kwargs)
|
|
3110
|
+
insert.identifier = 'CREATE_DISPUTE'
|
|
3111
|
+
return insert.execute(is_v3=True)
|
|
3112
|
+
|
|
3113
|
+
@classmethod
|
|
3114
|
+
def update_dispute_outcome(cls, intent_id, capture_id, dispute_id, **kwargs):
|
|
3115
|
+
path_params = {'intent_id': intent_id, 'capture_id': capture_id, 'dispute_id': dispute_id}
|
|
3116
|
+
update = UpdateQuery(PayInIntent, "", path_params, **kwargs)
|
|
3117
|
+
update.identifier = 'UPDATE_DISPUTE_OUTCOME'
|
|
3118
|
+
return update.execute(is_v3=True)
|
|
3119
|
+
|
|
3069
3120
|
|
|
3070
3121
|
class Settlement(BaseModel):
|
|
3071
3122
|
settlement_id = CharField(api_name='SettlementId')
|
|
@@ -3076,21 +3127,24 @@ class Settlement(BaseModel):
|
|
|
3076
3127
|
external_processor_fees_amount = IntegerField(api_name='ExternalProcessorFeesAmount')
|
|
3077
3128
|
actual_settlement_amount = IntegerField(api_name='ActualSettlementAmount')
|
|
3078
3129
|
funds_missing_amount = IntegerField(api_name='FundsMissingAmount')
|
|
3130
|
+
file_name = CharField(api_name='FileName')
|
|
3131
|
+
upload_url = CharField(api_name='UploadUrl')
|
|
3079
3132
|
|
|
3080
3133
|
class Meta:
|
|
3081
3134
|
verbose_name = 'settlement'
|
|
3082
3135
|
verbose_name_plural = 'settlements'
|
|
3083
3136
|
|
|
3084
3137
|
url = {
|
|
3085
|
-
'
|
|
3138
|
+
'GENERATE_UPLOAD_URL': '/payins/intents/settlements',
|
|
3086
3139
|
'GET': '/payins/intents/settlements',
|
|
3087
|
-
'
|
|
3140
|
+
'GENERATE_NEW_UPLOAD_URL': '/payins/intents/settlements',
|
|
3141
|
+
'CANCEL': '/payins/intents/settlements/%(settlement_id)s/cancel',
|
|
3088
3142
|
}
|
|
3089
3143
|
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
insert =
|
|
3093
|
-
insert.identifier = '
|
|
3144
|
+
def generate_upload_url(self, idempotency_key=None, **kwargs):
|
|
3145
|
+
insert = InsertQuery(Settlement, idempotency_key, None, **kwargs)
|
|
3146
|
+
insert.insert_query = self.get_field_dict()
|
|
3147
|
+
insert.identifier = 'GENERATE_UPLOAD_URL'
|
|
3094
3148
|
return insert.execute(is_v3=True)
|
|
3095
3149
|
|
|
3096
3150
|
@classmethod
|
|
@@ -3099,12 +3153,40 @@ class Settlement(BaseModel):
|
|
|
3099
3153
|
select.identifier = 'GET'
|
|
3100
3154
|
return select.get(settlement_id, is_v3=True, *args, **kwargs)
|
|
3101
3155
|
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
update =
|
|
3105
|
-
update.identifier = '
|
|
3156
|
+
def generate_new_upload_url(self, **kwargs):
|
|
3157
|
+
update = UpdateQuery(Settlement, self.id, None, **kwargs)
|
|
3158
|
+
update.update_query = self.get_field_dict()
|
|
3159
|
+
update.identifier = 'GENERATE_NEW_UPLOAD_URL'
|
|
3106
3160
|
return update.execute(is_v3=True)
|
|
3107
3161
|
|
|
3162
|
+
@classmethod
|
|
3163
|
+
def cancel(cls, settlement_id, idempotency_key=None, *args, **kwargs):
|
|
3164
|
+
path_params = {'settlement_id': settlement_id}
|
|
3165
|
+
insert = InsertQuery(Settlement, idempotency_key, path_params, **kwargs)
|
|
3166
|
+
insert.identifier = 'CANCEL'
|
|
3167
|
+
return insert.execute(*args, is_v3=True)
|
|
3168
|
+
|
|
3169
|
+
|
|
3170
|
+
class SettlementValidation(BaseModel):
|
|
3171
|
+
footer_errors = ListField(api_name='FooterErrors')
|
|
3172
|
+
lines_errors = ListField(api_name='LinesErrors')
|
|
3173
|
+
|
|
3174
|
+
class Meta:
|
|
3175
|
+
verbose_name = 'settlement_validation'
|
|
3176
|
+
verbose_name_plural = 'settlement_validations'
|
|
3177
|
+
|
|
3178
|
+
url = {
|
|
3179
|
+
'GET': '/payins/intents/settlements/%(settlement_id)s/validations',
|
|
3180
|
+
}
|
|
3181
|
+
|
|
3182
|
+
@classmethod
|
|
3183
|
+
def get(cls, settlement_id, *args, **kwargs):
|
|
3184
|
+
if kwargs.get('settlement_id') is None:
|
|
3185
|
+
kwargs['settlement_id'] = settlement_id
|
|
3186
|
+
select = SelectQuery(SettlementValidation, *args, **kwargs)
|
|
3187
|
+
select.identifier = 'GET'
|
|
3188
|
+
return select.get("", with_query_params=True, is_v3=True, *args, **kwargs)
|
|
3189
|
+
|
|
3108
3190
|
|
|
3109
3191
|
class PayInIntentSplit(BaseModel):
|
|
3110
3192
|
line_item_id = CharField(api_name='LineItemId')
|
|
@@ -3115,6 +3197,7 @@ class PayInIntentSplit(BaseModel):
|
|
|
3115
3197
|
description = CharField(api_name='Description')
|
|
3116
3198
|
status = CharField(api_name='Status')
|
|
3117
3199
|
transfer_date = DateTimeField(api_name='TransferDate')
|
|
3200
|
+
split_origin_wallet_id = CharField(api_name='SplitOriginWalletId')
|
|
3118
3201
|
|
|
3119
3202
|
class Meta:
|
|
3120
3203
|
verbose_name = 'intent_split'
|
|
@@ -3241,4 +3324,4 @@ class ScaStatus(BaseModel):
|
|
|
3241
3324
|
kwargs['id'] = user_id
|
|
3242
3325
|
select = SelectQuery(ScaStatus, *args, **kwargs)
|
|
3243
3326
|
select.identifier = 'GET'
|
|
3244
|
-
return select.get("", *args, **kwargs)
|
|
3327
|
+
return select.get("", *args, **kwargs)
|
|
@@ -1442,7 +1442,7 @@ class PayInIntentLineItem(object):
|
|
|
1442
1442
|
def __init__(self, id=None, seller=None, sku=None, name=None, description=None, quantity=None, unit_amount=None, amount=None,
|
|
1443
1443
|
tax_amount=None, discount_amount=None, category=None, shipping_address=None,
|
|
1444
1444
|
total_line_item_amount=None, canceled_amount=None, captured_amount=None, refunded_amount=None,
|
|
1445
|
-
disputed_amount=None, split_amount=None):
|
|
1445
|
+
disputed_amount=None, split_amount=None, unfunded_seller_amount=None):
|
|
1446
1446
|
self.id = id
|
|
1447
1447
|
self.seller = seller
|
|
1448
1448
|
self.sku = sku
|
|
@@ -1461,12 +1461,14 @@ class PayInIntentLineItem(object):
|
|
|
1461
1461
|
self.refunded_amount = refunded_amount
|
|
1462
1462
|
self.disputed_amount = disputed_amount
|
|
1463
1463
|
self.split_amount = split_amount
|
|
1464
|
+
self.unfunded_seller_amount = unfunded_seller_amount
|
|
1464
1465
|
|
|
1465
1466
|
def __str__(self):
|
|
1466
|
-
return 'PayInIntentLineItem: %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s' % \
|
|
1467
|
+
return 'PayInIntentLineItem: %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s' % \
|
|
1467
1468
|
(self.id, self.seller, self.sku, self.name, self.description, self.quantity, self.unit_amount, self.amount,
|
|
1468
1469
|
self.tax_amount, self.discount_amount, self.category, self.shipping_address, self.total_line_item_amount,
|
|
1469
|
-
self.canceled_amount, self.captured_amount, self.refunded_amount, self.disputed_amount, self.split_amount
|
|
1470
|
+
self.canceled_amount, self.captured_amount, self.refunded_amount, self.disputed_amount, self.split_amount,
|
|
1471
|
+
self.unfunded_seller_amount)
|
|
1470
1472
|
|
|
1471
1473
|
def to_api_json(self):
|
|
1472
1474
|
return {
|
|
@@ -1487,7 +1489,8 @@ class PayInIntentLineItem(object):
|
|
|
1487
1489
|
"CapturedAmount": self.captured_amount,
|
|
1488
1490
|
"RefundedAmount": self.refunded_amount,
|
|
1489
1491
|
"DisputedAmount": self.disputed_amount,
|
|
1490
|
-
"SplitAmount": self.split_amount
|
|
1492
|
+
"SplitAmount": self.split_amount,
|
|
1493
|
+
"UnfundedSellerAmount": self.unfunded_seller_amount
|
|
1491
1494
|
}
|
|
1492
1495
|
|
|
1493
1496
|
|
|
@@ -1582,6 +1585,80 @@ class VerificationOfPayee(object):
|
|
|
1582
1585
|
}
|
|
1583
1586
|
|
|
1584
1587
|
|
|
1588
|
+
@add_camelcase_aliases
|
|
1589
|
+
class CustomFees(object):
|
|
1590
|
+
def __init__(self, amount=None, currency=None,
|
|
1591
|
+
type=None, value=None):
|
|
1592
|
+
self.currency = currency
|
|
1593
|
+
self.type = type
|
|
1594
|
+
|
|
1595
|
+
if amount is not None:
|
|
1596
|
+
self.amount = decimal.Decimal(amount)
|
|
1597
|
+
else:
|
|
1598
|
+
self.amount = None
|
|
1599
|
+
|
|
1600
|
+
if value is not None:
|
|
1601
|
+
self.value = decimal.Decimal(value)
|
|
1602
|
+
else:
|
|
1603
|
+
self.value = None
|
|
1604
|
+
|
|
1605
|
+
def __str__(self):
|
|
1606
|
+
return force_text("CustomFees: {:,.2f} {} {} {:,.2f}".format(
|
|
1607
|
+
self.amount if self.amount is not None else 0.0,
|
|
1608
|
+
self.currency or "",
|
|
1609
|
+
self.type or "",
|
|
1610
|
+
self.value if self.value is not None else 0.0)
|
|
1611
|
+
)
|
|
1612
|
+
|
|
1613
|
+
def to_api_json(self):
|
|
1614
|
+
return {
|
|
1615
|
+
"Amount": self.amount,
|
|
1616
|
+
"Currency": self.currency,
|
|
1617
|
+
"Type": self.type,
|
|
1618
|
+
"Value": self.value
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
@add_camelcase_aliases
|
|
1623
|
+
class MarginsResponse(object):
|
|
1624
|
+
def __init__(self, mangopay=None, user=None):
|
|
1625
|
+
self.mangopay = mangopay
|
|
1626
|
+
self.user = user
|
|
1627
|
+
|
|
1628
|
+
def __str__(self):
|
|
1629
|
+
return 'MarginsResponse: %s %s' % self.mangopay, self.user
|
|
1630
|
+
|
|
1631
|
+
def to_api_json(self):
|
|
1632
|
+
return {
|
|
1633
|
+
"Mangopay": self.mangopay,
|
|
1634
|
+
"User": self.user
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
@add_camelcase_aliases
|
|
1639
|
+
class UserMargin(object):
|
|
1640
|
+
def __init__(self, type=None, value=None):
|
|
1641
|
+
self.type = type
|
|
1642
|
+
|
|
1643
|
+
if value is not None:
|
|
1644
|
+
self.value = decimal.Decimal(value)
|
|
1645
|
+
else:
|
|
1646
|
+
self.value = None
|
|
1647
|
+
|
|
1648
|
+
def __str__(self):
|
|
1649
|
+
return force_text(
|
|
1650
|
+
"UserMargin: {} {:,.2f}".format(
|
|
1651
|
+
self.type or "",
|
|
1652
|
+
self.value if self.value is not None else 0.0)
|
|
1653
|
+
)
|
|
1654
|
+
|
|
1655
|
+
def to_api_json(self):
|
|
1656
|
+
return {
|
|
1657
|
+
"Type": self.type,
|
|
1658
|
+
"Value": self.value
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
|
|
1585
1662
|
@add_camelcase_aliases
|
|
1586
1663
|
class ConsentScope(object):
|
|
1587
1664
|
def __init__(self, contact_information_update=None, recipient_registration=None,
|
|
@@ -1601,4 +1678,60 @@ class ConsentScope(object):
|
|
|
1601
1678
|
"RecipientRegistration": self.recipient_registration,
|
|
1602
1679
|
"Transfer": self.transfer,
|
|
1603
1680
|
"ViewAccountInformation": self.view_account_information
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
|
|
1684
|
+
@add_camelcase_aliases
|
|
1685
|
+
class PayInIntentRefund(object):
|
|
1686
|
+
def __init__(self, id=None):
|
|
1687
|
+
self.id = id
|
|
1688
|
+
|
|
1689
|
+
def __str__(self):
|
|
1690
|
+
return ('PayInIntentRefund: %s' % self.id)
|
|
1691
|
+
|
|
1692
|
+
def to_api_json(self):
|
|
1693
|
+
return {
|
|
1694
|
+
"Id": self.id
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
@add_camelcase_aliases
|
|
1699
|
+
class PayInIntentCapture(object):
|
|
1700
|
+
def __init__(self, id=None):
|
|
1701
|
+
self.id = id
|
|
1702
|
+
|
|
1703
|
+
def __str__(self):
|
|
1704
|
+
return ('PayInIntentCapture: %s' % self.id)
|
|
1705
|
+
|
|
1706
|
+
def to_api_json(self):
|
|
1707
|
+
return {
|
|
1708
|
+
"Id": self.id
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
@add_camelcase_aliases
|
|
1713
|
+
class PayInIntentDispute(object):
|
|
1714
|
+
def __init__(self, id=None):
|
|
1715
|
+
self.id = id
|
|
1716
|
+
|
|
1717
|
+
def __str__(self):
|
|
1718
|
+
return ('PayInIntentDispute: %s' % self.id)
|
|
1719
|
+
|
|
1720
|
+
def to_api_json(self):
|
|
1721
|
+
return {
|
|
1722
|
+
"Id": self.id
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
|
|
1726
|
+
@add_camelcase_aliases
|
|
1727
|
+
class AuthenticationResult(object):
|
|
1728
|
+
def __init__(self, authentication_type=None):
|
|
1729
|
+
self.authentication_type = authentication_type
|
|
1730
|
+
|
|
1731
|
+
def __str__(self):
|
|
1732
|
+
return 'AuthenticationResult: %s' % self.authentication_type
|
|
1733
|
+
|
|
1734
|
+
def to_api_json(self):
|
|
1735
|
+
return {
|
|
1736
|
+
"AuthenticationType": self.authentication_type
|
|
1604
1737
|
}
|
|
@@ -10,7 +10,7 @@ with open(path.join(here, 'DESCRIPTION.md'), encoding='utf-8') as f:
|
|
|
10
10
|
|
|
11
11
|
setup(
|
|
12
12
|
name='mangopay4-python-sdk',
|
|
13
|
-
version='3.
|
|
13
|
+
version='3.54.1',
|
|
14
14
|
description='A client library written in python to work with mangopay v2 api',
|
|
15
15
|
long_description='This SDK is a client library for interacting with the Mangopay API.',
|
|
16
16
|
url='https://github.com/Mangopay/mangopay2-python-sdk',
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
ExternalProviderReference,ExternalPaymentMethod,ExternalTransactionType,ExternalTransactionStatus,ExternalProcessingDate,Amount,Currency,ExternalInitialReference,ExternalProviderFees
|
|
2
|
+
6TU984332A894613W,PAYPAL,PAYMENT,SETTLED,19-06-2025,1000,EUR,,0
|
|
3
|
+
,,,,,,,,
|
|
4
|
+
SettlementDate,19-06-2025,,,,,,,
|
|
5
|
+
ExternalProviderName,Paypal,,,,,,,
|
|
6
|
+
TotalSettlementFeesAmount,0,,,,,,,
|
|
7
|
+
TotalNetSettlementAmount,1000,,,,,,,
|
|
8
|
+
SettlementCurrency,EUR,,,,,,,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
ExternalProviderReference,ExternalPaymentMethod,ExternalTransactionType,ExternalTransactionStatus,ExternalProcessingDate,Amount,Currency,ExternalInitialReference,ExternalProviderFees
|
|
2
|
+
6TU984332A894613W,PAYPAL,PAYMENT,SETTLED,19-06-2025,1000,EUR,,0
|
|
3
|
+
,,,,,,,,
|
|
4
|
+
SettlementDate,19-06-2025,,,,,,,
|
|
5
|
+
ExternalProviderName,Paypal,,,,,,,
|
|
6
|
+
TotalSettlementFeesAmount,0,,,,,,,
|
|
7
|
+
TotalNetSettlementAmount,99999,,,,,,,
|
|
8
|
+
SettlementCurrency,EUR,,,,,,
|