Product management consists of two aspects. First, the required product attributes must be configured for each product/sku. Next, the products must be synced to Digital River. This section details those steps.
Before Digital River can process the SKUs, you must complete all of the products with both the Tax Class and the 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.
After products have been configured, the data needs to be synced to Digital River. The cartridge provides the following jobs to sync products. It is recommended that these jobs are scheduled to run on a regular basis.
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). A merchant can force a product sync using the "Request SKU's Update" option in the Merchant Tools / Digital River. See Digital River Merchant Tools available in Business Manager for more details.
We added new Business Manager menu options under Merchant Tools.
Request SKU's update—Click this button to request an SKU update on the Digital River-side with the next run of OptionalDigitalRiverSKUsUpdate. The button will show the corresponding text indicating that you can launch the job or that the job is running.
Digital River Service Tester—A button in Business Manager to test Digital River service availability.
Clicking the Test Services button will make calls to the indicated web services and evaluate response codes.
The Digital_River_Dropin payment processor provides the following order information in Business Manager:
Select Merchant Tools, select Orders, choose an order, and click Payments.
Payment type (creditCard, PayPal, and so on) is mentioned.
Hyperlink to order on Digital River Dashboard.
Select Merchant Tools, select Orders, choose an order, and click Notes. A Digital River “create order” response is being saved in order notes.
Added drExportedDate custom attribute to the Product. It is updated each time the job runs.
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 order 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 a direct impact on order processing and is provided for user reference.
To see Digital River order and fraud 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. It is recommended to schedule these jobs on a regular basis.
The /DigitalRiver_fulfillOrders/ job processes all orders that were shipped or cancelled but still have Digital River order status of “accepted.” For each order, fulfillment is sent to Digital River. After all orders are processed their statuses are updated through a separate Digital River call. See the Order cancellation/fulfillment section for more details.
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 in SFCC for each respective state:
The DigitalRiver.js library replaces the Salesforce built-in payment method forms and also renders Digital River Drop-in payment integration to fulfill the payment process. The payment methods will display on the billing page. The payment methods that display depend on the configuration of your LINK cartridge key by Digital River. Visit our Drop-in documentation for an updated listing of payment methods available.
Below is how payment methods will appear on the billing page:
When the customer clicks the Add New link in the My Account section, the Drop-in form with the specific configuration will appear. The form allows the customer to add a new payment within Drop-in and create a new source.
Though order and line level fulfillment or cancellation within SFCC or an order management system is not within the scope of the current cartridge, it’s necessary to notify Digital River each time such an operation takes place. Once notified, Digital River will capture the payment or cancel the charge. You can do this in two ways:
Use the DigitalRiver_fulfillOrders job. This job is available out of the box. This job provides order level fulfillment and cancellation. It will choose orders with Shipped or Cancelled statuses and provide respective fulfillment to Digital River. Line level fulfillment and cancellation is not included in this job. It is recommended that this job is scheduled to run on a regular basis. In the Business Manager, change the Shipping Status to “Shipped” to fulfill the order. To cancel the order, change the Order Status to “Cancelled”. The next time the DigitalRiver_fulfillOrders job runs, the fulfillment or cancellation request will be sent 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.
Refunds are handled through the Digital River dashboard. From Salesforce, you can get to the order record in the Digital River dashboard by navigating to the Order record and clicking on the Payment tab. A link to the dashboard is provided in the Payment Method section.