Orders handle customers' purchases. When you create an order, you instruct Digital River, the authorized reseller, to send an authorization request to start the collection process.
The data of an order persist, acting as a permanent record of the sale, which Digital River must maintain for auditing purposes.
An order maintains an enduring record of when it was placed, a charge is created and captured, a refund is processed, and other key events in the order lifecycle occur. More specifically, an order persists:
The following diagram depicts the relationship between an order and other resources in the Digital River APIs.
To ensure that your integration is functioning properly, you can create test orders using the information on the Testing Scenarios page.
The orders resource
In the following section, you'll find information on some of an order's attributes and how you might use them in downstream requests. For a complete list, refer to the Orders API reference documentation.
The total amount, fees, taxes, and other order costs are the same as those presented to customers when they confirm the purchase. You can retrieve these values and display them on the customer's order confirmation page.
In addition, these items[] store detailed price, tax, and quantity information that you can display to customers on order confirmation and order detail pages.
An order's requestToBeForgotten indicates whether an order's data is scheduled for deletion. It is the only attribute (other than metadata) that you can modify in an update order request.
Gets an order by ID
get
Retrieves the details of an order. Supply the unique identifier of the order you would like to retrieve.
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Order ID
Query parameters
expandbooleanOptional
Enhanced Payload
Responses
200
OK.
application/json
idstringRead-onlyOptional
The unique identifier for the order.
Example: ord_5823594809
checkoutIdstringOptional
The unique identifier of the checkout submitted to create the order.
Example: 5823594809
createdTimestring · date-timeRead-onlyOptional
Time at which the order was created.
Example: 2018-04-25T20:36:00Z
customerIdstringOptional
The identifier of the customer associated with this order.
The available to refund amount at the order-level.
Example: 18.58
refundedAmountnumber · doubleRead-onlyOptional
Represents the total payment amount refunded.
cancelledAmountnumber · doubleRead-onlyOptional
Represents the total payment amount cancelled.
capturedAmountnumber · doubleRead-onlyOptional
Represents the total payment amount captured.
requestToBeForgottenbooleanOptional
If true indicates a user placing an order has requested this order be forgotten.
Default: falseExample: true
statestring · enumRead-onlyOptional
The current order state.
Example: createdPossible values:
fraudStatestring · enumRead-onlyOptional
The fraud review state.
Example: passedPossible values:
cancelReasonstring · max: 64Optional
Indicates the reason for the cancellation.
Example: fraud
liveModebooleanOptional
Has the value true if the object exists in live mode or the value false if the object exists in test mode.
customerTypestring · enumOptional
The type of customer.
Example: individualPossible values:
chargeTypestring · enumOptional
Represents the charge type.
Example: merchant_initiatedPossible values:
upstreamIdstring · nullableOptional
The upstream identifier.
Example: 0916805858
updatedTimestring · date-timeRead-onlyOptional
Time at which the order was created.
Example: 2018-04-25T20:37:00Z
400
400 Bad Request
application/json
401
401 Unauthorized
application/json
403
403 Forbidden
application/json
404
404 Not Found
application/json
405
405 Method Not Allowed
application/json
406
406 Not Acceptable
application/json
408
408 Request Timeout
application/json
429
429 Too Many Requests
application/json
500
500 Internal Server Error
application/json
502
502 Bad Gateway Error
application/json
503
503 Service Unavailable Error
application/json
504
504 Gateway Timeout Error
application/json
get
/orders/{id}
The order lifecycle
An order has a defined lifecycle. Each stage of that lifecycle is represented by state. When an order's state changes, an event is created that represents that change. For example, when an order's state transitions from accepted to fulfilled an order.fulfilled event is created.
Order states and events
The following lists an order's enumerated state values and the events associated with each state change. These state transitions are listed in the approximate sequence they might occur in an order's lifecycle:
The state values for a successful order (i.e. the happy path) are pending_payment > in_review > accepted > fulfilled > complete . As the order moves from one state to another, that event is recorded with a timestamp in stateTransitions.
Fraud review
An order must also pass through a fraud review. When exactly this review occurs in an order's lifecycle depends on the payment method used by the customer. The different stages of the review are represented by fraudState, whose enumerated values are review_opened, blocked, and passed. When fraudState changes, an event is created.