Stripe Webhook Without data

Hello,
Im facing a strange behavior. Im using webhooks to receive Stripe notifications.
But since yesterday notifications started to arrive without any data on it, causing the workflow to not run.

Backed Workflow: Stripe_New_Subscription
New purchase on stripe => WEbhook is sent to this Api Workflow => Bubble Returns
{
“status”: “NOT_RUN”,
“message”: “The condition for the workflow stripe_new_subscription is not met. Workflow won’t run”
}

This is a print of the webhook sent from Stripe:

But when looking at the Bubble Logs

There is no data on the webhook.
And this was working before.

Any idea of what could be causing it?

Double Check the name of your webhook redirect url, make sure it matches your backend workflow name. (Make everything lowercase)
Also make sure that you set up authorization correctly.

Thanks for the reply.
url and authorization are ok.

Webhook arrives at bubble but the problem is that arrives with no data, as it shows on the printscreen, it leaves Stripe ok but arrives in Bubble without data, so it cant match the conditions.

Can you share the whole logs from Bubble? Actually what I see is that payload may not match what Bubble expect.

Can you also share the “modify data/raw payload” from the backend wf ?

Here is a small part:

Full payload

Blockquote
Received request for API workflow
{
“_wf_request_data”: {
“_class”: “StaticObject”,
“data”: {
“_wf_object.id”: “”,
“_wf_object.object”: “”,
“_wf_object.account_country”: “”,
“_wf_object.account_name”: “”,
“_wf_object.account_tax_ids”: “”,
“_wf_object.application”: “”,
“_wf_object.application_fee_amount”: “”,
“_wf_object.automatic_tax.liability”: “”,
“_wf_object.automatic_tax.status”: “”,
“_wf_object.billing_reason”: “”,
“_wf_object.charge”: “”,
“_wf_object.collection_method”: “”,
“_wf_object.currency”: “”,
“_wf_object.custom_fields”: “”,
“_wf_object.customer”: “”,
“_wf_object.customer_address.city”: “”,
“_wf_object.customer_address.country”: “”,
“_wf_object.customer_address.line1”: “”,
“_wf_object.customer_address.line2”: “”,
“_wf_object.customer_address.postal_code”: “”,
“_wf_object.customer_address.state”: “”,
“_wf_object.customer_email”: “”,
“_wf_object.customer_name”: “”,
“_wf_object.customer_phone”: “”,
“_wf_object.customer_shipping”: “”,
“_wf_object.customer_tax_exempt”: “”,
“_wf_object.default_payment_method”: “”,
“_wf_object.default_source”: “”,
“_wf_object.description”: “”,
“_wf_object.discount”: “”,
“_wf_object.due_date”: “”,
“_wf_object.footer”: “”,
“_wf_object.from_invoice”: “”,
“_wf_object.hosted_invoice_url”: “”,
“_wf_object.invoice_pdf”: “”,
“_wf_object.issuer.type”: “”,
“_wf_object.last_finalization_error”: “”,
“_wf_object.latest_revision”: “”,
“_wf_object.lines.object”: “”,
“_wf_object.lines.url”: “”,
“_wf_object.next_payment_attempt”: “”,
“_wf_object.number”: “”,
“_wf_object.on_behalf_of”: “”,
“_wf_object.payment_intent”: “”,
“_wf_object.payment_settings.default_mandate”: “”,
“_wf_object.payment_settings.payment_method_options.acss_debit”: “”,
“_wf_object.payment_settings.payment_method_options.bancontact”: “”,
“_wf_object.payment_settings.payment_method_options.card.request_three_d_secure”: “”,
“_wf_object.payment_settings.payment_method_options.customer_balance”: “”,
“_wf_object.payment_settings.payment_method_options.konbini”: “”,
“_wf_object.payment_settings.payment_method_options.sepa_debit”: “”,
“_wf_object.payment_settings.payment_method_options.us_bank_account”: “”,
“_wf_object.payment_settings.payment_method_types”: “”,
“_wf_object.quote”: “”,
“_wf_object.receipt_number”: “”,
“_wf_object.rendering”: “”,
“_wf_object.rendering_options”: “”,
“_wf_object.shipping_cost”: “”,
“_wf_object.shipping_details”: “”,
“_wf_object.statement_descriptor”: “”,
“_wf_object.status”: “”,
“_wf_object.status_transitions.marked_uncollectible_at”: “”,
“_wf_object.status_transitions.voided_at”: “”,
“_wf_object.subscription”: “”,
“_wf_object.tax”: “”,
“_wf_object.test_clock”: “”,
“_wf_object.transfer_data”: “”,
“_wf_object.webhooks_delivered_at”: “”,
“body_raw_text”: “”,
“_id”: “565dc3dfd34f8d7a7a1b4348f3b68173”
},
“btype_id”: “api_wf_data.bTHpd2”
}
}

