$customHeader
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This page covers the design ideas for Order Fulfillment in Django-Oscar. 

General Idea:

  • Fulfill enrollments synchronously through the Enrollment API.
  • Persist fulfillment status in django-oscar based on success or failure of request to Enrollment API.
  • Allow manual resubmission of failed fulfillment from django-oscar, if the Enrollment API fails to enroll students.

Related Sections of Code in django-oscar

  • order.processing.EventHandler is responsible for fulfillment via the "handle_shipping_event()" function. 
  • For all our digital product types, "handle_shipping_event()" will need to be extended to handle fulfillment.
    • Each ProductType will require unique fulfillment actions, such as Enrollments requiring the Enrollment API.
    • Each ProductType must have a unique fulfillment strategy defined in a new fulfillment.py module. 
  • We can use Order Status via order.abstract_models.AbstractOrder to have statuses for failed fulfillment.

 

 

  • No labels