Checkout
POST
/api/checkout
const url = 'https://api.wink.travel/api/checkout';const options = { method: 'POST', headers: {'Wink-Version': '2.0', 'Content-Type': 'application/json'}, body: '{"shoppingCartIdentifier":"","customizationIdentifier":"","redirectUrl":"https://ota.wink.travel/thank-you","ga4ClientId":"","ga4SessionId":"","ga4MeasurementId":""}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/checkout \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data '{ "shoppingCartIdentifier": "", "customizationIdentifier": "", "redirectUrl": "https://ota.wink.travel/thank-you", "ga4ClientId": "", "ga4SessionId": "", "ga4MeasurementId": "" }'Creates bookings and Stripe PaymentIntent in a single step.
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ” Wink-Version
string
Request Body required
Section titled “Request Body required ” Media type application/json
object
shoppingCartIdentifier
required
Shopping cart to send to TripPay
string
Example
shopping-cart-1 customizationIdentifier
Wink affiliate customization
string
Example
customization-1 redirectUrl
required
Wink affiliate customization
string
Example
https://ota.wink.travel/thank-you ga4ClientId
GA4 client ID extracted from the _ga cookie
string
ga4SessionId
GA4 session ID extracted from the ga<CONTAINER_ID> cookie
string
ga4MeasurementId
GA4 Measurement ID identifying the data stream (e.g. G-XHFTY1BDSD)
string
Responses
Section titled “ Responses ”OK
Media type application/json
object
clientSecret
required
Stripe PaymentIntent client secret for the payment sheet.
string
ephemeralKey
required
Stripe EphemeralKey secret for the customer session.
string
customerId
required
Stripe Customer ID.
string
groupIdentifier
required
Shared group identifier linking all bookings in this checkout.
string
bookingCodes
required
Array<string>
Example
{ "clientSecret": "", "ephemeralKey": "", "customerId": "", "groupIdentifier": "", "bookingCodes": [ "" ]}Bad Request
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "https://example.com", "properties": { "additionalProperty": "example" }}object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Unauthorized
Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Forbidden
Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Internal Server Error
object
Example generated
{}