submitCart
Submits an existing cart for checkout.
Requirements
To use this query, please ensure that the Rye-Shopper-IP
is set in your HTTP headers. For more information about the Rye-Shopper-IP
header, view this section.
Arguments
The input
object contains the unique identifier (ID
) for the cart, a tokenized credit card value, and the billing address information of the buyer. See CartSubmitInput
Returns
Any requested field from the SubmitCartResult
object.
Example - request
{
"input": {
"id": "{{cartId}}",
"token": "{{paymentToken}}",
"selectedShippingOptions": [
{
"store": "{{store}}",
"shippingId": "{{shippingId}}"
}
],
"billingAddress": {
"firstName": "{{firstName}}",
"lastName": "{{lastName}}",
"phone": "{{phone}}",
"address1": "{{address1}}",
"address2": "{{address2}}",
"city": "{{city}}",
"provinceCode": "{{provinceCode}}",
"countryCode": "US",
"postalCode": "{{postalCode}}"
},
"cartSettings":{
"amazonSettings":{
"hidePriceOnPackage": true
}
}
}
}
mutation ($input: CartSubmitInput!) {
submitCart(input: $input) {
cart {
id,
stores {
status
orderId
store {
... on AmazonStore {
errors {
code
message
details {
reasons {
code
reason
}
productIds
}
}
store
cartLines {
quantity
product {
id
}
}
}
... on ShopifyStore {
errors {
code
message
}
store
cartLines {
quantity
variant {
id
}
}
}
}
}
}
errors {
code
message
}
}
}
Example - response
{
"data": {
"submitCart": {
"cart": {
"id": "KVER2EJJ1kqrjI4H1fbi",
"stores": [
{
"errors": [],
"status": "COMPLETED",
"orderId": "e2615c4d-0c1d-40c2-b222-91b5523cc6b7",
"store": {
"store": "amazon",
"cartLines": [
{
"quantity": 3,
"product": {
"id": "B00A2KD8NY"
}
}
]
},
}
]
},
"errors": []
}
}
}
Errors
If the cart is not found then a corresponding error is returned
{
"errors": [
{
"message": "Cart not found: someInvalidCartId",
"path": [
"submitCart"
],
"extensions": {
"code": "CART_NOT_FOUND_ERROR"
}
}
],
"data": null
}
If the cart is expired (older than 10 days) then a corresponding error is returned
{
"errors": [
{
"message": "Cart expired: someExpiredCartId",
"path": [
"submitCart"
],
"extensions": {
"code": "CART_EXPIRED_ERROR"
}
}
],
"data": null
}
Expected cart behavior
-
If the cart has already been submitted then
ALREADY_SUBMITTED
error is returned -
If
BuyerIdentity
has not been provided withcreateCart
orupdateCartBuyerIdentity
thenBUYER_IDENTITY_MISSING
error is returned. -
If
BuyerIdentity
contains invalid fields then a corresponding error is returned, e.g.BUYER_IDENTITY_INVALID_PHONE
. -
If
BillingAddress
contains invalid fields then a corresponding error is returned, e.g.BILLING_ADDRESS_INVALID_PHONE
. -
If Rye API is unable to create a Spreedly environment (used for payment transactions) then
CREATE_SPREEDLY_ENVIRONMENT_FAILED
error is returned. -
If the cart submission failed due to an unknown reason then
SUBMIT_CART_FAILED
error is returned.
checkoutByCartId
or orderById
mutationsIf the cart has been successfully submitted, an attempt to submit the cart again will lead to an error.
If the cart has multiple stores it is possible that checkout succeeds only for some of them. In this case, the cart can be submitted again. It has no effect on already submitted stores in the cart.
Was this page helpful?