Payfast is a popular online payment solution for individuals, businesses, and nonprofits in South Africa. With Jotform’s Payfast integration, you can easily connect your forms to Payfast and start accepting secure online payments.
Jotform’s Payfast payment forms let you sell products and services, collect donations, or offer subscriptions—all in South African rand (ZAR). Just build your form, link your Payfast account, and publish it. Once it’s live, you’re ready to accept payments from anyone, anywhere, with payouts sent directly to your bank account.
Note
You can enable the supported payment methods in the Payment Settings of your Payfast Account Dashboard. Payfast supports instant, secure money transfers and offers multiple ZAR-based payment methods—including credit and debit cards, Instant EFT, SnapScan, Mobicred, MoreTyme, and more—making it easy to accept payments online. Check out this support article from Payfast on enabling payment methods to learn more.
Adding and Setting up the Payment Field
Whether you’re creating a new form or updating an existing one, it’s easier than you think add and set up the Payfast payment field on your form. Here’s how to do it:
- In Form Builder, click on Add Element on the left side of the page.
- Now, in the Form Elements menu, under the Payments tab, search for Payfast and click on it. Or, just drag and drop it to where you want it to be on your form.
- Next, in the Payfast Integration window that opens on the right side of the page, enter the Merchant ID in the input box at the top from your Payfast account and the Merchant Key and Passphrase associated with it in the Gateway Credentials section. If you’re not sure how to get those, check out these support articles from Payfast on Where is my Merchant ID and Key and How do I enable a passphrase on my Payfast account to learn where to find them.
- Then, in the Payment Type Dropdown menu, select what you’d like the payment to be processed for:
- Sell Products — This is selected by default. Use this to sell physical or digital goods at a fixed price, allowing customers to make a one-time purchase.
- Sell Subscriptions — Choose this to charge customers on a recurring basis for services, memberships, or other ongoing access.
- User-Defined Amount — This lets customers enter the amount they want to pay. It’s useful for tipping, custom amount pricing, or flexible payments.
- Collect Donations — Select this to accept voluntary contributions, commonly used for fundraising, nonprofit support, or charitable causes.
- Once everything is set for the Sell Products and Sell Subscriptions payment types, click on Continue to start creating products and subscriptions for your payment field. For the User Defined Amount and Collect Donations payment types, just click on Save at the bottom.
When setting up your products and subscriptions, you might also want to check out these guides:
- Setting Up Your First Order Form
- How to Set Up a Recurring Payment Option
- How to Add Options to Payment Forms
- How to Add Coupon Code to Payment Forms
- How to Add Tax to Your Payment Form
- How to Add Shipping Cost to Payment Forms
- How to Generate an Invoice for Your Payment Form
- How to Enable and Manage Product Stocks in Payment Fields
For the User Defined Amount and Collect Donations payment types, you can enter a description that’ll appear under the payment box on your form. You can also provide a suggested amount and set it as minimum or get the price from a Form Calculation widget, which is useful when you want to pass a calculated amount to your payment field instead of getting it from users. Need help getting started? See our guide on How to Pass a Calculation to a Payment Field.
When you expand the Additional Gateway Settings of the Payfast Integration section, you’ll see this list of options you can adjust based on the payment type you chose:
- Customer Name Field — Choose a Full Name field to send your customer’s name to Payfast as part of the billing info.
- Customer Email Field — Pick an Email field to include your customer’s email address in the billing details.
- Customer Phone — Select a Phone field to pass along your customer’s phone number to Payfast.
- Use Field as Billing Address — Select an Address field to send the billing address of your customer to Payfast as billing information.
- Custom Data Field — Select a Short Text field or Unique ID widget to send any custom data you want included in the billing info.
- Show Total Price on the Form — This is only available with the Sell Products payment type and is enabled by default. You can toggle this Off if you want to hide the total price of selected products on your form.
- Users Can Select Multiple Products — This is only available with the Sell Products payment type and is enabled by default. You can toggle this Off if you want customers to select only one (1) product per submission.
- Sandbox Mode — This enables testing transactions without processing real payments. When enabled, you must use your Merchant ID, Merchant Key, and Passphrase from your Payfast Sandbox account.
- Clickable Image Preview — This is only available with the Sell Products and Sell Subscriptions payment types and is enabled by default. You can toggle this Off to prevent customers from enlarging product or subscription images.
- Show Decimals on the Form — This is only available with the Sell Products and Sell Subscriptions payment types and is enabled by default. You can toggle this Off to hide decimals on both the item prices and total amount.
- Decimal Separator — When decimals are shown on your payment field, you can select between a period, which is used in English-speaking countries, or a comma, which is used in many European countries.
Setting Up Payfast with Reusable Payment Connections
Reusable Payment Connections is a feature that lets you set up Payment Processor Integrations, like Payfast, once, with the same payment gateway credentials and configuration, and then use them across different assets in your account, such as Forms and Apps.
Whether you are creating a new form or updating an existing one, It only takes a minute to add a payment field and set up a Payfast Reusable Payment Connection. Here’s what you’ll do:
- In Form Builder, click on Add Element on the left side of the page.
- Now, in the Form Elements menu, under the Payments tab, search for Payfast and click on it. Or, just drag and drop it to where you want it to be on your form.
- Then, in the Payment Properties section that opens on the right side of the page, click on the Plug icon to add a reusable Payfast payment connection.
- Next, in the Add Payfast Connection window, click on Test Mode or Live Mode at the top to select which environment you’re adding a payment connection for.
- Then, in the Connection Name section, enter a name you haven’t used in other reusable payment connections in your account, if there are any.
- After that, enter the Merchant ID, Merchant Key and Passphrase from your Payfast account and click on the blue Connect with Payfast button. If you’re not sure how to get those, check out these Payfast articles on Where is my Merchant ID and Key and How do I enable a passphrase on my Payfast account to learn where to find those. And if you’re setting up the payment connection for a Test Mode environment, you can get them from your Payfast Sandbox account.
- Once it is connected successfully, click on Save at the bottom to add the reusable payment connection to your account.
If you have other existing payment connections saved in your account, you can search for the Payfast payment connection you’ve just added in the Payment Connections window, click on to select it, and then click on Use at the bottom.
- In the Payment Properties window on the right side of the page, click on the Payment Type Dropdown menu and select the option you’d like the payment to be processed for:
- Sell Products — This is selected by default. Use this to sell physical or digital goods at a fixed price, allowing customers to make a one-time purchase.
- Sell Subscriptions — Choose this to charge customers on a recurring basis for services, memberships, or other ongoing access.
- User-Defined Amount — This lets customers enter the amount they want to pay, useful for tipping, custom amount pricing, or flexible payments.
- Collect Donations — Select this to accept voluntary contributions. It’s commonly used for fundraising, nonprofit support, or charitable causes.
You can also adjust these other gateway settings if needed:
- Ask Customer Information — Along with the transaction details, you can toggle this On, match them to supported form fields, and send the following billing information to Payfast:
- Customer Name Field — Select a Full Name field to match this billing field.
- Customer Email Field — Select an Email field to match this billing field.
- Customer Phone — Select a Phone field to match this billing field.
- Use Field as Billing Address — Select an Address field to match this billing field.
- Custom Data Field — Select a Short Text field or a Unique ID widget to match this billing field.
Once everything is set, on the right side of the field, and depending on the type of payment you chose in the Payment Properties window above:
- Click on the Shopping Cart icon to set up your Products.
- Click on the Stacked Coins icon to set up Subscriptions.
- Click on the Money Token icon to set up User-Defined Amounts.
- Click on the Heart icon to set up Donations.
Making Payments with Payfast
Payfast integration works as an off-form payment, meaning users are redirected to the Payfast payment page to complete their transaction. Here’s what the process looks like when paying for a subscription item:
Send Comment: