For the present question about 1 product per user, here is example code:
<?php
namespace ProcessWire;
$eventProductID = 2678;
$customerEmail = 'wario_best@gmail.com';
/*
NOTES
1. line-time -> padloper-order-line-item (order line item template)
2. product_id -> subfield in padloper_order_line_item field with product ID value
3. parent.order_customer -> Order is the parent of line items. padloper_order_customer is the field with customer details
*/
// $boughtTicket = $padloper->get("template=line-item, line_item.product_id={$eventProductID},parent.order_customer.email={$customerEmail}");
// if ($boughtTicket instanceof NullPage) {
// // NOT YET BOUGHT TICKET
// } else {
// // BOUGHT TICKET ALREADY
// }
# OR
$boughtTicketID = (int) $padloper->getRaw("template=line-item, line_item.product_id={$eventProductID},parent.order_customer.email={$customerEmail}", 'id');
if (empty($boughtTicketID)) {
// NOT YET BOUGHT TICKET
} else {
// BOUGHT TICKET ALREADY
}
Let me know if you need clarification.
Sorry for the delay!
Thanks.