I have a WordPress Multisite install, one subsite has a form that when visitor fill out the form to purchase a ticket to an event the payment goes through to PayPal and PayPal shows it as complete, but the next action for the transaction is “Add Tracking” and Gravity Forms shows the payment as pending.
On other subsites I have other forms that when a visitor fills out the form and selects an item/ticket/etc for purchase the transaction goes through, Gravity Forms shows it as complete as well as PayPal, the next action for the transactions shows up as “Print Shipping Label”.
All forms are created the same way, single product fields, total field, PayPal checkout. All forms are configured similarly. PayPal is connected the same behind the scenes, since it’s a multi-site install the plugin is the same version and same code files across all sites. The PayPal checkout settings are set for “Product/Service” for all forms.
I can’t find anything that would make the one form show up differently than the other form.
Recently the one that does not receive the complete statuses back, also appears to be duplicating the entries in the WordPress database but does not send duplicate payments to PayPal.
UPDATE: So after further analysis it was determined that all forms are not receiving the complete message. I found the communication from PayPal via the API was being blocked by our Web Application Firewall. I added to the rule to allow communication from PayPal through. My load balancer now shows the requests from PayPal as being a 200 and PayPal shows in the Web Hook area that the messages are successfully delivered but Gravity Forms is not updating to show the payments as complete.