PayPal Core Payments

PayPal Core Payments lets any form in Ninja Forms take payments through your own PayPal account. There is no add-on to buy and no license or subscription to purchase. Instead, Ninja Forms collects a 1.9% fee on each transaction. PayPal, Pay Later, Venmo, and credit / debit card payments are all supported. Apple Pay and Google Pay are coming soon.

Before You Start

  • Ninja Forms 3.16.0 or later. PayPal Core Payments is part of the free plugin.
  • A PayPal account that can receive payments. You can create one during the connection step if you do not have one yet.
  • No PayPal add-on active. If the PayPal Checkout add-on or a legacy PayPal connection is active on your site, the Payments page does not appear and nothing changes for you. See Using the PayPal Checkout Add-on? below.

What It Costs

Each payment includes a 1.9% Ninja Forms transaction fee plus PayPal’s own processing fee (standard for any transaction processed through PayPal). No add-on, license, or subscription is required. You can begin collecting payments on your site with zero up front cost.

When you refund a payment, PayPal returns the Ninja Forms fee in proportion to the amount refunded. Your visitors’ card and payment details stay with PayPal and never touch your site.

Connect Ninja Forms to Your PayPal Account

  1. In WordPress go to Ninja Forms > Payments.
  2. Click Connect to PayPal. PayPal’s own window opens over the page.
  3. Sign in to PayPal, or create an account, and grant the permissions PayPal asks for.
  4. Finish in PayPal’s window or close it. The Payments page updates by itself once PayPal confirms your account and shows Connected.

You never enter API keys. The site asks PayPal which account was linked, so you are connected even if PayPal’s window ends on its own dashboard instead of returning you to your site.

Once connected, the PayPal Core Payments panel shows the connected PayPal account and the permissions granted: accept payments on your forms, send refunds to your customers, the 1.9% Ninja Forms transaction fee, and check your account status. The site can only ever do what is listed there.

PayPal must allow your account to receive payments before a form can take money. If it does not, the Payments page tells you why in PayPal’s own words: the account has a restriction, its email address is not confirmed, or the site’s permission has been removed. Resolve it in PayPal, then return to the Payments page or click Refresh Connection.

Set Up a Form to Take Payments

Add a PayPal Core Payments Action

  1. Open the form in the builder and go to Emails & Actions.
  2. Click the blue + button and choose PayPal Core Payments.
  3. Configure the action as described below, click Done, then Publish.

Keep the Record Submission action on the form. The payment is recorded on the submission it creates.

Configure the Action

  • Get Total From: where the amount comes from. Fixed Amount charges the same amount every time. Calculation uses a calculation from the form’s Advanced > Calculations settings. Field uses the value of a field on the form.
  • Enable Payment Options: PayPal is always offered. Turn on Credit & Debit Cards and Pay Later (both on by default) and Venmo (off by default) to offer them as well. Pay Later includes PayPal Credit. Turning an option on lets PayPal offer it; which options a visitor actually sees depends on your PayPal account and the visitor’s location. Venmo, for example, is only available in the United States.
  • Buyer Email: optional. Choose an email field on the form so PayPal’s sign-in is already filled in for the visitor. Accepts merge tags, so you can pick the field from the merge tag list.
  • Item Name: optional. What PayPal’s checkout shows the visitor as the item being paid for. Defaults to the form’s title. Accepts merge tags, so the name can include a field value, such as the ticket type or product the visitor chose.

The action’s About this payment note repeats the fee so it is always in view where the charge is configured.

What Your Visitor Sees

When a visitor submits the form, it pauses and shows “Almost done! Select your preferred payment option below to complete your payment.” with PayPal’s payment buttons underneath. The visitor pays without leaving the page. Once PayPal confirms the payment, the form finishes submitting and shows your success message.

If the visitor closes PayPal without paying, the form tells them the payment was cancelled and they can approve it again. If PayPal refuses the payment, the form says they have not been charged and they can try another option. Their answers stay in the form in both cases.

Payment Status on Submissions

Every submission from a form with a PayPal Core Payments action has a PayPal Payment panel under Ninja Forms > Submissions. It shows the status, the total, the transaction and order IDs, and a link to the payment in your PayPal account.

StatusWhat it means
Not paidThe form was submitted and the visitor was asked to pay, but PayPal has not taken the money. If the visitor pays later, the status changes to Completed.
Not paid, PayPal did not take the paymentPayPal refused the payment or could not offer it. No money moved.
PendingPayPal is holding the payment for review. The status updates once PayPal finishes.
CompletedPayPal took the payment.
Refunded or Partially refundedYou refunded the payment from your PayPal account. The amount refunded is shown.
Needs checking, amount not confirmedThe amount PayPal captured did not match the amount the form charged. Check the payment in your PayPal account before contacting the visitor.

Refunds

Refund from your own PayPal account, in full or in part, as you would for any PayPal payment. The submission’s status changes to Refunded or Partially refunded with the amount the next time it is opened; the site checks with PayPal at most once every five minutes. The Ninja Forms fee is returned in proportion automatically.

Disconnecting

Go to Ninja Forms > Payments and click Disconnect. The site stops taking payments through that account at once: forms with a PayPal Core Payments action tell visitors that payment is temporarily unavailable, and their submissions are recorded as Not paid. You can connect again at any time.

Disconnecting removes the account from your site, but PayPal does not let Ninja Forms remove the permission on its side. The note shown after you disconnect links to the page in your PayPal account where you can remove Ninja Forms from your permissions.

Using the PayPal Checkout Add-on?

Nothing changes. Where the PayPal Checkout add-on or a legacy PayPal connection is active, the Payments page is not shown and the PayPal Core Payments action is not offered. Your forms keep working as they do today, with no per-transaction fee and no migration required.

Troubleshooting

  • I finished in PayPal but its window is still open. As soon as the Payments page says your account is connected, you are done. Finish in PayPal’s window or close it.
  • PayPal never sent me back to my site. It does not need to. The site asks PayPal which account was linked, so you are connected the next time the Payments page opens at the latest.
  • It says I left PayPal before granting permissions. PayPal reported that no account was linked. Click Connect to PayPal and start again.
  • I am connected but cannot take payments yet. PayPal requires that the account can receive payments, that its email address is confirmed, and that the site’s permission is still granted. The Payments page names which one is missing. Fix it in PayPal, then click Refresh Connection.
  • I turned on Credit & Debit Cards and no card button appears. Card payments need PayPal’s approval for your account. Turning the option on lets PayPal offer it; PayPal decides whether it can.
  • Where is the PayPal Credit option? It is part of Pay Later. Turning Pay Later on or off does the same for PayPal Credit.
  • Where is my money? In your PayPal account. Payments never pass through Ninja Forms.
  • I disconnected, but PayPal still lists Ninja Forms. Expected. Remove Ninja Forms from your permissions inside your PayPal account; the note shown after disconnecting links to that page.

Still stuck? Contact Ninja Forms support with the form name and, for a payment question, the submission’s transaction ID.


Was this article helpful?

Related articles: