DrPlugin

Checkout and billing fields

Updated October 30, 2026

Choose the fields buyers fill in at checkout, and decide whether they need an account to pay.

How a buyer pays

The checkout holds the payment form and an order summary. You can place it as the Checkout block, the [tiermint_checkout] shortcode or an Elementor widget. The Checkout page setting under TierMint → Settings → General tells TierMint which page holds it. Storefront pages covers that setting.

The checkout with the contact fields, the company checkbox and Pay now, beside the order summary and the discount code box

  1. The buyer fills in Email address and any other fields you turned on, then clicks Pay now.
  2. TierMint checks the cart and the fields, creates a pending order and starts a payment at Stripe. The Stripe payment form then opens in the Payment section with the note "Enter your payment details above to finish."
  3. The buyer enters their payment details and clicks Pay now again. Stripe runs any check the buyer's bank asks for, such as 3D Secure.
  4. Stripe sends the buyer back to the checkout page. It shows "Thank you for your purchase!" and updates when the order completes.

This is the checkout after step 2, with a discount code applied. The fields Stripe shows depend on the payment methods you turn on in your Stripe Dashboard and on the buyer's country.

The checkout after the first Pay now click, with LAUNCH25 applied and the Stripe card fields under Payment

The order completes when Stripe's webhook confirms the payment, not when the buyer's browser comes back. Stripe payments explains the webhook.

If the total changes between loading the page and paying, for example because a discount code ran out, the checkout shows the new total and asks the buyer to review it before they enter payment details. Paying needs JavaScript. Without it, the checkout says so.

When the PayPal gateway in TierMint Pro is set up next to Stripe, the Payment section asks the buyer to pick a Payment method. PayPal payments covers it.

Checkout settings

Open TierMint → Settings → General. The checkout options are in the Checkout group. Change them and click Save changes. They apply to every checkout on the site, whether you placed it as a block, a shortcode or an Elementor widget.

Setting Default What it does
Require terms acceptance at checkout Off Adds a checkbox the buyer must tick before paying.
Collect a billing country Off Adds a country list.
Collect a VAT or tax ID Off Adds an optional tax ID field.
Collect a billing address Do not collect an address Adds address fields, optional or required.
Show a login panel at checkout On Lets a returning customer log in before paying.
Create an account for guests Off Creates a WordPress account when a guest's purchase completes.
Allow guest checkout On Lets buyers pay without an account.
Require a first name at checkout Off Makes the first name mandatory.
Require a last name at checkout Off Makes the last name mandatory.
Offer a company purchase option On Adds an "I am buying as a company" checkbox.

The buyer's name

The Contact section always has Email address, First name and Last name. Both name fields are optional and say so in their labels. Turn on Require a first name at checkout or Require a last name at checkout to make one mandatory. The browser then will not submit the form while it is empty, and the server refuses a payment that arrives without it.

TierMint saves the names on the customer record. When TierMint creates a WordPress account for the buyer, it copies the names to the account. TierMint Pro invoices print them.

Terms and conditions

Turn on Require terms acceptance at checkout to add a checkbox to the Payment section. Its label reads "I agree to the Terms and Conditions and Privacy Policy." Each name links to the page you chose as Terms page or Privacy policy page under TierMint → Settings → General, and opens in a new tab. If Privacy policy page is empty, the name links to the page set under Settings → Privacy in WordPress. A name with no page at all shows as plain text.

The browser will not submit the form until the box is ticked, and the server refuses a payment without it. TierMint records when the buyer accepted, and the order screen shows it as Terms accepted.

Billing country

Turn on Collect a billing country to add a Country list to the Billing section. Buyers can leave it blank. The order screen shows the choice as Billing country.

The list holds every country in TierMint's catalog. To sell to fewer countries, narrow it with the tiermint_checkout_countries filter. The filter can only remove countries, and if it leaves none, the full list comes back.

add_filter( 'tiermint_checkout_countries', function ( array $countries ): array {
	return array_intersect_key( $countries, array_flip( array( 'US', 'CA', 'GB' ) ) );
} );

The country list and the tax ID field follow the two settings. An extension can turn either one on with the tiermint_checkout_collect_field filter, but it cannot turn off a field you collect. The filter gets the setting's value and the field key, billing_country or vat_number. Answer for the field you need and return the value unchanged for the other, or you undo another extension's request.

add_filter( 'tiermint_checkout_collect_field', function ( bool $collect, string $key ): bool {
	return 'billing_country' === $key ? true : $collect;
}, 10, 2 );

While a field is on for an extension, its setting under TierMint → Settings → General says so. TierMint Pro taxes uses the filter: while tax calculation is on, the country list and the tax ID field always show, and Pro makes the country required.

Company purchases and tax IDs

Offer a company purchase option is on by default. It adds an I am buying as a company checkbox to the Billing section. Ticking it opens a Company name field, plus the tax ID field when Collect a VAT or tax ID is on.

Collect a VAT or tax ID adds the field VAT, GST, or tax ID (optional). It is always optional. With the company option on, the field sits behind the company checkbox. With the company option off, it shows on its own.

TierMint stores the company name and the tax ID on the order, not on the customer, because the same buyer may buy privately next time. It stores each one only when its field is on and the buyer filled it in. The order screen shows them as Company and Tax ID, and the orders CSV export has both. A TierMint Pro invoice prints the company name, and TierMint Pro taxes use the tax ID for the EU reverse charge.

Billing address

Collect a billing address has three options.

Option Result
Do not collect an address (default) No address fields.
Collect an optional address The fields show, and the buyer can leave them blank.
Require an address The buyer must fill in Address and City.

