Checkout
POST /v2/b2b/checkout/kiosk
Headers:
Content-Type: application/json
x-acme-api-key: valid API Key
x-acme-request-uuid: a unique identifier to help prevent duplicate transactions (optional)
Body:
A Checkout Input JSON Object with shopping cart
Response:
A WillCall Order Detail object describing the order, order items, and tickets arranged by event
Checkout JSON Objects
Checkout Input JSON Object
Field | Description | Notes |
---|---|---|
paymentMethods | A list of payment types. "paymentMethods": ["CreditCard"] | Required |
expressTransactionId | Transaction token from TriPOS | Required |
uuid | A unique identifier to help prevent duplicate transactions (does not have to be a uuid per se) | Required |
terminalId | A valid kiosk terminal id | Required |
contactFirstName | First name of the customer. | Optional |
contactLastName | Last name of the customer. | Optional |
Email address of the customer. | Optional | |
phoneNumber | Phone number of the customer. | Optional |
zipCode | Zip code of the customer. | Optional |
billingFirstName | First name of the customer. | Optional |
billingLastName | Last name of the customer. | Optional |
billingEmail | Email address of the customer. | Optional |
billingPhoneNumber | Phone number of the customer. | Optional |
notes | Notes about the order | Optional |
reservationId | The ID of a reservation with the desired events and tickets. This will be automatically deleted when included with the shopping cart on checkout. | Optional |
shoppingCart | The shopping cart object with the items to be purchased. | Required |
shoppingCart.reservationId | The ID of a reservation with the desired events and tickets. On checkout, this will be automatically deleted | Optional |
shoppingCart.items | A list of items in the shopping cart | Required |
shoppingCart.items[x].eventId | Event ID of the item. | Required for event sales |
shoppingCart.items[x].ticketingTypeId | Type of ticket. | Required for event sales |
shoppingCart.items[x].eventName | The name of the event. | Optional |
shoppingCart.items[x].quantity | The number of these items in the shopping cart. | Required |
shoppingCart.items[x].itemType | The type of item, one of Event, Inventory, ComboEvent, ComboInventory | Required for non-events |
shoppingCart.items[x].inventoryId | The ID of the inventory (aka Add On) item. | Required for inventory sales |
shoppingCart.items[x].inventoryName | Name of the inventory (aka Add On) item. | Optional |
shoppingCart.comboItems | A list of combo items in the cart. | Required for combo sales |
shoppingCart.comboItems[x].itemId | The inventory item ID, if this is an inventory item. | Optional |
shoppingCart.comboItems[x].comboTemplateId | The combo template id associated with this combo item. | Optional |
shoppingCart.comboItems[x].comboTemplateName | the name of the combo template. | Optional |
shoppingCart.comboItems[x].comboTemplateType | Either fixedPrice or Discount depending on the type combo template. | Optional |
shoppingCart.comboItems[x].tickets | The list of tickets for this combo item. | Optional |
shoppingCart.comboItems[x].tickets[y].eventTemplateId | The event template associated with this ticket. | Optional |
shoppingCart.comboItems[x].tickets[y].ticketTypeId | The ID for the type of ticket. | Optional |
shoppingCart.comboItems[x].tickets[y].name | The name on the ticket. | Optional |
shoppingCart.comboItems[x].tickets[y].description | A description of what the ticket is for. | Optional |
shoppingCart.comboItems[x].tickets[y].price | The retail price of the ticket. | Optional |
shoppingCart.comboItems[x].tickets[y].discountedPrice | The price after discounts for resellers are applied to the retail price. | Optional |
shoppingCart.comboItems[x].tickets[y].quantity | The number of tickets. | Optional |
shoppingCart.comboItems[x].tickets[y].subTotal | The subtotal of the retail price of the tickets for the purchased quantity | Optional |
shoppingCart.comboItems[x].tickets[y].discountedSubTotal | The subtotal of the discounted price of the tickets for the purchased quantity | Optional |
shoppingCart.comboItems[x].events | A list of events in the shopping cart. | Optional |
shoppingCart.comboItems[x].events[y].eventTemplateId | The id of the event template for this event. | Optional |
shoppingCart.comboItems[x].events[y].eventId | The id of the event. | Optional |
shoppingCart.comboItems[x].events[y].eventName | The name of the event. | Optional |
shoppingCart.comboItems[x].events[y].eventStartTime | The start time of the event. | Optional |
shoppingCart.comboItems[x].addOns | The list of add ons in this combo item. | Optional |
shoppingCart.comboItems[x].addOns[y].addOnId | The id of the add-on . | optional |
shoppingCart.comboItems[x].addOns[y].name | The name of the add on. | optional |
shoppingCart.comboItems[x].addOns[y].quantity | The number of items of this add on in the shopping cart. | Optional |
shoppingCart.comboItems[x].addOns[y].unitPrice | The price of these items. | Optional |
shoppingCart.comboItems[x].addOns[y].priceSplit | Either 'each' or 'total'. If each then the price will be quantity * unitPrice, if total the price will be unitPrice. | Optional |
Things of Note:
- The following fields are included in the response
- ccLastFourDigits
- shoppingCart.items[x].itemId (a unique ID for the item)
- shoppingCart.items[x].unitPrice (the price for the item)
- shoppingCart.items[x].amount (the total amount: quantity X unit price)
- For speed of testing without a card reader, you can send in manual entry fields instead of expressTransactionId:
- manualEntryCardNumber
- expDate
- cvc
- chargeAmount (required for cc manual entry without a card reader ONLY if paying less than the total)