Calculating Shipping and Tax
Overview
In order for shipping or tax to be applied to your orders, you must turn either of these features on within the Merchant Portal. When you enable either feature, you will be prompted to provide Skipify with a Callback URL. Skipify will make a call to this URL whenever an address is selected by a customer during checkout and read the response body for tax and/or shipping information.
This allows Skipify to display the correct shipping and tax details based on your customer's address. When they make a selection, we will update the order with the new totals before submitting payment to your gateway.
Callback Request
To retrieve shipping & tax information, Skipify's servers will send a request your specified URL:
POST {{callbackUrl}}
Request Body Parameters
Request Parameter | Type | Description |
---|---|---|
merchantOrderId | string | This is your unique identifier for the order |
SkipifyOrderID | string (uuid) | This is Skipify's unique Identifier for the order Ex: 77a051d8-be26-11eb-8529-0242ac130003 |
shippingAddress | object | This is the address that was selected by the customer. For details of this object, see below |
The Shipping Address Object
Parameter | Type | Description |
---|---|---|
shippingAddressId | string (uuid) | Skipify's unique identifier for the address that was chosen by the customer during checkout. We require that you send this identifier back in the response so that we can accurately validate and correlate the address internally |
streetAddress | string | Street address Ex: 123 Main Street |
addressLocality | string | City of the address Ex: Denver |
addressRegion | string | State abbreviation of the address Ex: CO |
postalCode | string | Zip code of the address Ex: 80209 |
Request Body Example
{
"merchantOrderId": "someMerchantOrderId",
"goCartOrderId": "77a051d8-be26-11eb-8529-0242ac130003",
"shippingAddress": {
"shippingAddressId": "53e2a852-be23-11eb-8529-0242ac130003",
"streetAddress": "123 Main Street",
"addressLocality": "Denver",
"addressRegion": "CO",
"postalCode": "80209"
}
}
Callback Response
Response Body Parameters
Parameter | Type | Description |
---|---|---|
shippingAddressId | string (uuid) | This is the ID that was provided when Skipify made the request to you. We use this to validate and correlate the data internally |
currencyCode | string | The ISO 4217 three-character currency code. Today, Skipify only accepts USD. |
shippingOptions | object, nullable | This is a list of options for shipping - see schema below |
preferred ShippingOptionId | integer, nullable | The preferred pre-selected shipping option ("id") from the shippingOptions list. If provided, this will be pre-selected and display during checkout. |
tax | number (double), nullable | Tax assessed based on the address of the order. However, if you've opted out of Tax, this value can be null. Min value is 0. |
The Shipping Options Object
Skipify allows for up to 10 shipping options to be passed through.
Parameter | Type | Description |
---|---|---|
description | string | Details of a shipping option |
id | integer | A unique numeric identifier. This is used to identify the default shipping option (preferredShippingOptionId) in the above response. Min value: 1 Max Value: 10 |
name | string | A unique name that represents this shipping option. This will be displayed to the customer. Ex: Ground Freight |
price | number (double) | Cost for the shipping option in question (in USD) Ex: 25.98 |
Response Body Example
{
"shippingAddressId": "53e2a852-be23-11eb-8529-0242ac130003",
"currencyCode": "USD",
"shippingOptions": [
{
"id": 1,
"name": "Ground Freight",
"price": 25.98
},
{
"id": 2,
"name": "Next Day Air",
"price": 42.50
}
],
"preferredShippingOptionId": 1,
"tax": 10.5
}
Updated about 2 months ago