I’m on mobile so it’s a little bit hard to explain but the issue is the the payload sent doesn’t match the detected payload. Use postman or insomnia, set your backend wf in initialize mode again, copy the initialize url and the payload from stripe and send it to the initialize endpoint.

That is exactly what i did.
Copied the payload from stripe, sent using postman to initialize and map the fields.

I will try to initialize not using postman and using directly from stripe

I also duplicated the workflow and now i can see the webhook coming with data but it not matching the conditionals

Blockquote
Received request for API workflow
{
“_wf_request_data”: {
“_class”: “StaticObject”,
“data”: {
“_wf_id”: “evt_1PF6DLFz9rn0GCwuNSeS7ki0”,
“_wf_object”: “event”,
“_wf_api_version”: “2023-10-16”,
“_wf_created”: 1715396590000,
“_wf_data.object.id”: “in_1PF6DIFz9rn0GCwu5SB3THzP”,
“_wf_data.object.object”: “invoice”,
“_wf_data.object.account_country”: “BR”,
“_wf_data.object.account_name”: “Moara Digital”,
“_wf_data.object.account_tax_ids”: “”,
“_wf_data.object.amount_due”: 29900,
“_wf_data.object.amount_paid”: 29900,
“_wf_data.object.amount_remaining”: 0,
“_wf_data.object.amount_shipping”: 0,
“_wf_data.object.application”: “”,
“_wf_data.object.application_fee_amount”: “”,
“_wf_data.object.attempt_count”: 1,
“_wf_data.object.attempted”: true,
“_wf_data.object.auto_advance”: false,
“_wf_data.object.automatic_tax.enabled”: false,
“_wf_data.object.automatic_tax.liability”: “”,
“_wf_data.object.automatic_tax.status”: “”,
“_wf_data.object.billing_reason”: “subscription_create”,
“_wf_data.object.charge”: “ch_3PF6DIFz9rn0GCwu0Vtp0Qym”,
“_wf_data.object.collection_method”: “charge_automatically”,
“_wf_data.object.created”: 1715396588000,
“_wf_data.object.currency”: “brl”,
“_wf_data.object.custom_fields”: “”,
“_wf_data.object.customer”: “cus_Q5GkNXmi8w8m9E”,
“_wf_data.object.customer_address.city”: “”,
“_wf_data.object.customer_address.country”: “BR”,
“_wf_data.object.customer_address.line1”: “”,
“_wf_data.object.customer_address.line2”: “”,
“_wf_data.object.customer_address.postal_code”: “”,
“_wf_data.object.customer_address.state”: “”,
“_wf_data.object.customer_email”: “rafaelchavantes@gmail.com”,
“_wf_data.object.customer_name”: “Rafael Chavantes”,
“_wf_data.object.customer_phone”: “+5521999526598”,
“_wf_data.object.customer_shipping”: “”,
“_wf_data.object.customer_tax_exempt”: “none”,
“_wf_data.object.default_payment_method”: “”,
“_wf_data.object.default_source”: “”,
“_wf_data.object.description”: “”,
“_wf_data.object.discount”: “”,
“_wf_data.object.due_date”: “”,
“_wf_data.object.effective_at”: 1715396588000,
“_wf_data.object.ending_balance”: 0,
“_wf_data.object.footer”: “”,
“_wf_data.object.from_invoice”: “”,
“_wf_data.object.hosted_invoice_url”: “Stripe Invoice”,
“_wf_data.object.invoice_pdf”: “https://pay.stripe.com/invoice/acct_1OnkTRFz9rn0GCwu/test_YWNjdF8xT25rVFJGejlybjBHQ3d1LF9RNUdrWnhYMlhBR2tpTUlvNVhad3YxWUlsUnJNalhaLDEwNTkzNzM5MQ0200bpl5kypM/pdf?s=ap”,
“_wf_data.object.issuer.type”: “self”,
“_wf_data.object.last_finalization_error”: “”,
“_wf_data.object.latest_revision”: “”,
“_wf_data.object.lines.object”: “list”,
“_wf_data.object.lines.data”: {
“_class”: “ListWrapper”,
“query”: {
“t”: “Static”,
“data”: [
{
“_class”: “StaticObject”,
“data”: {
“_wf_id”: “il_1PF6DIFz9rn0GCwuakG71gmZ”,
“_wf_object”: “line_item”,
“_wf_amount”: 29900,
“_wf_amount_excluding_tax”: 29900,
“_wf_currency”: “brl”,
“_wf_description”: “1 × Plano Teste Daily (at R$ 299.00 / day)”,
“_wf_discountable”: true,
“_wf_invoice”: “in_1PF6DIFz9rn0GCwu5SB3THzP”,
“_wf_livemode”: false,
“_wf_period.end”: 1715482988000,
“_wf_period.start”: 1715396588000,
“_wf_plan.id”: “price_1PDoA8Fz9rn0GCwu40Fyw0k9”,
“_wf_plan.object”: “plan”,
“_wf_plan.active”: true,
“_wf_plan.aggregate_usage”: “”,
“_wf_plan.amount”: 29900,
“_wf_plan.amount_decimal”: “29900”,
“_wf_plan.billing_scheme”: “per_unit”,
“_wf_plan.created”: 1715088872000,
“_wf_plan.currency”: “brl”,
“_wf_plan.interval”: “day”,
“_wf_plan.interval_count”: 1,
“_wf_plan.livemode”: false,
“_wf_plan.meter”: “”,
“_wf_plan.nickname”: “Diaria”,
“_wf_plan.product”: “prod_Pnxaws5l4yNBcn”,
“_wf_plan.tiers_mode”: “”,
“_wf_plan.transform_usage”: “”,
“_wf_plan.trial_period_days”: “”,
“_wf_plan.usage_type”: “licensed”,
“_wf_price.id”: “price_1PDoA8Fz9rn0GCwu40Fyw0k9”,
“_wf_price.object”: “price”,
“_wf_price.active”: true,
“_wf_price.billing_scheme”: “per_unit”,
“_wf_price.created”: 1715088872000,
“_wf_price.currency”: “brl”,
“_wf_price.custom_unit_amount”: “”,
“_wf_price.livemode”: false,
“_wf_price.lookup_key”: “”,
“_wf_price.nickname”: “Diaria”,
“_wf_price.product”: “prod_Pnxaws5l4yNBcn”,
“_wf_price.recurring.aggregate_usage”: “”,
“_wf_price.recurring.interval”: “day”,
“_wf_price.recurring.interval_count”: 1,
“_wf_price.recurring.meter”: “”,
“_wf_price.recurring.trial_period_days”: “”,
“_wf_price.recurring.usage_type”: “licensed”,
“_wf_price.tax_behavior”: “unspecified”,
“_wf_price.tiers_mode”: “”,
“_wf_price.transform_quantity”: “”,
“_wf_price.type”: “recurring”,
“_wf_price.unit_amount”: 29900,
“_wf_price.unit_amount_decimal”: “29900”,
“_wf_proration”: false,
“_wf_proration_details.credited_items”: “”,
“_wf_quantity”: 1,
“_wf_subscription”: “sub_1PF6DIFz9rn0GCwuwpG80OEd”,
“_wf_subscription_item”: “si_Q5GkPDykX6JfAa”,
“_wf_type”: “subscription”,
“_wf_unit_amount_excluding_tax”: “29900”,
“body_raw_text”: “”,
“_id”: “01599841e50b6a3966e226c52a7bbde0”
},
“btype_id”: “api_wf_data.bTIYP1.data.object.lines.data”
}
],
“btype_id”: “api_wf_data.bTIYP1.data.object.lines.data”
}
},
“_wf_data.object.lines.has_more”: false,
“_wf_data.object.lines.total_count”: 1,
“_wf_data.object.lines.url”: “/v1/invoices/in_1PF6DIFz9rn0GCwu5SB3THzP/lines”,
“_wf_data.object.livemode”: false,
“_wf_data.object.next_payment_attempt”: “”,
“_wf_data.object.number”: “AFAF2C71-0001”,
“_wf_data.object.on_behalf_of”: “”,
“_wf_data.object.paid”: true,
“_wf_data.object.paid_out_of_band”: false,
“_wf_data.object.payment_intent”: “pi_3PF6DIFz9rn0GCwu0d1nY30R”,
“_wf_data.object.payment_settings.default_mandate”: “”,
“_wf_data.object.payment_settings.payment_method_options.acss_debit”: “”,
“_wf_data.object.payment_settings.payment_method_options.bancontact”: “”,
“_wf_data.object.payment_settings.payment_method_options.card.request_three_d_secure”: “automatic”,
“_wf_data.object.payment_settings.payment_method_options.customer_balance”: “”,
“_wf_data.object.payment_settings.payment_method_options.konbini”: “”,
“_wf_data.object.payment_settings.payment_method_options.sepa_debit”: “”,
“_wf_data.object.payment_settings.payment_method_options.us_bank_account”: “”,
“_wf_data.object.payment_settings.payment_method_types”: “”,
“_wf_data.object.period_end”: 1715396588000,
“_wf_data.object.period_start”: 1715396588000,
“_wf_data.object.post_payment_credit_notes_amount”: 0,
“_wf_data.object.pre_payment_credit_notes_amount”: 0,
“_wf_data.object.quote”: “”,
“_wf_data.object.receipt_number”: “”,
“_wf_data.object.rendering”: “”,
“_wf_data.object.rendering_options”: “”,
“_wf_data.object.shipping_cost”: “”,
“_wf_data.object.shipping_details”: “”,
“_wf_data.object.starting_balance”: 0,
“_wf_data.object.statement_descriptor”: “”,
“_wf_data.object.status”: “paid”,
“_wf_data.object.status_transitions.finalized_at”: 1715396588000,
“_wf_data.object.status_transitions.marked_uncollectible_at”: “”,
“_wf_data.object.status_transitions.paid_at”: 1715396589,
“_wf_data.object.status_transitions.voided_at”: “”,
“_wf_data.object.subscription”: “sub_1PF6DIFz9rn0GCwuwpG80OEd”,
“_wf_data.object.subtotal”: 29900,
“_wf_data.object.subtotal_excluding_tax”: 29900,
“_wf_data.object.tax”: “”,
“_wf_data.object.test_clock”: “”,
“_wf_data.object.total”: 29900,
“_wf_data.object.total_excluding_tax”: 29900,
“_wf_data.object.transfer_data”: “”,
“_wf_data.object.webhooks_delivered_at”: 1715396588000,
“_wf_livemode”: false,
“truncation_message”: “Truncated object of 107 to 100 items”
},
“btype_id”: “api_wf_data.bTIYP1”
}
}
stripe_new_subscription_copy and Request Data’s object billing_reason is subscription_created and Request Data’s object status is paid
Anonymous user
no_user
5/11/2024, 12:03:11 AM
Started running workflow
stripe_new_subscription_copy and Request Data’s object billing_reason is subscription_created and Request Data’s object status is paid
Anonymous user
no_user
5/11/2024, 12:03:11 AM
Event condition not passed

With the new data initialized, old conditions or fields will need to be updated with the correct payload

Already did that, but the payload was exactly the same

New payload

This topic was automatically closed after 70 days. New replies are no longer allowed.