Customer notifications
Gain a better understanding of what notifications to send to customers and what information to include in them
Throughout an e-commerce transaction, you'll need to send messages (typically emails) to your customers. The purpose of these notifications is to provide customers information on their purchase and inform them of important events. They also help keep your customers engaged throughout the entire process, leading to a more positive shopping experience and potentially increasing brand loyalty.
To gain access to Digital River's MOR/SOR business model, you must send certain notifications to customers.
In many cases, you can configure webhook(s) to listen for events created by Digital River and then use the data in these events to populate the emails before they get pushed to customers.
On this page, you'll find information on both order notifications and subscription notifications as well as the events in the Digital River APIs (when available) that can be used to trigger them.
In this section, you'll find basic information on what notifications to send to customers throughout an order's lifecycle:
This notification informs your customers that their order has been approved and is currently being processed. It provides customers a record of their purchase and assures them that the transaction is authentic.
In Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The identifier of the order | id |
A description of each product | name , (and optionally description , image , and url) in items[].productDetails |
The cost of each product | items[].amount |
Assessed taxes | totalTax |
Applied discounts | totalDiscount |
Shipping costs | totalShipping |
Total amount of order | totalAmount |
Send this notification to customers when some or all of an order's goods have shipped. The message must indicate which items are in the shipment and should ideally include delivery tracking information.
In Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The identifier of the order | orderId or orderDetails.id |
A description of each shipped product | name , (and optionally description , image , and url) in orderDetails.items[].productDetails |
The quantity of each shipped product | items[].quantity |
The name of the designated carrier | trackingCompany |
The designated carrier's tracking number | trackingNumber |
A url that allows customers to access tracking details | trackingUrl |
This notification informs customers that their order has been partially or fully cancelled. Regardless of the reason for the cancellation or who initiated the request, purchasers need to be notified which items will not be fulfilled.
In Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
If your application supports partial order cancellations, then we recommend listening for
fulfillment.created
and using it to trigger this message. For example, if an order contains multiple
items[]
, each with a quantity
of 2
, and a customer uses your site’s UI to request that only one of those line items be fully cancelled, and, after approving that request, your system sends a POST /fulfillments
with an items[].cancelQuantity
of 2
, then Digital River generates fulfillment.created
but not order.cancelled
.Use the following tables to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.order.cancelled
fulfillment.created
Notification information | Relevant attribute |
---|---|
The identifier of the order | id |
A description of each cancelled product | name , (and optionally description , image , and url) in items[].productDetails |
The quantity of each cancelled product | items.quantity |
Notification information | Relevant attribute |
---|---|
The identifier of the order | orderId or orderDetails.id |
A description of each cancelled product | name , (and optionally description , image , and url) in orderDetails.items[].productDetails |
The quantity of each cancelled product | items.cancelQuantity |
If customers request to have an order partially or fully cancelled, but, for whatever reason, you can't honor their request, send an notification informing them that their goods are still scheduled for fulfillment.
In Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
Unless Digital River coordinates a fulfillment, there are no events in the Digital River APIs that can be used to trigger this failed cancellation message.
If a shipment is delayed, send a notification to customers that provides a revised date of when the goods are scheduled for delivery. If additional delays occur that cause that date to be pushed out even further, send customers a second notice. In both of these messages, you must give customers the option to cancel their purchase.
In Physical Goods Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
In the Digital River APIs, there are currently no events that can be used to trigger these delayed shipment notifications.
This notification confirms that a customer's refund request has been successfully processed.
In Required Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this message.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The order identifier | id |
Total amount refunded on order | refundedAmount |
The amount of each individual refund on the order (optional) | payment.charges[].refunds[].amount |
This message provides instructions to customers on how to return physical products they've purchased.
In Recommended Purchase Notifications (refer to Learning tools for access information), you'll find a comprehensive list of what to include in this notification.
Unless Digital River coordinates a fulfillment, no events currently exist in the Digital River APIs that can be used to trigger this message.
In this section, you'll find basic information on what notifications to send customers throughout a subscription's lifecycle. We also provide guidance on each notification's potential triggering event.
Refer to Subscription Purchase Notifications (see Learning tools for access information) to be provided with a comprehensive list of what's required and what's recommended in these messages.
If you're using Digital River's subscription service, we indicate which
type
of event can be used to trigger each subscription notification. However, if you engage a third-party subscription service, then (with the exception of acquisition confirmation notifications), you'll need to listen for relevant triggering events emanating from that service. This notification informs customers that they have successfully acquired one or more subscription-based products.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The identifier of the acquisition order | id |
A description of each subscription product | For each items[] with subscriptionInfo , thename , (and optionally description , image , and url) in productDetails |
The cost of each subscription product | For each items[] with subscriptionInfo , the amount |
Assessed taxes | totalTax |
Applied discounts | totalDiscount |
Shipping costs | totalShipping |
Total amount of order | totalAmount |
This notification informs customers that their promotional trial period has ended and in the future they will be billed on a recurring basis for the subscription's products.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
Description of subscription | |
The date the free trial was activated | subscription.stateTransitions.activatedFree |
The first scheduled billing date | subscription.nextInvoiceDate |
A description of each product in the subscription | name , (and optionally description , image , and url ) in invoice.items[].productDetails |
The cost and quantity of each product in the subscription | amount and quantity in invoice.items[] |
The payment method to be charged | invoice.payment.sources[] |
Taxes to be assessed | invoice.totalTax |
A subtotal of the amount that the customer is to be charged | invoice.subtotal |
The total amount that the customer is to be charged | invoice.totalAmount |
This notification reminds customers that their recurring products are scheduled to renew in the near future. It should include the subscription's name and a description of its goods, the amount the customer is to be charged, and the upcoming billing date.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
Description of subscription | |
Start date of subscription | subscription.stateTransitions.activated |
The next scheduled billing date | subscription.nextInvoiceDate |
A description of each product in the subscription | name , (and optionally description , image , and url ) in invoice.items[].productDetails |
The cost and quantity of each product in the subscription | amount and quantity in invoice.items[] |
Payment method to be charged | invoice.payment.sources[] |
Taxes to be assessed | invoice.totalTax |
A subtotal of the amount that the customer is to be charged | invoice.subtotal |
The total amount that the customer is to be charged | invoice.totalAmount |
This notification informs customers that their subscription has renewed and its designated payment method was successfully charged.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The order identifier | invoice.orderId |
Description of subscription | |
Start date of subscription | subscription.stateTransitions.activated |
A description of each product in the subscription | name , (and optionally description , image , and url ) in invoice.items[].productDetails |
The cost and quantity of each product in the subscription | amount and quantity in invoice.items[] |
The payment method that was charged | invoice.payment.sources[] |
Assessed taxes | invoice.totalTax |
Applied discounts | invoice.totalDiscount |
A subtotal of the amount charged | invoice.subtotal |
The total amount charged | invoice.totalAmount |
Next scheduled billing date | subscription.nextInvoiceDate |
This notification informs customers that their request to cancel a subscription has been successfully processed. It should ideally contain details on the cancelled products.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The effective cancellation date | stateTransitions.cancelled |
A description of each cancelled subscription product |
This notification informs customers of an update to their subscription's terms and conditions. It should describe the upcoming changes and, in the event that customers don't agree with them, provide a way for them to cancel the subscription.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
The updated terms | |
A description of each product in the description |
This notification informs customers that an unsuccessful attempt was made to charge the payment method funding their subscription. To avoid losing access to their recurring products, the message should contain instructions on how customer's can update or replace this payment method.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
Description of subscription | |
Payment method that could not be charged | invoice.payment.sources[] |
The number of unsuccessful billing attempts that have been made so far | invoice.attemptCount |
A description of the products that customers will lose access to unless they take action | name , (and optionally description , image , and url ) in invoice.items[].productDetails |
This message informs customers that their subscription has been deactivated because payment couldn't be collected during the designated billing period. It's recommended that you include instructions on how customers can reactivate their subscription.
Use the following table to learn which attributes in the event's
data.object
contain values that can be used to populate the notification.Notification information | Relevant attribute |
---|---|
Description of failed subscription | planId
Use this identifier to retrieve the plan and access description information. For details, refer to name in Plans. |
Description of products in failed subscription | |
The date that the subscription failed | stateTransitions.failed |
Prior to a subscription's renewal, this message informs customers that the designated payment method has either expired or will expire before the scheduled renewal date. The notification should provide customers a way to either update the subscription's current payment method or replace it with a new one.
Last modified 1mo ago