87 lines
3.4 KiB
Python
87 lines
3.4 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import _
|
|
|
|
|
|
# Currency codes of the currencies supported by Mercado Pago in ISO 4217 format.
|
|
# See https://api.mercadopago.com/currencies. Last seen online: 24 November 2022.
|
|
SUPPORTED_CURRENCIES = [
|
|
'ARS', # Argentinian Peso
|
|
'BOB', # Boliviano
|
|
'BRL', # Real
|
|
'CLF', # Fomento Unity
|
|
'CLP', # Chilean Peso
|
|
'COP', # Colombian Peso
|
|
'CRC', # Colon
|
|
'CUC', # Cuban Convertible Peso
|
|
'CUP', # Cuban Peso
|
|
'DOP', # Dominican Peso
|
|
'EUR', # Euro
|
|
'GTQ', # Guatemalan Quetzal
|
|
'HNL', # Lempira
|
|
'MXN', # Mexican Peso
|
|
'NIO', # Cordoba
|
|
'PAB', # Balboa
|
|
'PEN', # Sol
|
|
'PYG', # Guarani
|
|
'USD', # US Dollars
|
|
'UYU', # Uruguayan Peso
|
|
'VEF', # Strong Bolivar
|
|
'VES', # Sovereign Bolivar
|
|
]
|
|
|
|
# Mapping of transaction states to Mercado Pago payment statuses.
|
|
# See https://www.mercadopago.com.mx/developers/en/reference/payments/_payments_id/get.
|
|
TRANSACTION_STATUS_MAPPING = {
|
|
'pending': ('pending', 'in_process', 'in_mediation', 'authorized'),
|
|
'done': ('approved', 'refunded'),
|
|
'canceled': ('cancelled', 'null'),
|
|
'error': ('rejected',),
|
|
}
|
|
|
|
# Mapping of error states to Mercado Pago error messages.
|
|
# See https://www.mercadopago.com.ar/developers/en/docs/checkout-api/response-handling/collection-results
|
|
ERROR_MESSAGE_MAPPING = {
|
|
'accredited': _(
|
|
"Your payment has been credited. In your summary you will see the charge as a statement "
|
|
"descriptor."
|
|
),
|
|
'pending_contingency': _(
|
|
"We are processing your payment. Don't worry, in less than 2 business days, we will notify "
|
|
"you by e-mail if your payment has been credited."
|
|
),
|
|
'pending_review_manual': _(
|
|
"We are processing your payment. Don't worry, less than 2 business days we will notify you "
|
|
"by e-mail if your payment has been credited or if we need more information."
|
|
),
|
|
'cc_rejected_bad_filled_card_number': _("Check the card number."),
|
|
'cc_rejected_bad_filled_date': _("Check expiration date."),
|
|
'cc_rejected_bad_filled_other': _("Check the data."),
|
|
'cc_rejected_bad_filled_security_code': _("Check the card security code."),
|
|
'cc_rejected_blacklist': _("We were unable to process your payment, please use another card."),
|
|
'cc_rejected_call_for_authorize': _("You must authorize the payment with this card."),
|
|
'cc_rejected_card_disabled': _(
|
|
"Call your card issuer to activate your card or use another payment method. The phone "
|
|
"number is on the back of your card."
|
|
),
|
|
'cc_rejected_card_error': _(
|
|
"We were unable to process your payment, please check your card information."
|
|
),
|
|
'cc_rejected_duplicated_payment': _(
|
|
"You have already made a payment for that value. If you need to pay again, use another card"
|
|
" or another payment method."
|
|
),
|
|
'cc_rejected_high_risk': _(
|
|
"We were unable to process your payment, please use another card."
|
|
),
|
|
'cc_rejected_insufficient_amount': _("Your card has not enough funds."),
|
|
'cc_rejected_invalid_installments': _(
|
|
"This payment method does not process payments in installments."
|
|
),
|
|
'cc_rejected_max_attempts': _(
|
|
"You have reached the limit of allowed attempts. Choose another card or other means of "
|
|
"payment."
|
|
),
|
|
'cc_rejected_other_reason': _("Payment was not processed, use another card or contact issuer.")
|
|
}
|