FAQ Q315: How do I setup my Stripe account to accept payments through Payment Intents API?

For general information about accepting payments in Planyo see Q121: I'd like to accept credit card payments for the reservations.

Which Stripe integration should I choose? Show
First of all, you need to select Stripe Payment Intents in the Payment processing site option on the site settings page. This payment method uses Stripe's Payment Intent object to allows your clients to carry out credit card 3D security verification with their card issuer.

In the next field, you need to enter your Stripe API secret key followed by slash, by your API publishable key, by another slash and webhook secret (see the Webhook section below). For example:

sk_BQokikJOvBiI2HlWgH4olfQ2 / pk_6pRNASCoBOKtIshFeQd4XMUh / whsec_Yq3Tc6fP4556XLdfgM9WHmjmo1r2

You can find the API credentials in your Stripe Dashboard, in the API section:

For test transactions, you should enter the test API secret and publishable key. Note that the test credentials start with sk_test_.... and pk_test_.... Please make sure to change the credentials back to production values when want to start receiving real payments.

Optionally, you can add another slash and enter switches to show additional payment data fields. To show the email address field, type 'email'. You can also tell Stripe to ask the customer for the ZIP code along with the credit card data. You can do this by entering the keyword 'zip'. Please note that Stripe doesn't always show the ZIP field with other credit card verification data.

sk_BQokikJOvBiI2HlWgH4olfQ2 / pk_6pRNASCoBOKtIshFeQd4XMUh / whsec_Yq3Tc6fP4556XLdfgM9WHmjmo1r2 / email,zip


You need to set up a Stripe webhook so we can receive transaction data and refunds. A Stripe webhooks is an endpoint that points to a script in our system so they can send us transaction updates.

You can set up the webhook in the Webhooks section of your Stripe Dashboard:

When you click Add endpoint, a pop-up window appears where you can enter the webhook settings.

In the URL to be called field enter: https://www.planyo.com/payment-stripe-intent-ipn.php

In the Filter event section, choose Select types to send and select the payment_intent.succeeded, payment_intent.payment_failed and charge.refunded events.

Once you click the Add endpoint button to submit the settings, the Signing secret section appears below Webhook details (see the picture below). Click the Click to reveal button to see the webhook secret and copy the value.

Next, go back to the Online payments page in your Planyo panel. Go to the Stripe secret key / publishable key / webhook secret field and enter the webhook secret as the third value. The webhook secret is necessary for authenticating events coming from Stripe to our system.

Dynamic 3D Security with Stripe Radar

3D Secure provides an additional layer of protection against fraudulent payments by requiring customers to complete an additional verification step with their card issuer during payment. Typically, this involves prompting the customer to enter a password associated with the card.

You can set up Radar rules in your Stripe Dashboard to control when customers are prompted to complete 3D Secure authentication, making a determination for each user based on the desired parameters.

For more information, refer Stripe's help documents on Dynamic 3D Security with Stripe Radar.