Subscription Renewal¶
scheduled transactional
Outcome¶
A subscription is renewed automatically, a new order is generated, payment is captured, and fulfilment is initiated without customer action.
Service Flow¶
flowchart LR
S0["Renew Subscription"]
S1["Authorize Payment"]
S0 --> S1
S2["Capture Payment"]
S1 --> S2
S3["Create Order"]
S2 --> S3
S4["Reserve Inventory"]
S3 --> S4
Capabilities¶
Subscription Management Payment Processing Order Management Inventory Reservation
Domains¶
commerce payment order inventory
Business Objects¶
| Object | Classification | Domain |
|---|---|---|
| subscription | aggregate-root |
commerce |
| customer | aggregate-root |
customer |
| order | aggregate-root |
order |
| payment | aggregate-root |
payment |
| reservation | aggregate-root |
inventory |
| inventory | aggregate-root |
inventory |
Business Services¶
renew-subscriptionauthorize-paymentcapture-paymentcreate-orderreserve-inventory
Applications¶
| Application | Classification |
|---|---|
eCommerce Platform ecommerce-platform |
system-of-engagement |
OMS oms |
system-of-record |
Payment Hub payment-hub |
platform |
Inventory Service inventory-service |
system-of-intelligence |
Related Events¶
| Event | Classification | Object | Terminal |
|---|---|---|---|
BasketConverted |
transitioned | basket | ✓ |
OrderCreated |
created | order | — |
OrderValidated |
transitioned | order | — |
OrderConfirmed |
transitioned | order | — |
OrderModified |
updated | order | — |
OrderCancelled |
transitioned | order | ✓ |
OrderClosed |
transitioned | order | ✓ |
InventoryReserved |
created | reservation | — |
ReservationConfirmed |
transitioned | reservation | — |
InventoryReleased |
transitioned | reservation | — |
ReservationExpired |
transitioned | reservation | ✓ |
PaymentAuthorized |
transitioned | payment | — |
PaymentCaptured |
transitioned | payment | — |
PaymentVoided |
transitioned | payment | ✓ |
PaymentRefunded |
transitioned | payment | — |
PaymentSettled |
transitioned | payment | ✓ |
ReservationCreated |
created | reservation | — |
ReservationReleased |
transitioned | reservation | — |
SubscriptionCreated |
created | subscription | — |
SubscriptionActivated |
transitioned | subscription | — |
SubscriptionRenewed |
transitioned | subscription | — |
SubscriptionPaused |
transitioned | subscription | — |
SubscriptionCancelled |
transitioned | subscription | — |
SubscriptionExpired |
transitioned | subscription | — |
GiftCardActivated |
transitioned | gift-card | — |
GiftCardRedeemed |
updated | gift-card | — |
GiftCardToppedUp |
updated | gift-card | — |
GiftCardExpired |
transitioned | gift-card | — |
GiftCardCancelled |
transitioned | gift-card | — |
GiftCardRefunded |
transitioned | gift-card | — |
RefundProcessed |
updated | refund | — |
RefundFailed |
transitioned | refund | — |
RefundConvertedToCredit |
transitioned | refund | — |
Related APIs¶
| Endpoint | Method | Service | Description |
|---|---|---|---|
/orders |
POST | create-order |
Creates a new Order from a validated Basket, transition… |
/orders/{id} |
GET | track-order |
Retrieves the full state of an Order including lines, p… |
/orders/{id}/cancel |
POST | cancel-order |
Cancels a confirmed Order, triggering reversal of payme… |
/orders/{id}/confirm |
POST | confirm-order |
Confirms a validated Order once payment is authorised, … |
/inventory/reservations |
POST | reserve-inventory |
Creates a timed Reservation for one or more SKUs at a s… |
/inventory/reservations/{id}/confirm |
POST | confirm-reservation |
Confirms a Reservation, converting it to a firm commitm… |
/inventory/reservations/{id} |
DELETE | release-reservation |
Releases an existing Reservation, returning the quantit… |
/payments/authorizations |
POST | authorize-payment |
Submits a payment authorisation request for the order t… |
/payments/authorizations/{id}/capture |
POST | capture-payment |
Captures a previously authorised Payment. Requires paym… |
/payments/authorizations/{id}/void |
POST | void-payment |
Voids a payment authorisation that has not yet been cap… |
/payments/{id}/refunds |
POST | refund-payment |
Initiates a full or partial refund against a captured p… |
/transactions/{id}/payment |
POST | authorize-payment |
Adds a payment tender to an in-progress POS transaction… |