Tickitto Docs

Tickitto as Merchant of Record

Tickitto can be the merchant of record by capturing payments and confirming checkouts on your behalf from your customers. The Tickitto API has an integration with Stripe for credit card processing, which means that your customers’ card information is protected. All API requests must be made over HTTPS to ensure secure communications with our servers.

The Tickitto API is EU PSD2-compliant.

Using this payment flow means that you can start selling our inventory on your platform much faster as most of the heavy lifting to process payments and protect your customers’ card information has been done.

At the same time, you will still have the flexibility to design and optimise your own checkout experience for your customers, from the point they add items to their basket all through to a successful payment.

Final Step to Complete the Checkout Process

Following the call made to this endpoint, there is an additional step required on your part to successfully complete the checkout for the associated basket_id

Whilst there are several ways of completing the checkout with Stripe, we strongly recommend using Stripe SDK along with calling confirmCardPayment . This approach not only requires the least amount of work on your end but also handles 3D Secure™ or any equivalent additional security steps required by the user's card issuer to complete the transaction.

Below is a snippet, which can be used as further guidance on how to complete this step:

await stripe.confirmCardPayment(
stripeData.stripe_payment_intent_secret,
{
payment_method: {
card: stripeCardElement,
billing_details: {
name: userInfo.name,
email: userInfo.email,
phone: userInfo.phone,
},
},
});

You would have received the payment_intent_secret as a response from the call to /api/basket/stripe_object endpoint.

As for the payment method information, there are multiple ways to handle this.

We strongly recommend to leverage stripeElements to fetch the card information from the user. This approach allows you to benefit from the simplest method of PCI validation provided by stripe and will avoid having your customer's card details hitting your own servers.

Alternatively, if you have your own established method, there are different ways of passing your customer's card details back to Stripe's SDK. Detailed guidance and information on this can be found here.

On successful confirmation of payment from Stripe, you can then notify your customer that their tickets have been successfully purchased. You will need to make a request to the api/basket/?{basket_id} endpoint with the same basket_id that has been checked out.

Endpoint

GET tickitto.tech/api/basket/?{basket_id}

The basket will update automatically to reflect the status of the booking on an item by item basis. This is reflected in the booked_successfully attribute of the basket schema.

Furthermore, for each item in the basket that has been booked successfully, this endpoint will return a URL for the ticket voucher in the voucher_url attribute of the basket schema.

Note: There are multiple ways of confirming the card payments. We recommend you to review Stripe's documentation. This is also a useful reference with code samples of integrations for accepting payments with Stripe.