Organization Checkout

Start by reviewing Checkout APIs - Best Practices and Security to increase security and reduce duplicate transactions.


Method
Endpoint
Authenticated
POST
/v2/b2b/orders/organizations/{organizationId}
Yes
  • To complete an organization checkout, you'll need the ID for the organization to associate the order.  This ID should be supplied by the venue. It can be found in the URL after opening an organization in ACME Back Office. Organization IDs are unique per tenant 
  • If you set only the billing contact, the order contact gets pre-populated with the primary contact from the org. However, if you set only the order contact, the billing contact gets copied from order contact. They can be set independently as well.


Body

An organization checkout object.  


Sample Organization Checkout Object
{
    "paymentMethod""Voucher",
    "chargeAmount""25.00",
    "zipCode""12345",
    "billingPhoneNumber""555.555.5555",
    "billingFirstName""John",
    "billingLastName""Johnson",
    "reservationId": 10049,
    "phoneNumber""555.555.5555",
    "email""mailbox@email.acme",
    "billingEmail""mailbox@email.acme",
    "queuedStatus": 0,
    "events": [{"eventId""5d96453460309f26d082bcc0",
        "items": [{
            "eventId""5d96453460309f26d082bcc0",
            "amount""25.00",
            "quantity": 1,
            "itemType""Event",
            "personTypeId""572a3b7060309f15ea0f3466"
        }],
        "verifyEntitlements"false
    }],
    "includesFlexPay"false,
    "retryCount": 0,
    "accountId": 2506,
    "terminalId""1236",
    "paymentId""VoucherNumber",
    "billingZipCode""12345",
    "saleChannel""reseller",

    "noEmail": "true", 

    "ticketDelivery": "willCall"

}


Response

An order object

Sample Order Object
{
    "id""452966",
    "tenantId": 165,
    "accountId": 2506,
    "organizationId": 2506,
    "email""mailbox@email.acme",
    "billingEmail""mailbox@email.acme",
    "contactFirstName""John",
    "contactLastName""Johnson",
    "billingFirstName""John",
    "billingLastName""Johnson",
    "billingZipCode""12345",
    "zipCode""12345",
    "phoneNumber""555.555.5555",
    "billingPhoneNumber""555.555.5555",
    "orderNumber""100002601",
    "discountedTotalAmount""25.00",
    "totalAmount""25.00",
    "discountedOriginalTotalAmount""25.00",
    "originalTotalAmount""25.00",
    "paidAmount""25.00",
    "balanceAmount""0.00",
    "refundAmount""0.00",
    "saleChannel""Reseller",
    "checkInStatus""NotCheckedIn",
    "creationDate""2019-11-07T14:11:06-05:00",
    "paymentDueDate""2019-11-07T14:11:06-05:00",
    "orderItems": [
        {
            "parentItemId""490687",
            "comboTemplateType""fixedPrice",
            "eventId""5d96453460309f26d082bcc0",
            "ticketingTypeId""572a3b7060309f15ea0f3466",
            "eventName""History of Magic",
            "eventStartTime": 1571321700000,
            "ticketingTypeName""Student",
            "basicOriginalQuantity": 1,
            "originalQuantity": 1,
            "basicQuantity": 1,
            "quantity": 1,
            "unitPrice""25.00",
            "discountedUnitPrice""25.00",
            "discountedOriginalAmount""25.00",
            "originalAmount""25.00",
            "discountedAmount""25.00",
            "amount""25.00",
            "balanceAmount""0.00",
            "itemType""Event",
            "conversionStatus""NoConversion",
            "itemId""490687",
            "displayName""Student"
        }
    ],
    "createdOn""2019-11-07T14:11:06-05:00",
    "createdBy""575",
    "updatedOn""2019-11-07T14:11:06-05:00",
    "updatedBy""575",
    "legacy"false,
    "hideEventDate"false,
    "paymentId""VoucherNumber",
    "invoiceAfter"false,
    "customerId": 2911099,
    "obfuscated"false,
    "organizationName""Gryffindor House",
    "accountName""Gryffindor House"
}


OrganizationOrderInput


FieldTypeDescription
accountContactIdLongdatabase id of an org contact to be associated with the order
accountIdLongdatabase id of the org (also organizationId in other places)
externalAccountIdString
customerIdLong
contactFirstNameString
contactLastNameString
address1String
address2String
countryString
cityString
stateString
zipCodeString
phoneNumberString
contactEmailString
notesStringfreeform notes to add to the order
acmeTokenStringACME internal use
expDateStringmmyyyy
Required when paying with CC
manualEntryCardNumberStringcredit card number
Required when paying with CC
cvcStringcredit card verification number
paymentMethodPaymentMethodEnum
paymentIdStringRequired when paying with Check or Voucher
paymentDocumentDateStringACME internal use
orderExceptionCodeIdStringACME internal use
paymentProcessorTokenStringACME internal use
paymentProcessorFingerPrintStringACME internal use
ccLastFourDigitsStringcredit card last four digits
creditCardBrandCreditCardBrandEnumACME internal use
saleChannelSaleChannelEnumRequired
invoiceboolean
ticketDeliveryTicketDeliveryEnumequivalent to Ticket Delivery Method option in backoffice. can be one of the following
  • print
  • willCall
ticketExpireDaysInteger
hideTicketEventTimeboolean
couponCodeString
chargeAmountCurrencyspecify a payment amount if the org supports partial payments
eventslist of AccountOrderInputEvent objectssee below
membershiplist of MembershipOrderItemInput objectssee below
sendEmailToAllbooleansend email to billing, order, and organization contacts
noEmailbooleanno confirmation email
noMembershipEmailbooleanfalse
billingFirstNameString
billingLastNameString
billingEmailString
billingPhoneNumberString
billingAddress1String
billingAddress2`String
billingCountryString
billingCityString
billingZipCodeString
billingStateString
addonslist of AccountOrderItemInput objectsuse for discrete addons (event addons should go with event items)
orderRequestIdStringACME internal use
reservationIdLongresolve a reservation if used



AccountOrderInputEvent


FieldTypeDescription
eventIdStringRequired
externalReferenceIdStringACME internal use
ticketExpireDaysIntegerequivalent to Ticket Expiration option in backoffice
hideTicketEventTimebooleanequivalent to Hide Event Date/Time option in backoffice
Required
itemslist of AccountOrderItemInput objectsRequired. see below



AccountOrderItemInput


FieldTypeDescription
itemTypeOrderItemTypeEnumRequired. One of the following
  • Event
  • Inventory
inventoryIdLongRequired if AddOn
personTypeIdStringRequired if Event
quantityintRequired
addonDetailIdString
amountCurrency



MembershipOrderItemInput


FieldTypeDescription
itemTypeOrderItemTypeEnum
membershipInfoMembershipInfo objectsee membership docs