The fields are Address, Address line 2 (optional), City, State or region (optional) and Postal code (optional). The postal code stays optional for buyers in countries that have none. TierMint stores the address on the order. The order screen shows it as Billing address, and the orders CSV export has it in one column. The fields start empty on every purchase.

With TierMint Pro, the invoice option Show the buyer's billing address on invoices is on by default. While it is on, the checkout requires an address whatever this setting says, and the setting's description tells you so.

Accounts at checkout

By default a buyer can pay as a guest with an email address only. Three settings change that.

Show a login panel

With Show a login panel at checkout on, a logged-out buyer sees a collapsed panel above the form that reads "Returning customer?" with a Log in link. It opens a login form. After login, the buyer comes back to the checkout with their email filled in. Logged-in buyers never see the panel.

Create an account for guests

With Create an account for guests on, TierMint gives a guest a WordPress account when their purchase completes, so their orders, downloads and licenses show in the account area.

  • If a WordPress account already uses the buyer's email, TierMint links the customer record to it and leaves the account alone.
  • Otherwise it creates an account with the buyer's name. The account gets your site's default role when that role can only read, as Subscriber can. If the default role can do more, such as Author, the account gets Subscriber. WordPress emails the buyer a link to set a password. No password is sent.

TierMint creates the account when the payment completes, so an abandoned checkout never makes one. If the account cannot be created, the purchase still completes and TierMint logs the error. The buyer is not logged in automatically. Developers can change the new account with the tiermint_auto_register_user_args filter, or stop the email with tiermint_auto_register_notify. The filter cannot give the account a role that can do more than read.

Require an account

Turn off Allow guest checkout to require an account. What a logged-out buyer sees then depends on Create an account for guests.

Create an account for guests What a logged-out buyer sees
On The normal checkout, with a note that TierMint will create an account when the purchase completes and email a link to set a password. The login panel also shows, even when Show a login panel at checkout is off.
Off "Please log in to check out" and a login form in place of the payment form. The order summary stays visible.

With both settings off, a buyer must have an account before they can pay. The login form shows a Create an account link to your Registration page when one is set. Without one, it links to the WordPress registration form when the WordPress setting Anyone can register is on (Settings → General in WordPress). With neither, only people who already have an account can buy.

While guest checkout is off, a logged-in buyer's email field is locked to their account email, so the order always belongs to their account.

The order summary

The summary lists each line with its plan and price. By default it also repeats the plan details from the product details page: the license length and the activation limit, for a licensed product. With TierMint Pro, a recurring plan also shows its billing schedule and any free trial. Under the lines come any discount, a tax line when tax applies, and the total.

The tax line reads Tax. Developers can rename it with the tiermint_checkout_tax_label filter, for example to "VAT" or "Sales tax". The cart summary's last row has its own filter, tiermint_cart_summary_total_label (Cart summary). Both strip HTML tags and keep the default for an empty value.

add_filter( 'tiermint_checkout_tax_label', fn () => 'VAT' );

In the editable summary, each line has a Quantity field with an Update button, and a Remove button. A plan sold as a single unit shows only Remove. Each change reloads the checkout with new totals, so it works without JavaScript. The server holds the quantity to the plan's minimum and maximum.

If a plan's quantity limits changed after the buyer added it, the checkout uses the allowed quantity and shows a notice above the form that names the product and the new quantity.

Checkout options

The Checkout block, the [tiermint_checkout] shortcode and the Elementor widget have the same options. The shortcode uses the attribute names.

Option Attribute Default What it does
Title title Checkout The heading above the checkout. Leave it empty to hide it.
Button text button_text Pay now The label on the Stripe payment button.
Show order summary show_summary On Shows the summary beside the form. With it off, the discount box sits below the form.
Editable order summary editable_summary On Lets buyers change quantities and remove lines. Off shows each quantity as a plain badge, such as "x 2".
Show plan details show_plan_details On Repeats each line's license length and activation limit. With TierMint Pro, a recurring line also shows its billing.
Show discount code field show_discount On Shows the Discount code box.
Layout layout two-column two-column puts the form beside the summary where there is room. single stacks them.
[tiermint_checkout editable_summary="false" layout="single"]

The Cart summary block has its own Show plan details option. The shortcodes page lists every attribute.

Discount codes at checkout

The Discount code box sits under the order summary. The buyer types a code and clicks Apply. The summary then shows a discount line and the new total. An accepted code turns into "Code SAVE10 applied" with a Remove button. A rejected code shows the reason under the box.

The applied code stays with the cart, so it survives a reload or a new tab. A cart lasts 48 hours from its last change. TierMint checks the code again when the buyer clicks Pay now. A code that has run out or expired by then is dropped, and the buyer sees the new total before entering payment details. Apply and Remove also work without JavaScript.

Discount codes lists the messages buyers see and the limits a code can have.

Common questions

Why is the billing country required when I left it off?

Tax calculation is on in TierMint Pro. Pro needs the country, so it turns on the country list and the tax ID field and makes the country required. The two settings under TierMint → Settings → General say so while it does.

Why does checkout say "Too many checkout attempts"?

TierMint limits each IP address, in 10 minutes, to 10 payment starts, 10 rejected discount codes and 60 total recalculations. A code that is accepted does not count. Past a limit, the request fails with HTTP 429 and the code tiermint_rate_limited, and the buyer sees "Too many checkout attempts. Please wait a moment and try again." Developers can change the limits with the tiermint_rest_rate_limits filter (the scopes are checkout_intent, checkout_discount and checkout_quote).

Why does the checkout ask for an address when address collection is off?

The TierMint Pro invoice option Show the buyer's billing address on invoices is on. Turn it off under the invoice settings to let Collect a billing address decide again.