Skip to main content

Class: CheckoutService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:223

Extends​

  • BaseService

Constructors​

Constructor​

new CheckoutService(client): CheckoutService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:12

Parameters​

client​

TanqoryClient

Returns​

CheckoutService

Inherited from​

BaseService.constructor

Properties​

client​

protected client: TanqoryClient

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:10

Inherited from​

BaseService.client

Methods​

applyDiscount()​

applyDiscount(storeId, checkoutId, request): Promise<CheckoutResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:392

Apply a discount code

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

request​

ApplyDiscountRequest

Discount code request

Returns​

Promise<CheckoutResponse>

Updated checkout with discount applied

Example​

const checkout = await tanqoryClient.checkout.applyDiscount(
'store-123',
'checkout_xxx',
{ code: 'SAVE10' }
)

console.log(checkout.data.discountCode) // 'SAVE10'
console.log(checkout.data.totals.discount) // Applied discount amount

buildQuery()​

protected buildQuery(options?): Record<string, any>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:26

Build query parameters

Parameters​

options?​

ListOptions

Returns​

Record<string, any>

Inherited from​

BaseService.buildQuery


complete()​

complete(storeId, checkoutId, request): Promise<OrderResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:451

Complete checkout

Finalizes the checkout and creates an order.

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

request​

CompleteCheckoutRequest

Payment method and session token

Returns​

Promise<OrderResponse>

Created order

Example​

const order = await tanqoryClient.checkout.complete(
'store-123',
'checkout_xxx',
{ paymentMethod: 'stripe' }
)

console.log(order.data.number) // 'TQ-0001'
console.log(order.data.confirmationUrl) // '/orders/order_xxx'

create()​

create(storeId, request): Promise<CheckoutResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:259

Create a new checkout

Creates a checkout session from a cart or line items.

Parameters​

storeId​

string

Store ID

request​

CreateCheckoutRequest

Checkout creation request

Returns​

Promise<CheckoutResponse>

Created checkout with session token

Example​

// From cart
const checkout = await tanqoryClient.checkout.create('store-123', {
cartId: 'cart_xxx'
})

// From line items
const checkout = await tanqoryClient.checkout.create('store-123', {
lineItems: [
{ variantId: 'var_001', quantity: 2 },
{ variantId: 'var_002', quantity: 1 }
]
})

generateIdempotencyKey()​

protected generateIdempotencyKey(prefix): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:19

Generate idempotency key

Parameters​

prefix​

string

Returns​

string

Inherited from​

BaseService.generateIdempotencyKey


getCurrentStep()​

getCurrentStep(checkout): number

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:492

Get current checkout step (1-4)

Parameters​

checkout​

Checkout

Returns​

number


getExportMimeType()​

protected getExportMimeType(format): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:45

Get MIME type for export format

Parameters​

format​

string

Returns​

string

Inherited from​

BaseService.getExportMimeType


getShippingRates()​

getShippingRates(storeId, checkoutId, address?, sessionToken?): Promise<ShippingRatesResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:357

Get available shipping rates

Returns shipping rates based on the destination address.

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

address?​

CheckoutAddress

Shipping address (optional if already set on checkout)

sessionToken?​

string

Returns​

Promise<ShippingRatesResponse>

Available shipping rates

Example​

const rates = await tanqoryClient.checkout.getShippingRates(
'store-123',
'checkout_xxx'
)

console.log(rates.data) // ShippingRate[]
// Select the first rate
await tanqoryClient.checkout.update('store-123', 'checkout_xxx', {
shippingMethodId: rates.data[0].id
})

isReadyToComplete()​

isReadyToComplete(checkout): object

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:472

Check if checkout is ready for completion

Parameters​

checkout​

Checkout

Returns​

object

missing​

missing: string[]

ready​

ready: boolean


removeDiscount()​

removeDiscount(storeId, checkoutId, sessionToken?): Promise<CheckoutResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:414

Remove discount code

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

sessionToken?​

string

Session token

Returns​

Promise<CheckoutResponse>

Updated checkout without discount


retrieve()​

retrieve(storeId, checkoutId, sessionToken?): Promise<CheckoutResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:278

Retrieve a checkout

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

sessionToken?​

string

Session token (required for guest checkout)

Returns​

Promise<CheckoutResponse>

Checkout details


setMockMode()​

setMockMode(enabled): void

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:226

Parameters​

enabled​

boolean

Returns​

void


update()​

update(storeId, checkoutId, request): Promise<CheckoutResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/checkout.ts:319

Update a checkout

Update email, addresses, shipping method, or payment method.

Parameters​

storeId​

string

Store ID

checkoutId​

string

Checkout ID

request​

UpdateCheckoutRequest

Update request

Returns​

Promise<CheckoutResponse>

Updated checkout

Example​

await tanqoryClient.checkout.update('store-123', 'checkout_xxx', {
shippingAddress: {
firstName: 'John',
lastName: 'Doe',
address1: '123 Main St',
city: 'Bangkok',
province: 'Bangkok',
postalCode: '10110',
country: 'Thailand',
countryCode: 'TH',
phone: '0812345678'
}
})