book() е методът, който отваря страницата за плащане. Всичко останало в клиента я конфигурира или следи.
entase.book(eventID);
entase.book(eventID, options);eventID е идентификаторът на насроченото събитие, за което ще се продават билети. Това е същият идентификатор, който се използва в кодовете за споделяне и вграждане на събитието ви.
Извикването се връща веднага – отваря панела или прозореца и не изчаква посетителят да приключи. Използвайте събития, за да реагирате на това, което се случва след това.
Опции
| Име | Тип | По подразбиране | Описание |
|---|---|---|---|
checkoutMode | низ | стойност на инстанцията | 'pane' или 'popup' само за тази резервация. |
clientContext | обект | null | Произволни данни, предадени на страницата за плащане, когато е готова. Вижте по-долу. |
collectConsent | булева стойност | стойност на инстанцията | Дали да се поиска от посетителя да приеме известието за условията. |
backdrop | булева стойност | стойност на инстанцията | Дали страницата зад страницата за плащане да бъде затъмнена. |
backdropColor | низ | стойност на инстанцията | Цветът на затъмнената област. |
pane | обект | стойност на инстанцията | { width, height } за вградения панел. |
popup | обект | стойност на инстанцията | { width, height } за изскачащия прозорец. |
Всичко, което пропуснете, се връща към стойността, с която е създадена инстанцията, така че опциите за конкретното извикване се добавят, вместо да представляват заместващ набор.
entase.book('EVENT_ID', {
pane: { width: '60vw' },
backdrop: false,
clientContext: { source: 'homepage-hero' }
});Клиентски контекст
clientContext е обект по ваш дизайн. Клиентът го съхранява, докато страницата за плащане не подаде сигнал, че е готова, след което ѝ го предава. Използвайте го, за да пренесете до сесията на страницата за плащане информация, която знае само вашата страница – кой бутон е бил натиснат, от коя кампания е дошъл посетителят, вътрешна референция за клиент.
Контекстът се съхранява за всеки идентификатор на събитие поотделно, така че резервирането на две различни събития от една и съща страница запазва контекстите им отделни.
Не поставяйте в него чувствителна информация. Той се прехвърля до страницата за плащане през браузъра и е видим за всеки, който инспектира страницата.
Отваряне на няколко събития от една страница
Една инстанция обработва произволен брой събития. Създайте я веднъж и всеки път подавайте различен идентификатор:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
document.querySelectorAll('[data-event-id]').forEach(button => {
button.addEventListener('click', () => {
entase.book(button.dataset.eventId, {
clientContext: { source: button.dataset.source }
});
});
});След унищожаване на клиента
Извикването на book() за инстанция, която вече сте унищожили, записва грешка в конзолата и не отваря нищо. Това е умишлено – унищожената инстанция вече не следи за съобщения от страницата за плащане, така че прозорецът, който е отворила, не би могъл да бъде затворен или наблюдаван. Вместо това създайте нова инстанция.
Затваряне на страницата за плащане
Посетителят сам затваря страницата за плащане: с Escape или чрез щракване върху затъмнената област в режим на панел, чрез контролите на прозореца в режим на изскачащ прозорец. Страницата за плащане се затваря и сама, когато резервацията приключи.
Няма публичен метод за затварянето ѝ от вашия код. Ако трябва да знаете кога е затворена, следете за събитието checkout.closed.