Refunds are now processed automatically. If the automated processing fails, the system falls back to the previous behavior of notifying the Support Team. Additionally, these calls are all made by the service user rather than the learner. ECOM-6541
54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
"""
|
|
Commerce-related models.
|
|
"""
|
|
from django.db import models
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from config_models.models import ConfigurationModel
|
|
|
|
|
|
class CommerceConfiguration(ConfigurationModel):
|
|
""" Commerce configuration """
|
|
|
|
class Meta(object):
|
|
app_label = "commerce"
|
|
|
|
API_NAME = 'commerce'
|
|
CACHE_KEY = 'commerce.api.data'
|
|
DEFAULT_RECEIPT_PAGE_URL = '/commerce/checkout/receipt/?orderNum='
|
|
|
|
checkout_on_ecommerce_service = models.BooleanField(
|
|
default=False,
|
|
help_text=_('Use the checkout page hosted by the E-Commerce service.')
|
|
)
|
|
|
|
single_course_checkout_page = models.CharField(
|
|
max_length=255,
|
|
default='/basket/single-item/',
|
|
help_text=_('Path to single course checkout page hosted by the E-Commerce service.')
|
|
)
|
|
cache_ttl = models.PositiveIntegerField(
|
|
verbose_name=_('Cache Time To Live'),
|
|
default=0,
|
|
help_text=_(
|
|
'Specified in seconds. Enable caching by setting this to a value greater than 0.'
|
|
)
|
|
)
|
|
receipt_page = models.CharField(
|
|
max_length=255,
|
|
default=DEFAULT_RECEIPT_PAGE_URL,
|
|
help_text=_('Path to order receipt page.')
|
|
)
|
|
enable_automatic_refund_approval = models.BooleanField(
|
|
default=True,
|
|
help_text=_('Automatically approve valid refund requests, without manual processing')
|
|
)
|
|
|
|
def __unicode__(self):
|
|
return "Commerce configuration"
|
|
|
|
@property
|
|
def is_cache_enabled(self):
|
|
"""Whether responses from the Ecommerce API will be cached."""
|
|
return self.cache_ttl > 0
|