You must run the SKU export job when you add new products to the catalog.
Before Digital River can process the SKUs, you must complete all of the products with Digital River custom attributes and send them to Digital River. This data is necessary for valid tax calculation. The absence of these attributes will result in errors when you run the SKU export job.
Digital River needs the optional HS Code property for duty calculation.
The cartridge provides the next jobs to deliver SKU data to Digital River.
The DigitalRiver_updateDigitalRiverSKUs job will iterate through all products but send SKU data only for those products that haven’t been sent to Digital River or were modified afterward. We recommend you use this job for product data export.
The DigitalRiver_OptionalDigitalRiverSKUsUpdate is provided for exclusive occasions when there is a necessity to grant a merchant representative the possibility to request products export to Digital River without providing authority to manage jobs. Schedule this job to check periodically whether a merchant representative requested a SKU. If such was requested, an update will be made (same as the updateDigitalRiverSKUs job does). To learn how a merchant representative can request an update, see Business manager.
Digital River provides a range of order statuses to track order payment. Each order has a Digital River order status which reflects the current order position within the payment cycle:
accepted—order has passed checks and is ready for fulfillment
in_review—order is on fraud review and can’t be fulfilled yet
pending_payment—order has delayed payment and can’t be fulfilled yet
blocked—order is blocked and must be cancelled
fulfilled—order is fulfilled and is waiting for payment capture
complete—order is fulfilled and has been paid
Digital River order status determines further order processing. Also, each order has a Digital River fraud status which shows the state of the order's fraud check:
passed—order has passed the fraud check
review_opened—order is on fraud review
blocked—order has not passed fraud check
Digital River fraud status doesn’t have direct impact on order processing and is provided for user reference.
To see Digital River order states, select Merchant Tools, then select Ordering, and click Orders. Select the order number and choose the Attributes tab.
Initial Digital River status values are set after order placement and they define order processing scenarios.
Digital River order status
Order processing scenario
order will be processed
order will be put on hold until status changes to "accepted" or "blocked"
order will be cancelled
After the order is placed, the status update is handled through jobs that can be run or scheduled in the Business Manager.
The DigitalRiver_updateCompletedOrders job queries all orders that were shipped or cancelled but still have a Digital River order status of “accepted” and updates their status through a Digital River call. Unlike “DigitalRiver_fulfillOrders” this job doesn’t send fulfillments to Digital River and is applicable only in combination with other integrations when drOrderHelper.notifyOrderFulfillment or drOrderHelper.notifyOrderCancellation functions are injected into scripts responsible for shipping management/order cancellation.
The DigitalRiver_updatePendingOrders job updates the state for all orders that have pending statuses (in_review, pending_payment, fulfilled) that wait for resolution on the DigitalRiver side.
In the following table, you can see all the statuses that you can expect to receive from Digital River and their impact on orders for each respective state:
Though order fulfillment or cancellation is not within the scope of the current cartridge, it’s necessary to notify Digital River each time such an operation takes place. You can do this in two ways:
A DigitalRiver_fulfillOrders job. This job is available out of the box. It will choose orders with Shipped or Cancelled statuses and provide respective fulfillment to Digital River.
If URL endpoints or 3rd party integration perform order fulfillment/cancellation, you can inject the drOrderHelper module in the code to send fulfillments to Digital River. To do so, import the module:
var drOrderHelper = require('*/cartridge/scripts/digitalRiver/drOrderHelper');
And use one of two functions that will create fulfillments at Digital River.
drOrderHelper.notifyOrderFulfillment(order, items);drOrderHelper.notifyOrderCancellation(order, items);
Functions accept two arguments:
order—The updated order number or actual order object.
items—Array of order product line items or order line items IDs that should be fulfilled. This parameter is provided for partial fulfillment/cancellation.