A step-by-step guide about creating a one-time payment form for selling one-off products.
In this tutorial, we’ll show you how to create and customize a one-time payment form.
We’d recommend reading the Introducing form types article, if you haven’t read it yet.
We recommend going through the following steps:
It’s a good practice to have a bird’s eye view before creating the form. Thinking about your business case and requirements will help you go live much faster.
Let’s ask few questions that might help you create the right form:
It’s recommended to create and test your forms in test mode where you can use test cards to simulate every possible payment outcome. No need to refund your payment after testing either.
You can switch to test mode on the “Full Stripe / Settings / Stripe” page in WP admin:
You can create a one-time payment form on the “Full Stripe / One-time Payments / Payment Forms” page in WP admin.
Depending on the form layout you choose (inline or checkout), press the “Create Inline Form” or “Create Checkout Form” button:
The “Payment” tab is for business related options. You can configure the payment options the form offers to customers.
Set the unique identifier of the form. The name will be used by the form shortcode to render the form, and also for referring to the form in lists.
Use alphanumerical characters for your form names. Don’t use spaces or special characters.
Inline shortcode example:
[fullstripe_form name=”yourFormName” type=”inline_payment”]
Checkout shortcode example:
[fullstripe_form name=”yourFormName” type=”popup_payment”]
You can specify how much the customer will pay:
You can specify the payment amount of these payment options in the smallest unit of the currency, so 1000 means 10,00 USD and 800 means 800 JPY (Japanese Yen).
Set amount
Select this option if you’d like to charge a preset, fixed amount:
Enter the amount in the “Payment amount” field.
Select amount from list
Select this option if you’d like the customer to choose from several products (payment amounts):
Add the products (Amount + description) to the “Payment amount options” field:
You might want to enable entering a custom amount by ticking the “Allow custom amount to be entered?” option. This is very useful for donation forms.
Custom amount
Select this option if the only required payment option is entering the payment amount manually. This is used on forms for paying invoices:
The plugin charge the payment immediately, or it can just authorize it so you can capture it later:
You can read more about authorize & capture on the Stripe website.
If a payment is authorized then you can capture it manually on the “Full Stripe / One-time payments / Payments” page in WP admin.
You can configure the description that will appear on the Stripe dashboard for the payment.
The payment description may contain placeholder tokens that are replaced with actual values after payment.
The “Appearance” tab is for configuring how your form will look like.
There are some options which are the same for both inline and checkout forms, but most of the options are different.
You can use this CSS selector to add custom styles to the form.
Please refer to the Customizing forms with CSS knowledge base article for more information.
When the form lets the customer select a product to purchase you can configure how the products list looks like.
Possible values are:
Product selector dropdown
List of products
Donation button group
The payment amount is displayed on the button when this option is turned on.
The amount is appended to the button label by default. You can use the {{amount}} placeholder to insert the payment amount wherever you see fit.
The form collects billing address when this option is turned on.
This is the label of the payment button.
The label may contain the {{amount}} placeholder if the “Include amount on button?” option is turned on:
Amount style selector
Our support team is happy to help you.
Contact support
Feature requests are always welcome!
We consider each feature request carefully, and examine how it fits the roadmap for the plugin.