TABLE OF CONTENTS |
B2C Checkout
Start by reviewing Checkout APIs - Best Practices and Security to increase security and reduce duplicate transaction.
Orders completed via the B2C Checkout endpoints will be associated with the “Online” sale channel. While the standard checkout process outlined below is the ACME-recommended process, we do offer the ability to complete a CORS checkout for those who would like to build their integration that way. The CORS checkout requires more configuration so please see the CORS Checkout documentation for more information.
All checkout calls require a shopping cart to complete. A shopping cart can either be created in advance using the shopping cart endpoint, or they can be sent in the checkout call itself. For more information see the Shopping Cart documentation.
- To checkout with a pre-built shopping cart, pass the shopping cart ID into the shoppingCartId attribute.
- To build the cart at checkout, add a shopping cart object using the shoppingCart attribute.
POST /v2/b2c/checkout
POST /v2/b2c/cors/checkout (cors)
Request Parameters
Include a CheckoutInput Object as the body of the request (see below)
Sample Request
POST https://sand10-api.acmeticketing.net/v2/b2c/checkout
Response
Returns an Order Object (see Orders).
- To get more information about an order after it has been created, pass the ID into the order details API.
CheckoutInput Object
- If the contact information is not fully populated (first name, last name and phone, email, or zip code):
- It will be pulled from the membership primary cardholder in the case of a membership order
- It will be pulled from the billing information in the case of an individual order
- ACME will create customers based on fully populated billing information
- If the information exactly matches an existing customer, that customer will be associated with the order
- Note for CNP (card not present, or online) checkouts, the billing email is required for the order email confirmation to be sent.
- To create an order using membership discounts, see the Shopping Cart APIs.
Field | Type | Description | Required |
---|---|---|---|
shoppingCartId | string | Shopping cart id, if using Shopping Cart APIs | if applicable |
string | contact email address | ||
phoneNumber | string | contact phone number | |
contactFirstName | string | ||
contactLastName | string | ||
contactFullName | string | ||
address1 | string | contact address 1 | |
address2 | string | contact address 2 | |
country | string | contact country | |
city | string | contact city | |
state | string | contact state | |
zipCode | string | contact zip code | |
acmeToken | string | internal use only | |
expDate | string | Credit card expiration date (MMYY) | yes |
manualEntryCardNumber | string | Credit card PAN | yes |
cvc | string | Credit card CVC | yes |
paymentProcessorToken | string | internal use only | |
paymentProcessorFingerPoint | string | internal use only | |
ccLastFourDigits | |||
creditCardBrand | CreditCardBrand |
| |
giftCardNumber | string | deprecated | |
notes | string | add notes to an order | |
shoppingCart | ShoppingCart | Shopping cart object, if not using shopping cart APIs | if applicable |
checkoutForms | List<CheckoutForms> | internal use only | |
billingFirstName | string | ||
billingLastName | string | ||
billingEmail | string | Required to send Order Confirmation email | |
billingPhoneNumber | string | ||
billingAddress1 | string | ||
billingAddress2 | string | ||
billingCountry | string | ||
billingCity | string | ||
billingZipCode | string | Required for credit card verification | if applicable |
billingState | string | ||
emailAnalytics | EmailAnalytics | internal use only | |
sendEmail | boolean |
The default if not included = true *requires a value for billingEmail |
Sample Request Bodies
Checkout request referencing an existing shopping cart
{ "shoppingCartId": "5e1cc8df60309f750c740ea6", "billingFirstName": "H", "billingLastName": "Simpson", "billingAddress1": "742 Evergreen Ter", "billingCity": "Springfield", "billingState": "Oregon", "billingCountry": "United States", "billingZipCode": "97477", "billingEmail": "support@acmeticketing.com", "billingPhoneNumber": "939-555-0113", "manualEntryCardNumber": "4242424242424242", "expDate": "1220", "ccLastFourDigits": "4242", "cvc": "123", "acmeToken": "4242424242" }
Checkout object with new shopping cart
{ "shoppingCart": { "items": [{ "itemType": "Event", "eventId": "5d96453460309f26d082bd11", "ticketingTypeId": "55268c54e4b0fb9be01106bd", "quantity": 2 }] }, "billingFirstName": "H", "billingLastName": "Simpson", "billingAddress1": "742 Evergreen Ter", "billingCity": "Springfield", "billingState": "Oregon", "billingCountry": "United States", "billingZipCode": "97477", "billingEmail": "support@acmeticketing.com", "billingPhoneNumber": "939-555-0113", "manualEntryCardNumber": "4242424242424242", "expDate": "1220", "ccLastFourDigits": "4242", "cvc": "123", "acmeToken": "4242424242" }
Sample Response Body
{ "id": "453348", "tenantId": 165, "email": "support@acmeticketing.com", "billingEmail": "support@acmeticketing.com", "contactFirstName": "H", "contactLastName": "Simpson", "billingFirstName": "H", "billingLastName": "Simpson", "billingAddress1": "742 Evergreen Ter", "billingCountry": "United States", "billingCity": "Springfield", "billingZipCode": "97477", "billingState": "Oregon", "address1": "742 Evergreen Ter", "country": "United States", "city": "Springfield", "state": "Oregon", "zipCode": "97477", "phoneNumber": "939-555-0113", "billingPhoneNumber": "939-555-0113", "orderNumber": "100003504", "discountedTotalAmount": "40.00", "totalAmount": "40.00", "discountedOriginalTotalAmount": "40.00", "originalTotalAmount": "40.00", "paidAmount": "40.00", "balanceAmount": "0.00", "refundAmount": "0.00", "saleChannel": "Customer Rep", "checkInStatus": "NotCheckedIn", "creationDate": "2020-01-13T14:50:42-05:00", "paymentDueDate": "2020-01-13T14:50:42-05:00", "createdOn": "2020-01-13T14:50:42-05:00", "createdBy": "null", "updatedOn": "2020-01-13T14:50:43-05:00", "updatedBy": "null", "legacy": false, "hideEventDate": false, "ccLastFourDigits": "4242", "invoiceAfter": false, "customerId": 2928141, "obfuscated": false }
Deprecated Fields
- ticketDeliveryEmail