Documentation ⇢ Payment



MachForm 3 contains a new functionality to allow you to accept payments easily with your forms. You can charge a fixed-amount payment or a variable-amount payment, either one-time charge or recurring payments.

At the moment MachForm support PayPal, Stripe or Check/Cash to accept payments.

The Interface

The Payment Settings’ page consists of three steps of options. You can enable payment and setup your PayPal email or your Stripe API Keys on the Merchant Settings, select the currency on the Payment Options and setup prices on the Define Prices.

Enable Payment

To enable payment, simple check the “Enable Merchant” checkbox and select the merchant. Depend on the selected merchant, you will be prompted to enter your PayPal email address or your Stripe API keys.

If you have multiple prices or the total payment depends on the user’s selection, it’s a good idea to display the current total payment within the form. Simply check the “Show Total Amount” option to enable this feature. This way, your client will know exactly how much they will pay as they are filling out the form.

Merchant Settings

This is the place where you need to enter your payment credentials. Make sure to enter the correct information, so that your form will be able to accept payment correctly to your account.

- PayPal Standard

Enter the email address associated with your PayPal account and select the language to be displayed on PayPal pages. You can use any kind of PayPal accounts, either Personal, Premier or Business account.

- Stripe

Enter the keys provided by Stripe. You can see all your keys in your Stripe dashboard. Login to your Stripe account and go to Your Account -> Account Settings -> API Keys. Copy all your Live keys here.

Once you’ve enabled payments with Stripe, your customers will enter their credit card information directly on the form on your site. This allows you to create the most streamlined payment forms, without having to redirect people off your website.

- Check/Cash

There is no setting needed for this type of payment. When you select Check/Cash, it allows you to create payment forms (with option to have total calculations) without having actual payment processor integration.

Test Mode

Before going live with your form, it’s always a great idea to test the payment functionality of your form. Using the Test Mode, you can do this easily.

If you are using PayPal, all transactions will go through PayPal test server (Sandbox). You can use this to test payments without using actual money.

To access PayPal Sandbox, sign up for an account at

If you are using Stripe, all credit card transactions won’t go through the actual credit card network. Make sure to enter your Stripe Test Keys to enable test mode.

You can use some test cards numbers (provided by Stripe) to simulate a successful transaction:

Sales Tax

You can easily add sales tax charge into your form simply by entering the tax rate on your payment-setting page. Upon checkout, sales tax will automatically be added to the order total.

This feature is available for both Stripe and PayPal.

Fixed-Amount Payment

When you set the form to charge a fixed-amount payment, your clients will be charged a fixed amount per form submitted. Your client will not be able to select or change the payment amount.

Variable-Amount Payment

To charge your clients variable amounts, you can use the Variable-Amount Payment. Using this payment type, you can assign prices in the Drop Down field, Checkboxes, Multiple Choice or Price fields. The Price field allows your client to enter any amount of payment. This is useful for donation forms.

To set variable-amount prices, you need to add one or more of the following field types into your form: Checkboxes, Drop Down, Multiple Choice, Price.

At the moment you can only set any price greater than zero. Negative prices are not currently supported.

Recurring Payments and Trial Period

If you enabled the recurring payments option, your clients will be charged automatically for every period of time. If you are using PayPal, your clients can cancel the subscription from their PayPal account or you can cancel it from your PayPal account.

If you are using Stripe, you can only cancel the subscription from your Stripe dashboard.

You can enable Trial Periods to let your clients to try your subscription service before their regular subscription begin. You can set the price and duration of trial periods independently of the regular subscription price and billing cycle. Enter “0” to offer free trial.

Trial period can also being used to charge “Setup Fee” to your clients for the first month and then charge regularly for the following months.

Quantity Calculation

It’s very common to have a quantity field to calculate the total price on a form.

This functionality is not available within the payment settings page but you can simply add a “Number” field into your form and turn on “Enable as Quantity field” option on the field properties tab.

You will be able to select the target field for the calculation to be made. Each number field can be associated with any other price-enabled fields (Multiple Choice, Checkboxes, Drop Down, Price)

The total calculation will be displayed instantly as the user entered the quantity amount:

Manage Transactions

The complete detail for each payment is automatically being saved into your MachForm. You can search/sort through those payments using the filtering option within the Entry Manager.

You can also manually change the payment status. Useful when you need to refund a payment to your customer and change the payment status as well.

PCI Compliance

When you are using Stripe to collect the credit card data from your customers, MachForm does not store any credit card numbers into your server. Instead, the data is being sent using secure connection directly into Stripe’s server, which is safe and handled in PCI-DSS compliant manner.

However, when collecting credit card payments, you still need to install SSL certificate into your site and use your form using HTTPS address. This is important to ensure the security of your payment-enabled forms.

Stripe Features

Below is the list of the main payment features supported within the Stripe integration:

  • Charge One-Time Payment
  • Charge Recurring Payment, with Trial Period support
  • Track Payment Status from Entry Manager
  • Create Customers into Your Stripe account
  • Send Notification Emails only on Completed Payment
  • Collect Billing Address and Shipping Address
  • Assign fixed-amount or variable-amount price