Odoo18-Base/addons/payment_worldline/tests/common.py

151 lines
6.2 KiB
Python
Raw Permalink Normal View History

2025-01-06 10:57:38 +07:00
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
from odoo.addons.payment.tests.common import PaymentCommon
class WorldlineCommon(AccountTestInvoicingCommon, PaymentCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.worldline = cls._prepare_provider('worldline', update_values={
'worldline_pspid': 'dummy',
'worldline_api_key': 'dummy',
'worldline_api_secret': 'dummy',
'worldline_webhook_key': 'dummy',
'worldline_webhook_secret': 'dummy',
})
cls.provider = cls.worldline
cls.currency = cls.currency_euro
cls.notification_data = {
'payment': {
'paymentOutput': {
'references': {
'merchantReference': cls.reference,
},
'cardPaymentMethodSpecificOutput': {
'paymentProductId': 1,
'card': {
'cardNumber': "******4242"
},
'token': 'whateverToken'
},
},
'id': '1234567890_0',
'status': 'CAPTURED',
},
}
2025-03-04 12:23:19 +07:00
cls.notification_data_insufficient_funds = {
'errorId': 'ffffffff-fff-fffff-ffff-ffffffffffff',
'errors': [{
'category': 'IO_ERROR',
'code': '9999',
'errorCode': '30511001',
'httpStatusCode': 402,
'id': 'EXTERNAL_ACQUIRER_ERROR',
'message': '',
'retriable': False,
}],
'paymentResult': {
'creationOutput': {
'externalReference': 'aaaaaaaa-5555-eeee-eeee-eeeeeeeeeeee',
'isNewToken': False,
'token': 'aaaaaaaa-5555-eeee-eeee-eeeeeeeeeeee',
'tokenizationSucceeded': False,
},
'payment': {
'id': '7777777000_0',
'paymentOutput': {
'acquiredAmount': {'amount': 0, 'currencyCode': 'EUR'},
'amountOfMoney': {'amount': 4990, 'currencyCode': 'EUR'},
'cardPaymentMethodSpecificOutput': {
'acquirerInformation': {'name': "Test Pay"},
'card': {
'bin': '50010000',
'cardNumber': '************7777',
'countryCode': 'BE',
'expiryDate': '1244',
},
'fraudResults': {'cvvResult': 'P', 'fraudServiceResult': 'accepted'},
'paymentProductId': 3,
'threeDSecureResults': {'eci': '9', 'xid': 'zOMTQ5TcODUxMg=='},
'token': 'aaaaaaaa-5555-eeee-eeee-eeeeeeeeeeee',
},
'customer': {'device': {'ipAddressCountryCode': '99'}},
'paymentMethod': 'card',
'references': {'merchantReference': cls.reference},
},
'status': 'REJECTED',
'statusOutput': {
'errors': [{
'category': 'IO_ERROR',
'code': '9999',
'errorCode': '30511001',
'httpStatusCode': 402,
'id': 'EXTERNAL_ACQUIRER_ERROR',
'message': '',
'retriable': False,
}],
'isAuthorized': False,
'isCancellable': False,
'isRefundable': False,
'statusCategory': 'UNSUCCESSFUL',
'statusCode': 2,
},
},
},
}
cls.notification_data_expired_card = {
'apiFullVersion': 'v1.1',
'apiVersion': 'v1',
'created': '2025-02-20T03:09:47.3706109+01:00',
'id': 'ffffffff-fff-fffff-ffff-ffffffffffff',
'merchantId': 'MyCompany',
'payment': {
'id': '9999999999_0',
'paymentOutput': {
'acquiredAmount': {'amount': 0, 'currencyCode': 'EUR'},
'amountOfMoney': {'amount': 4980, 'currencyCode': 'EUR'},
'cardPaymentMethodSpecificOutput': {
'acquirerInformation': {'name': "Test Pay"},
'card': {
'bin': '47777700',
'cardNumber': '************9999',
'countryCode': 'FR',
'expiryDate': '1234',
},
'fraudResults': {'cvvResult': 'P', 'fraudServiceResult': 'accepted'},
'paymentProductId': 1,
'threeDSecureResults': {'eci': '9'},
'token': 'ODOO-ALIAS-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'},
'customer': {'device': {'ipAddressCountryCode': '99'}},
'paymentMethod': 'card',
'references': {'merchantReference': cls.reference},
},
'status': 'REJECTED',
'statusOutput': {
'errors': [{
'category': 'PAYMENT_PLATFORM_ERROR',
'code': '9999',
'errorCode': '30331001',
'httpStatusCode': 402,
'id': 'INVALID_CARD',
'message': '',
'retriable': False,
}],
'isAuthorized': False,
'isCancellable': False,
'isRefundable': False,
'statusCategory': 'UNSUCCESSFUL',
'statusCode': 2
},
},
'type': 'payment.rejected',
}