Browse Article by Topicspaypal payment ipn submission
- Setting Up Email Notifications
- How to Let Users Update Their Form Submissions at a Later Date
- Order Form Basics
- Order Form Types
- PayPal Forms
- How to Post Submission Data to Thank You Page
- How to Set Unique Submissions on a Form
- Add a Date on Email Notification
- How to Set up Paypal Along with Other Payment Options
- How to send Submissions to Your MySQL Database Using PHP
Related Forum Questions
- Conditions to prevent duplicate submissions
- When I view submissions it does not show the full form nor are my forms emailed to me
- Google Sheets integration isn't working
- Email issue with this form
- Email submissions on forms NOT working
- Please cancel my account and refund payment. Thank you
- Please downgrade my account and refund my last payment
- Does Square offer Payment Authorization?
- How do PayPal incomplete payments work?
- Submissions quota
Paypal Incomplete Payments FAQLast Update: April 20, 2017
What is IPN?
IPN (Instant Payment Notification) is a POST message sent by Paypal (for regular merchant accounts) whenever a transaction is completed on their side. This message contains all the data regarding the payment transaction completed by a form user.
What are Incomplete Payments?
Each submission on a Paypal-integrated form is initially considered an Incomplete Payment entry. JotForm uses the IPN message to determine whether a submission's payment is successful or not. If successful, the submission is marked as completed -- the post-submission actions are then performed -- such as sending out the notifier and autoresponder emails and sending the submission data to WebHook URLs (if there is any).
If the payment is not successful, the submission remains Incomplete.
Therefore, IPN is crucial for your payment forms to work smoothly.
Completing submissions without payments
Under a form's submissions page, an Incomplete Payments button will appear in the toolbar if you have submissions that were not paid for, or whose corresponding IPN was not received by JotForm (hence the failure to be marked as completed). This button will bring up the list of the submissions with incomplete payments.
Clicking the 'complete submission' button on the list of incomplete payment submissions will NOT process payments. It will simply trigger the post-submission actions and dump the data to the submissions list, as if it was paid for (but not really).
IPN is crucial for JotForm to mark your submissions as completed if there was really a payment made. In the event that Paypal IPN was disabled at the time of submission, you can still have them marked as completed by triggering the corresponding IPNs.
Luckily, Paypal keeps a history of IPN messages sent/not sent by their server.
Under the IPN Settings page, there is a link that says IPN History page. On that page, you can find the IPN messages that were not sent -- its status should be Disabled.
Select the unsent IPNs then click Resend Selected. Doing so will allow JotForm to process the Incomplete Payments on our side (with valid payments) and finally mark them as completed.
IPN settings can be found under Profile > Instant Payment Notification preferences
For your Paypal-integrated form to work with JotForm, IPN Message Delivery needs to be enabled. Enabling IPN requires a default notification URL. You can enter any Notification URL, but for JotForm-initiated Paypal transactions, the URL will always be overridden with https://www.jotform.com/ipns/paypal.php
Keeping Message Delivery set as Enabled will ensure that Paypal works with your JotForm form.
Sending IPN to a custom URL for JotForm-initiated transactions
There are times when you want to send the IPN data to your own URL, perhaps for data processing, but you also do not want JotForm and Paypal integration to break.
This is where IPN Relay comes into play. The IPN message reaches our server first, then, if an IPN Relay URL is set, JotForm relays the message to that URL.
To set an IPN Relay URL, right-click on your Paypal field then click Show Properties. Enter your preferred URL on the field.