[New Plugin] Update to Stripe Identity API 🎁

Hi everyone,

Recently Stripe reached out for a meeting to sit down and talk about Stripe Identity, how users are using the plugin, and the feedback I’ve heard. Following a great conversation with their Identity Engineer, it was asked to update the plugin to the newer stripe version of identity to v5.

I’ve also become a Stripe Partner :v:, so if you’re someone who is curious and looks at the ‘plugin code’, you’ll see a ‘user-agent’ in the header of the api calls. This is simply for tracking purposes for Stripe, and doesn’t collect any personal data.

Stripe recommends using webhooks to watch for the status of the verification, as the verification process for documents can take anywhere between 1-3 minutes. More info here on that.

If you’ve used the previous plugin in the past, and have feedback, please reach out! Feedback on this new one is also appreciated. :slightly_smiling_face:



Please note: the old plugin has been renamed with “deprecated” in the title. This will allow users who have the previous plugin to migrate to the new one, without interrupting their apps by just deleting the plugin.



Hey man,

How does this compare to a service like Persona?

Hey @eli! :slight_smile:

Good question. I had never heard of Persona, but reading over their docs, it’s very similar. I’m sure Persona has a few more bells and whistles than what I’ve read so far in comparison to Stripe.

Comparing the two, both have a few options for initializing. (Modal and redirect)

Both check documents (passport, drivers license, selfie checks, etc)

Very cool! I’ve used Persona a couple times but hadn’t heard of Stripe verification so was curious. Looks like the Stripes is hosted on a stripe page? That would be a bit simpler than Persona

Nice! Yeah it’s their own Stripe hosted page. I might work on the modal portion in the future, but wanted to just get the update out there in the mean time.

Hi @lantzgould

What am I doing that’s wrong, please?

I get this error:

I also tried it with “[require_matching_selfie]” and got this error below.

Screenshot 2021-06-22 164628

Thanks in advance.

Hi there,

The plugin is just looking for a true or false value when using the action of Create a Verification Session with Selfie Check.

Hi @lantzgould

That worked! :slightly_smiling_face: Thanks very much for the timely response.


1 Like

We were going to be using TrustID but I stumbled upon your plugin and this seems the way to go. I’m running into an issue around authentication/API key though:

The service Stripe Identity API v2 - Create a VerificationSession with Selfie Check just returned an error (HTTP 401). Please contact the plugin author directly for feedback.

You did not provide an API key. You need to provide your API key in the Authorization header, using Bearer auth

I’ve triple-checked the live and test API is entered from Stripe. Do you have any tips to help nudge me along?

TIA, Steve

Hi @Steve_S,

Could you send a few screenshots of your setup? Feel free to PM me if you don’t wish to share publicly.

Thank you! Here are screenshots for the plugin setup, workflow (triggered by a button press - only a quick test workflow) and the Stripe API test page.

@Steve_S Ah, use your Stripe Secret keys with the word ‘Bearer’ in front, followed by a space.

Eg. Bearer sk_123123123123

Ah! How did I miss that!? Thank you, that has it working. I’m not going to sort Webhooks to update Bubble (or poke Bubble when there’s an update) to get the status.

Glad to hear! Let me know if I can be of further help. :slightly_smiling_face:

1 Like

I can’t seem to get the webhook to work either. I’m trying in Test Mode, when Bubble takes me to the Verification page I chose Verified and it shows in Stripe as verified but the webhook is not triggered. Bubble API is enabled with the table selected. The API endpoint is setup and the config of this worked when I set it up as I received the JSON response. It just doesn’t appear to be triggered by Stripe. Maybe I’m being impatient and they’re slower to trigger in test?

I had the same question at first, too. Stripe says the Verification Checks are asynchronous, which means that verification results aren’t immediately available. Can take up to 3 mins for the webhook to respond with the results, depending on a wide range of parameters (eg. country, type of doc, etc.)

In Bubble, for the Backend API, choose the Detect Request Data. Ensure when you’re setting up your webhook in Stripe, that you include the ‘initialize’ url, send a test, then remove the ‘initialize’ from the url from stripe.

Yeah, that’s what I did (re Detect Request Data, with initialize and then remove). Frustrating as it is so close! Thanks for confirming that I’m not going mad. I’ll leave it for now and see if it springs into life when I’m not looking.

1 Like

Sounds good! If you want to check your sanity, here’s a good video explaining an example stripe webhook setup and with retrieving info.


Do you know how I can use the Stripe CLI to set up the webhook? Stripe has temporarily disabled [for the past month] the ability to easily send test data to initialize a webhook.

Also, do you know how I can retrieve the selfie from the ID verification process? I see that it is stored in Stripe, but I need to put it in the Bubble database. The reason being that my app has to do bars/nightclub lines, so I want to show the selfie the user took to be on the screen when the user shows their ticket to get in, that way the bouncer can verify the selfie matches the person with the phone in their hand, just in case anyone tries to be smart and log in to their friend’s account that is 21+.

@lantzgould I have your plugin working perfectly but does your plugin have the ability to retrieve the verification results, i.e Name and address. If not, any recommendation on getting it?

1 Like