Checkout Gift Certificates
Add Gift Certificate to Checkout
POST https://yourstore.example.com/api/storefront/checkouts/{checkoutId}/gift-certificatesRequest
Adds a Gift Certificate Code to Checkout.
Note
- Gift Certificates are treated as a payment methods.
- You are not able to purchase a gift certificate with a gift certificate.
- The rate limit is 20/hour (only for unique gift-certificate codes).
- Substitute your storefront domain for
yourstore.example.com
. - The Send a Test Request feature is not currently supported for this endpoint.
- This endpoint requires using Stencil CLI, a local session, and a csrf token to work.
Parameters
- store_domain in path - string
- checkoutId in path - stringrequiredThe ID of the subject checkout. Identical to the cart ID.
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- Content-Type in header with default of application/json - stringrequiredThe MIME type of the request body.
Body
object | application/json
giftCertificateCodestring
example
{
"giftCertificateCode": "string"
}
Response
Body
object | application/json
billingAddressobject
cartobject
A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.channelIdinteger
Channel ID.consignmentsarray[object]
couponsarray[object]
Coupons applied at the checkout level.feesarray[object]
Fees applied at the checkout level.createdTimestring
Time when the cart was created.customerobject
Customer details.customerMessagestring
Shopperʼs message provided as details for the order to be created from this cartgiftCertificatesarray[object]
Applied gift certificate (as a payment method).giftWrappingCostTotalnumber
Gift wrapping cost for all items, including or excluding tax.grandTotalnumber
The total payable amount, before applying any store credit or gift certificate.handlingCostTotalnumber
Handling cost for all consignments including or excluding tax.idstring
isStoreCreditAppliedboolean
true
value indicates StoreCredit has been applied.orderIdstring or null
outstandingBalancenumber
grandTotal
subtract the store-credit amountpaymentsarray[object]
promotionsarray[object]
shippingCostBeforeDiscountnumber
The shipping cost before discounts are applied.shippingCostTotalnumber
Shipping cost before any discounts are applied.shouldExecuteSpamCheckboolean
subtotalnumber
Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.taxesarray[object]
taxTotalnumber
updatedTimestring
Time when the cart was last updated.versioninteger
The current version of the checkout increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates.Example: 1
example
{
"value": {
"billingAddress": {
"address1": "123 Main Street",
"address2": "",
"city": "Austin",
"company": "",
"country": "United States",
"countryCode": "US",
"customFields": [
{
"fieldId": "field_25",
"fieldValue": "Leave in backyard"
}
],
"email": "janedoe@example.com",
"firstName": "Jane",
"id": "5ba11e4a10fb5",
"lastName": "Doe",
"phone": "1234567890",
"postalCode": "78751",
"stateOrProvince": "Texas",
"stateOrProvinceCode": "TX"
},
"cart": {
"baseAmount": 119.93,
"cartAmount": 112.93,
"createdTime": "2018-09-18T15:48:26+00:00",
Delete Gift Certificate
DELETE https://yourstore.example.com/api/storefront/checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}Request
Deletes an existing Gift Certificate.
This removes the Gift Certificate payment method.
Parameters
- store_domain in path - string
- checkoutId in path - stringrequiredThe ID of the subject checkout. Identical to the cart ID.
- giftCertificateCode in path - stringrequiredThe code of the subject gift certificate.
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
example
const options = {
method: 'DELETE',
headers: {Accept: 'application/json', 'Content-Type': 'application/json'}
};
fetch('https://yourstore.example.com/api/storefront/checkouts/[checkoutId]/gift-certificates/[giftCertificateCode]', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
Response
Body
object | application/json
billingAddressobject
cartobject
A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.channelIdinteger
Channel ID.consignmentsarray[object]
couponsarray[object]
Coupons applied at the checkout level.feesarray[object]
Fees applied at the checkout level.createdTimestring
Time when the cart was created.customerobject
Customer details.customerMessagestring
Shopperʼs message provided as details for the order to be created from this cartgiftCertificatesarray[object]
Applied gift certificate (as a payment method).giftWrappingCostTotalnumber
Gift wrapping cost for all items, including or excluding tax.grandTotalnumber
The total payable amount, before applying any store credit or gift certificate.handlingCostTotalnumber
Handling cost for all consignments including or excluding tax.idstring
isStoreCreditAppliedboolean
true
value indicates StoreCredit has been applied.orderIdstring or null
outstandingBalancenumber
grandTotal
subtract the store-credit amountpaymentsarray[object]
promotionsarray[object]
shippingCostBeforeDiscountnumber
The shipping cost before discounts are applied.shippingCostTotalnumber
Shipping cost before any discounts are applied.shouldExecuteSpamCheckboolean
subtotalnumber
Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.taxesarray[object]
taxTotalnumber
updatedTimestring
Time when the cart was last updated.versioninteger
The current version of the checkout increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates.Example: 1
example
{
"billingAddress": {
"address1": "string",
"address2": "string",
"city": "string",
"company": "string",
"country": "string",
"countryCode": "string",
"customFields": [
{
"fieldId": "string",
"fieldValue": "string"
}
],
"email": "string",
"firstName": "string",
"lastName": "string",
"stateOrProvince": "string",
"stateOrProvinceCode": "string",
"phone": "string",
"postalCode": "string"
},
"cart": {
"baseAmount": 0.1,
"cartAmount": 0.1,
"createdTime": "string",
"coupons": [
{
"id": 0,
"code": "string",
"displayName": "string",
Did you find what you were looking for?