Integrates PayPal payments and Credit Cards payments (Stripe, Braintree) into BA Book Everything plugin. Stripe integration supports 3D Secure card payments, Apple Pay, Google Pay, Strong Customer Authentication (from version 2.0.0). To use Apple Pay, you need to register with Apple, as described in Stripe Documentation.

After activating the plugin, add your payment settings on “BA Settings” page on the WP dashboard.

From the version 2.0.0 the plugin requires:

  • PHP 7.4 or higher
  • Stripe: activated events payment_intent.succeeded, payment_intent.payment_failed in the webhook
  • Stripe: webhook endpoint secret (go to the Stripe Developer Dashboard, create or open “BA Book Everything” webhook, click “Reveal” under the “Signing secret” to recreate and show the secret)

From the version 2.2.0 the PayPal Checkout standard integration is added to replace deprecated redirect integration (redirect integration will be removed from version 3).
Product is subject to a yearly license for support and automatic updates.

Solving IPN issues

There are two possible cases that may indicate that there is an issue with your IPN settings:

  • You have not received an order confirmation email (however, you receive other emails from your site, i.e. sending emails is working)
  • The order remains in the payment_processing or draft status after payment and is eventually deleted from the system

To fix the Stripe IPN issue:
1. Make sure you are using the latest version of “BA Book Everything” plugin and “BABE Payment pack” plugin
2. Go to “BA Settings” > “Payments” site admin menu and get the webhook endpoint URL in the Stripe section (https://{your_site_domain}/babe-api/ipn_stripe)
3. In your Stripe dashboard remove all old webhook URLs
4. Add a new webhook endpoint URL into your Stripe dashboard and activate events: payment_intent.succeeded, payment_intent.payment_failed
5. In the “BA Settings” > “Payments” site admin menu add the webhook endpoint secret that was generated in Stripe dashboard when the new webhook was created
6. Turn on the debug mode in the wp-config.php on the site (https://developer.wordpress.org/advanced-administration/debug/debug-wordpress)
In the debug mode the BABE Payment pack add-on will log all data received from the Stripe server
7. Make a test checkout with payment on the site
8. Check the order status, it should be “payment_received”
9. Go to the Stripe webhook dashboard, investigate the IPN messages and resend the webhook message (“Resend” button)
10. Check the debug.log file for possible errors and received data from the Stripe API

To make things work properly the webhook should be set correctly in the Stripe dashboard, the Stripe credentials should be added into the “BA Settings” > “Payments” site admin menu, and the IPN URL https://{your_site_domain}/babe-api/ipn_stripe need to be accessible.

When you open the link {your_site_domain}/babe-api/ipn_stripe you should see a blank page with the error code 400, other responses are incorrect.

To fix the PayPal IPN issue, make sure all settings are correct.

Go to the “BA Settings” > “Payments” admin menu, find the PayPal gateway section and choose the “Checkout standard” integration type.
Below this setting you have to select if you want to use PayPal in a sandbox or live mode, and add your PayPal REST API Credentials by following links in the description of REST API fields.
To do so you need to create an app into your PayPal account, and add the webhook endpoint URL which you can see in your site dashboard into your PayPal app settings (the URL looks like https://{your_site_domain}/babe-api/ipn_paypal).

To make things work properly the webhook should be set correctly in the PayPal dashboard, the PayPal credentials should be added into the “BA Settings” > “Payments” site admin menu, and the IPN URL https://{your_site_domain}/babe-api/ipn_paypal need to be accessible.
When you open the link {your_site_domain}/babe-api/ipn_paypal you should see a blank page with the number -1, other responses are incorrect.

Also please check the following links to the PayPal documentation for details: