Integration boundary
plugins.digitalproducts and mounts its URLs at /digitalproducts/. Plugin metadata declares Payment as a required dependency. Digital Products delegates cart, checkout, order, and payment processing to Payment Plugin.
Models
DigitalProduct: business-owned product metadata, localized price, active state, fulfillment mode, external link/passcode, or uploaded file.DigitalProductSettings: per-business purchase-notification toggle and optional recipient.DigitalProductPurchaseNotification: one delivery record per order for deduplication and auditing.
Fulfillment
Link products return their stored external URL and optional passcode. File products create a signed token containing the order, product, and customer IDs. The download views validate that token and its age before serving the configured file. The default maximum age is 86,400 seconds.Routes
/digitalproducts/digitalproducts/: staff product management./digitalproducts/digitalproducts_edit/<id>and/digitalproducts/digitalproducts_delete: edit and delete operations./digitalproducts/checkout/<id>: public product checkout./digitalproducts/download/<id>/<token>/: validate a signed entitlement./digitalproducts/download/<id>/<token>/file/: serve an authorized uploaded file.
