Cart Test
Web/Cart/{sessionKey}/Checkout
Validates, processes payment for, and saves an order for a specified session.

Payment information can be provided as follows:

- The full card details can be provided in the request

- The request includes parameters for use with the 3D Secure protocol used by credit card verification services such as Verified by Visa and MasterCard SecureCode.

- The method also allows the credit card authorization process to be skipped, which allows the use of third party authorizations.

- The AccountID property in the request can be used in place of specifying credit card information. When a valid id value from CRM/Accounts is provided and the stored card data belongs to either the session owner or the session initiator, then that card data is passed through for authorization.If the account is invalid or does not belong to the session owner or initiator, then an error is returned.

- Additionally, this method has two additional Address Verification parameters, allowing a calling application to optionally specify the street address and zip code that represents the billing address for the credit card.



When the method is run the status of the order is checked to ensure checkout has not started. The procedure will set the status in T_WEB_CHECKOUT to one of the following values: (S)ave in progress, (C)ompleted save, (E)rror when saving.

The response includes a status and message details about the status.Possible status results are: SaveInProgress, SaveComplete, Error.

In order to facilitate the use of the interceptor capability, the checkout method now makes a POST call to Txn / Orders.By default this call does nothing unless a developer has added interceptor plug -in code to the exposure.
Http Verb POST
Resource URL https://ts-stg-appgw.calacademy.org/TessituraService/Web/Cart/{sessionKey}/Checkout

URI Parameters

Parameter Name Data Type Required Notes
sessionKey string Y

Request Body

Request object type : CheckoutRequest

Request object type CheckoutRequest has the following properties.
Property Name Data Type Length Required Readonly Notes
AccountId integer N An id of previously stored credit card information for the owner or initiator of the cart. If this value exists, it takes precedence over any passed in credit card information, with the exception of the CreditCardType (payment method). See comments on CreditCardType.
FK: T_ACCOUNT_DATA.id   Resource: Accounts
Address string Optional parameter used to specify the address for the credit card’s billing address.
AllowUnderPayment boolean Y Pass True to allow partial payment of the order. Pass False to require full payment of the order.
Amount decimal number Y The amount of the payment to charge. If AllowUnderPayment is false, Amount must be equal to the total amount due. This value can never be greater than the amount due.
AuthorizationCode string Third party authorization code to be recorded in Tessitura. Required if Authorize = False.
Authorize boolean Pass True to authorize credit cards. Pass False to not authorize credit cards or when saving an unpaid order.
Country string N Optional parameter used to specify the country for the credit card’s billing address. Must be the ISO-2 country code.
CreditCardAuthenticationCode string The CVV security code on the credit card used. This data is used for authorization only and is not stored in the system.
CreditCardMonth integer The month of the expiration date for the credit card. Required when card details are being provided.
CreditCardNumber string The account number of the credit card being used for the transaction.
CreditCardOwner string The full name on the credit card being used for the transaction.
CreditCardType integer N The payment method to use for checkout. Must match the account type of the card information provided. A CreditCardType or an AccountId is required. If both are specified, the CreditCardType will be used. The account type of the CreditCardType (payment method) must match what is stored in the account.
FK: TR_PAYMENT_METHOD.id   Resource: PaymentMethods
CreditCardYear integer The year of the expiration date for the credit card. Required when card details are being provided.
DeliveryDate date N A delivery date that is used for Tessitura Merchant Services authorizations only. The date to use for any specific cart is returned by the GetCart service.
ECommerce boolean Flag to indicate is this payment should be considered an ECommerce transaction.
PaymentId integer The paymentId of an EMV authorization that has been processed and should be applied to the cart.
PaymentReference string A credit card processor reference number can be submitted here when an external authorization takes place. This would allow refunds to be made against this reference number without storing the credit card number.
SecureValues string Optional parameter used to pass 3D Secure values. The 3D Secure values are passed as a string to this single parameter rather than multiple parameters, e.g. sessionid=xxx&eci=yyy&xid=zzz... Though no formal rules have been established for this parameter, suggested content includes: - sessionid - Tessitura session key - eci – Ecommerce indicator - xid – 3D Secure transaction id - vts – secure code transaction security - cavv – cardholder verification value - vcsnch[no details available] - vcsnca[no details available] - vhr[no details available].
StoreAccount boolean Flag to indicate if the card details provided should be stored on the constituent record, and tokenized if applicable, during checkout.
ZipCode string Optional parameter used to specify the zip code for the credit card’s billing address.
{
  "CreditCardOwner": "sample string 1",
  "CreditCardNumber": "sample string 2",
  "CreditCardType": 3,
  "CreditCardMonth": 4,
  "CreditCardYear": 5,
  "Amount": 6.0,
  "AllowUnderPayment": true,
  "CreditCardAuthenticationCode": "sample string 8",
  "Authorize": true,
  "AuthorizationCode": "sample string 10",
  "SecureValues": "sample string 11",
  "AccountId": 12,
  "ZipCode": "sample string 13",
  "Address": "sample string 14",
  "PaymentReference": "sample string 15",
  "PaymentId": 16,
  "ECommerce": true,
  "StoreAccount": true,
  "DeliveryDate": "2025-04-24T08:21:47.8773471-07:00",
  "Country": "sample string 18"
}
<CheckoutRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <AccountId>12</AccountId>
  <Address>sample string 14</Address>
  <AllowUnderPayment>true</AllowUnderPayment>
  <Amount>6</Amount>
  <AuthorizationCode>sample string 10</AuthorizationCode>
  <Authorize>true</Authorize>
  <Country>sample string 18</Country>
  <CreditCardAuthenticationCode>sample string 8</CreditCardAuthenticationCode>
  <CreditCardMonth>4</CreditCardMonth>
  <CreditCardNumber>sample string 2</CreditCardNumber>
  <CreditCardOwner>sample string 1</CreditCardOwner>
  <CreditCardType>3</CreditCardType>
  <CreditCardYear>5</CreditCardYear>
  <DeliveryDate>2025-04-24T08:21:47.8773471-07:00</DeliveryDate>
  <ECommerce>true</ECommerce>
  <PaymentId>16</PaymentId>
  <PaymentReference>sample string 15</PaymentReference>
  <SecureValues>sample string 11</SecureValues>
  <StoreAccount>true</StoreAccount>
  <ZipCode>sample string 13</ZipCode>
</CheckoutRequest>

Response object type : CheckoutResponse

Response object type CheckoutResponse has the following properties.
Property Name Data Type Length Required Readonly Notes
Message string
Status string
{
  "Status": "sample string 1",
  "Message": "sample string 2"
}
<CheckoutResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Message>sample string 2</Message>
  <Status>sample string 1</Status>
</CheckoutResponse>
Change Version Description Contract Old New
Property Added 15.2.41 Country has been added to CheckoutRequest CheckoutRequest CheckoutRequest.Country
Property Added 15.2.38 DeliveryDate has been added to CheckoutRequest CheckoutRequest CheckoutRequest.DeliveryDate
Property Added 15.1.0 PaymentId has been added to CheckoutRequest CheckoutRequest CheckoutRequest.PaymentId
Parameter Changed 15.0.0 sessionKey has been marked as required. Required