Managing a cart is crucial for providing a seamless shopping experience. The process involves interacting with the Commerce API, whether creating a new cart or updating an existing one. This guide will cover the API requests and responses needed to create or update a cart successfully. Follow along to ensure your cart operations are smooth and efficient. If you want to add a gift to a cart, see Gifting.
Creating a cart
Creating a cart involves several steps, from obtaining an access token to verifying the cart's creation. This guide will walk you through the necessary API requests and responses to ensure a successful cart creation process.
To create a cart:
Send a POST /oauth20/token request to obtain an access token. You must include this token in all subsequent cart interactions.
After receiving the token, verify the cart creation by sending a GET /v1/shoppers/me/carts/active request. Replace {Your_API_Key} with your actual API key.
You can use cURL for this process, as shown below:
{"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active","paymentMethods": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/payment-methods" },"applyPaymentMethod": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/apply-payment-method" },"submitCart": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/submit-cart" },"webCheckout": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/web-checkout" },"id":"47278010023","lineItems": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/line-items","lineItem": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/line-items/488822300023","id":"488822300023","quantity":"1","product": {"uri":"https://api.digitalriver.com/v1/shoppers/me/products/64578500","parentProduct": {"uri":"https://api.digitalriver.com/v1/shoppers/me/products/64358200" },"id":"64578500","name":"Class I","displayName":"Class I", "shortDescription": "Class I is the perfect GPS waypoint and route manager for the beginning or occasional GPS user.",
"longDescription": "Class I is the fast and easy way to create, edit, and transfer waypoints and routes between your computer and your Garmin, Magellan, or Lowrance GPS. Using Class I, you can manage all of your waypoints and routes, and display them in lists sorted by name, elevation, or distance. Class I connects your GPS to the best mapping and information sites on the Internet, giving you one-click access to street and topo maps, aerial photos, weather forecasts, and nearby attractions.",
"productType":"DOWNLOAD","sku":"Class I","externalReferenceId":"Test External Reference Number","companyId":"demosft1","displayableProduct":"true","purchasable":"true","manufacturerName":"Test Manufacturer Name","manufacturerPartNumber":"Test Manufacturer Part Number", "thumbnailImage": "https://drh-int-ora.img.digitalriver.com/Storefront/Company/demosft1/images/product/thumbnail/classIThumb.jpg",
"productImage": "https://drh-int-ora.img.digitalriver.com/Storefront/Company/demosft1/images/product/detail/classIBox.jpg",
"keywords":"testKeyword","customAttributes": {"attribute": [ {"name":"name","value":"string","type":"string" } ] } },"pricing": {"listPrice": {"currency":"USD","value":"19.99" },"listPriceWithQuantity": {"currency":"USD","value":"19.99" },"salePriceWithQuantity": {"currency":"USD","value":"19.99" },"formattedListPrice":"$19.99","formattedListPriceWithQuantity":"$19.99","formattedSalePriceWithQuantity":"$17.99","formattedCommitmentPrice":"$240.00","commitmentPrice": {"currency":"USD","value":240.00 },"tax": {"currency":"USD","value":2.00 },"taxRate":0.1111 } } },"totalItemsInCart":"1","businessEntityCode":"DR_INC-ENTITY","billingAddress": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/billing-address" },"shippingAddress": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/shipping-address" },"payment": {"name":"Discover","displayableNumber":"************4321","expirationMonth":"01","expirationYear":"2020" },"shippingOptions": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/shipping-options" },"pricing": {"subtotal": {"currency":"USD","value":"19.99" },"discount": {"currency":"USD","value":"19.99" },"shippingAndHandling": {"currency":"USD","value":"19.99" },"tax": {"currency":"USD","value":"19.99" },"orderTotal": {"currency":"USD","value":"19.99" },"formattedSubtotal":"$17.99","formattedDiscount":"$5.00","formattedShippingAndHandling":"$0.00","formattedTax":"$0.96","formattedOrderTotal":"$13.95" }}
A successful request returns a 200 OK response, confirming the creation of the cart with various URIs for further interactions, such as managing payment methods and submitting the cart.
Updating a cart
Updating an existing cart allows you to add various elements such as products, coupon codes, billing, and shipping addresses. Below, you'll find a comprehensive guide on how to update your cart using cURL effectively. Ensure you have the API key and permission to modify the cart details.
You can use the POST /v1/shoppers/me/carts/active resource to add products, coupon codes, billing/shipping addresses, and offers to a customer's cart. You can leverage all of the resources contained in the Cart to modify specific cart data elements. See Update current cart query parameters for more information.
Required: To pass customer credit card information through the Cart resource, you need a level 3 API key, a legal/contract amendment, and PCI documentation. Contact your Account Manager if you are interested in this capability.
To update a cart:
Ensure you obtain your access token during cart creation. For instructions on generating the access token, refer to Creating a cart.
Send a POST /v1/shoppers/me/carts/active request. Replace {Your_API_Key} with your actual API key. Include the necessary data parameters to modify the cart's contents as required. This allows you to add products, coupon codes, billing/shipping addresses and offers to a customer's cart.
You can use cURL for this process, as shown below:
{"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active","paymentMethods": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/payment-methods" },"applyPaymentMethod": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/apply-payment-method" },"submitCart": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/submit-cart" },"webCheckout": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/web-checkout" },"id":"47278010023","lineItems": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/line-items","lineItem": [ {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/line-items/488822300023","id":"488822300023","quantity":"1","product": {"uri":"https://api.digitalriver.com/v1/shoppers/me/products/64578500","parentProduct": {"uri":"https://api.digitalriver.com/v1/shoppers/me/products/64358200" },"id":"64578500","name":"Class I","displayName":"Class I", "shortDescription": "Class I is the perfect GPS waypoint and route manager for the beginning or occasional GPS user.",
"longDescription": "Class I is the fast and easy way to create, edit, and transfer waypoints and routes between your computer and your Garmin, Magellan, or Lowrance GPS. Using Class I, you can manage all of your waypoints and routes, and display them in lists sorted by name, elevation, or distance. Class I connects your GPS to the best mapping and information sites on the Internet, giving you one-click access to street and topo maps, aerial photos, weather forecasts, and nearby attractions.",
"productType":"DOWNLOAD","sku":"Class I","externalReferenceId":"Test External Reference Number","companyId":"demosft1","displayableProduct":"true","purchasable":"true","manufacturerName":"Test Manufacturer Name","manufacturerPartNumber":"Test Manufacturer Part Number", "thumbnailImage": "https://drh-int-ora.img.digitalriver.com/Storefront/Company/demosft1/images/product/thumbnail/classIThumb.jpg",
"productImage": "https://drh-int-ora.img.digitalriver.com/Storefront/Company/demosft1/images/product/detail/classIBox.jpg",
"keywords":"testKeyword","customAttributes": {"attribute": [ {"name":"name","value":"string","type":"string" } ] } },"pricing": {"listPrice": {"currency":"USD","value":101 },"listPriceWithQuantity": {"currency":"USD","value":1010 },"salePriceWithQuantity": {"currency":"USD","value":959.5 },"formattedListPrice":"101.00USD","formattedListPriceWithQuantity":"1010.00USD","formattedSalePriceWithQuantity":"959.50USD","formattedCommitmentPrice":"$240.00","commitmentPrice": {"currency":"USD","value":"240.00" },"productTax": {"currency":"USD","value":"1.35" },"shippingTax": {"currency":"USD","value":"0.65" },"feeTax": {"currency":"USD","value":"2.00" },"taxRate":"0.1111","importTax": {"currency":"USD","value":0 },"formattedImportTax":"0.00USD","importDuty": {"currency":"USD","value":0 },"formattedImportDuty":"0.00USD" },"components": {"lineItem": [ {"id":"488822390023","quantity":"1","product": {"uri":"https://api.digitalriver.com/v1/shoppers/me/products/64578500","displayName":"Combination product - Component-1", "thumbnailImage": "https://drh-int-ora.img.digitalriver.com/Storefront/Company/demosft1/images/product/thumbnail/classIThumb.jpg"
},"pricing": {"listPrice": {"currency":"USD","value":101 },"listPriceWithQuantity": {"currency":"USD","value":1010 },"salePrice": {"currency":"USD","value":95.95 },"salePriceWithQuantity": {"currency":"USD","value":959.5 },"formattedListPrice":"101.00USD","formattedListPriceWithQuantity":"1010.00USD","formattedSalePrice":"95.95USD","formattedSalePriceWithQuantity":"959.50USD","totalDiscountWithQuantity": {"currency":"USD","value":50.5 },"formattedTotalDiscountWithQuantity":"50.50USD","formattedCommitmentPrice":"$240.00","commitmentPrice": {"currency":"USD","value":"240.00" },"productTax": {"currency":"USD","value":"158.33" },"shippingTax": {"currency":"USD","value":"1.91" },"feeTax": {"currency":"USD","value":"18.25" },"taxRate":"0.1111","discountDescription":"$10.00","importTax": {"currency":"USD","value":0 },"formattedImportTax":"0.00USD","importDuty": {"currency":"USD","value":0 },"formattedImportDuty":"0.00USD","feePricing": {"fee": [null ] } } } ] },"groups": [ {"group": [ {"id":"100100100","relationType":"child","offer": {"uri":"https://api.digitalriver.com/v1/shoppers/me/offers/63018095810" } } ] } ] } ] },"totalItemsInCart":"1","businessEntityCode":"DR_INC-ENTITY","billingAddress": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/billing-address" },"shippingAddress": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/shipping-address" },"paymentMethod": {"type":"creditCard","sourceId":"a231f38d-3a07-4a13-96ed-89693ba7d56c","sourceClientSecret":"a231f38d-3a07-4a13-96ed-89693ba7d56c_f6d8c951-59c9-4ef3-ac45-9f33c77d2f46","creditCard": {"expirationYear":"2030","lastFourDigits":"0000","clientSecret":"a231f38d-3a07-4a13-96ed-89693ba7d56c_f6d8c951-59c9-4ef3-ac45-9f33c77d2f46","expirationMonth":"08","fundingSource":"debit","brand":"Visa","reusable":"true" },"amountContributed": {"currency":"USD","value":1059.5 },"charges": [ {"chargeId":"1cac37c0-98a7-46b2-b9ed-fbc615c9f18a","amount": {"currency":"USD","value":1059.5 },"status":"failed","createdTime":"2021-12-06T09:03:46.877Z","updatedTime":"2021-12-06T09:03:46.877Z" } ],"supplementaryPaymentMethods": [ {"type":"customerCredit","sourceId":"a231f38d-3a07-4a13-96ed-89693ba7d56c","sourceClientSecret":"a231f38d-3a07-4a13-96ed-89693ba7d56c_f6d8c951-59c9-4ef3-ac45-9f33c77d2f46","customerCredit": {"flow":"standard","reusable":"true" },"charges": [ {"chargeId":"cf57f9c9-8b0d-4e64-998a-816499fefa01","amount": {"currency":"USD","value":1059.5 },"status":"failed","createdTime":"2021-12-06T09:03:46.877Z","updatedTime":"2021-12-06T09:03:46.877Z" } ],"amountContributed": {"currency":"USD","value":1059.5 } } ] },"payment": {"name":"Discover","displayableNumber":"************4321","expirationMonth":0,"expirationYear":2030 },"paymentSession": {"id":"string","status":"string","clientSecret":"string", "redirectUrl": "https://api.digitalriver.com:80/payments/redirects/12759bb0-xxxx-4bdb-bfeb-9095ba8059fc?apiKey=a88fxxxx1eef47eb95bc609c22e593c8",
"amountContributed": {"currency":"USD","value":1059.5 },"amountRemainingToBeContributed": {"currency":"USD","value":1059.5 } },"shippingOptions": {"uri":"https://api.digitalriver.com/v1/shoppers/me/carts/active/shipping-options" },"taxInclusive":true,"landedCostState":"NOT_ELIGIBLE","pricing": {"subtotal": {"currency":"USD","value":1059.5 },"discount": {"currency":"USD","value":0 },"shippingAndHandling": {"currency":"USD","value":11.47 },"importTaxAndDuty": {"currency":"USD","value":0 },"tax": {"currency":"USD","value":178.49 },"orderTotal": {"currency":"USD","value":1070.97 },"formattedSubtotal":"1,059.50GBP","formattedDiscount":"0.00USB","formattedShippingAndHandling":"11.47USD","formattedImportTaxAndDuty":"0.00USD","formattedTax":"178.49USD","formattedOrderTotal":"1,070.97USD" },"termsOfSalesAcceptance":"true","chargeType":"moto","customerType":"B","taxRegistrations": [ {"key":"UK_VAT","value":"GB698588737" } ],"organizationId":"digitalriver12345","warnings": {"errors": {"warning": [ {"code":"couponcode_not_eligible", "description": "The relevant discount triggered by {coupon code} will be applied to the cart once it meets the offer criteria..."
} ] } }}
A successful request returns a 200 OK response, confirming the updated cart details, including line items, pricing, addresses, etc.
Additional information
For additional information on updating a cart, see the following topics: