Adding a new ticket order

If you’re running a box office using any piece of software, it’s important that you’re able to add sales from the back-end. Using My Tickets, there are a number of ways to add new ticket orders as an administrator. You can only process payments by going through the public shopping cart, but if you have any other means to accept payments – cash, check, credit card terminal, Square Register, etc., then you can set up a ticket order and process that payment without going through that process.

New payments are added from the WordPress dashboard by going to the “Payments” menu item.

Payments Menu item

Go to “Payments” > “Add New”. If you don’t have a shopping cart set up, you’ll see the message “Visit the public web site to set up a cart order”. This isn’t because you need to go through the front-end to create a purchase; it’s because you need to add items to the shopping cart. If you have an active shopping cart on the front-end, you’ll have access to that shopping cart from the admin panel as well.

You can edit the contents of the shopping cart in the front-end as long as you haven’t saved the payment in the admin – once the payment is saved in the admin, the contents are locked.

Visit the public web site to set up a cart order.

As soon as you set up a shopping cart on the front-end, however, you’ll see that in the add payment form:

Cart item added

You’re not restricted to setting up payments using just your cart. If a user creates a cart while logged-in, you can copy that user’s shopping cart from their user profile into the admin panel.

Navigate to the User’s profile at Users > All Users and open their profile to edit.


Generally, the user’s shopping cart will be visible towards the bottom of the profile screen. However, this can vary depending on what other plug-ins you have installed.

Shopping cart in user profile.

From the user profile, you can simply click the link “Create new payment with this cart” to copy the cart into a new payment.

If the user isn’t logged in, the process is a bit more labored, but it’s still possible. For users who aren’t logged-in, My Tickets inserts a meta field into the site header with a unique cart ID. You can ask users to view the source of the page to retrieve their cart ID (there’s no way to obtain this information without the purchaser providing it to you). The ID should appear very near the top of the source code, and look like this:

<meta name='cart_id' value='HXKFiBbmm00JfaAT' />

Once you’ve retrieved that cart ID, you can use it as a parameter to add a payment for the cart:

At that point, you can submit their purchase to the system. This is a convenient way of handling ticket sales problems by phone or at your box office while keeping all of your ticket sales within a single system.

Filling in the admin payments form is a simple process, with relatively few fields. You must specify a payment status and ticketing method, and you’re recommend to provide all other data.

You can’t specify a user as “Do not email” at the time of data entry, because the system needs to be able to send at minimum the receipt and purchase notification emails. However, all subsequent email messages sent to the user using the “Contact Purchaser” forms will include a link for the user to remove themselves from your mailing list, and this data will appear in their purchase record. If they make a future purchase, they will still receive the basic purchase notification, however, as this type of contact is a fundamental business need.

Editing payments

All payments can be edited after purchase. Not all fields are editable; you can’t change the tickets purchased, total cost, or transaction data, although you can add internal notes if you need to have a record of some issue handled in the purchase. Internal notes are never used on the front-end by My Tickets, and shouldn’t ever be displayed by any custom add-ons you use.

The most common reason for editing payments may be in handling Pending payments where payment has been received; if you’re tracking specific transaction IDs such as check numbers (If you’re tracking credit card numbers, you should stop immediately – this is a major security problem!), you’ll need to edit each payment individually, but if all you really need to do is mark a bunch of pending posts as completed, you can bulk edit payments to adjust this.


If a user doesn’t receive their email notification, you can re-send it by checking the box labeled “Re-send Email Notification”.

Additionally, you can send specific purchasers a personal email from their payments page. Some venues will probably rarely need this, but for events that need to verify information with the purchaser, this can be very useful.


If you need to mass email all the purchasers of tickets for a particular event (for example, if the event had to be cancelled or delayed), you can do the from the Reports screen.

Mass Email purchasers

It’s sometimes necessary to send an email to everybody who’s purchased a ticket for a particular event. Maybe it’s because there’s a last minute venue change, a cancellation, or a time change – whatever the reason, it’s valuable to be able to send a quick message to everybody coming to an event.

Send Mass Email form

For the most reliable delivery, you should generally use a mailing service like MailChimp or My Emma, but My Tickets will do the job for reasonable numbers of purchasers.

The interface for mass emailing purchasers can be found on the Reports screen in your WordPress dashboard. By default, the message will be sent in HTML format, so you can use HTML in your message.

My Tickets doesn’t provide a direct mechanism to add a header or footer to your message, but it does provide a filter (mt_modify_email_body) that you can use to mass modify all email messages sent by My Tickets. This filter is applied to all email messages sent in any context by My Tickets, so you should take that into consideration when you write filters for these messages. The filter does receive one argument other than the message body, which is a variable indicating whether the message is sent to an admin or a purchaser.

Payments List

The payments list (WordPress Dashboard > Payments) is a pretty straightforward custom post type screen with a few key changes.

First, the screen includes the status of the payment, the total value of that shopping cart, and the receipt ID for the cart. Receipt IDs are generated very early on in the process, so even unsubmitted carts will have a receipt ID assigned already.

Carts that have been created but not submitted for payment will be labeled as “Active Cart” in the list. These will usually linger until they’re completed; My Tickets doesn’t currently automatically clear out old data. However, all active carts also have the “draft” post status, so you can view a list of all active carts by viewing the draft payments.

Display of payments screen.

Payments can have one of four statuses: Completed, for payments that are paid and processed; Pending, for payments still awaiting payment, Failed for any payments where the payment was attempted, but failed, and Refunded, if you’ve refunded the payment.

You can filter the screen to show only payments with one of these statuses, for easier navigation. If you have a large volume of pending payments to mark as completed, you can do that as a bulk action.


My Tickets offers a variety of basic reports. You can generate reports of sales by date, retrieving all sales occurring between the two selected dates or reports of sales by event, retrieving all sales on that event.

Forms to select available reports.

Additionally, you can generate a list of tickets sold for an event. This is different from the list of purchases, in that it will list all of the ticket IDs that are valid for a given event, with the name of the purchaser, purchase ID, and ticket price. In the HTML view, it will provide a link to edit the associated purchase record, as well.

By default, when you enter the reporting page, it’ll show you a list of all sales within the last 7 days. If you’re running a high volume ticketing site, where this is too long of a list for comfort, you can use the filter ‘mt_default_report_start_date’ to pass a custom string formatted date argument and change the amount of data shown.

You can either view reports as HTML on your screen or export them as CSV formatted files. The two reports are fundamentally identical, except that the CSV formatted export splits the purchaser’s name into separate first and last name fields, for easier sorting.

The payment report includes first name, last name, ticket type purchased (e.g., Adult, Child, etc.), the number of tickets purchased, the price per ticket, the total amount paid for those tickets, the current payment status, the purchase date, and the purchase time.

For any purchaser who purchased more than one type of ticket – for example, a purchaser who bought tickets for two adults and one child, their name will appear on the list twice, once for each type of ticket purchased.