Recued
Menu
← Back to recipes

Flag a refund or dispute for review

by recued-core v3 39 views

Use “Flag a refund or dispute for review” in Recued. When a Stripe charge is refunded - fully OR partially - or disputed, surface a review notice with the provider-confirmed customer id and the amount refunded, and change nothing. The notice goes to whichever notification channels you have enabled in Settings; it names none itself.

Complete workflow

Use Seller Refund & Dispute — Flag for Review in Recued for subscription, payment observer, and provider source truth. It includes 1 related pack in one install.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Flag a refund or dispute for review
This recipe Background automation

Use “Flag a refund or dispute for review” in Recued. When a Stripe charge is refunded - fully OR partially - or disputed, surface a review notice with the provider-confirmed customer id and the amount refunded, and change nothing. The notice goes to whichever notification channels you have enabled in Settings; it names none itself.

pack:seller-refund-dispute-flagrecipe-role:webhooksellersubscription
by recued-core pinned v3
View pack details, dependencies, and permissions →
How it works 53 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (53 steps)
◆ webhook_event core.webhook.event.get
Get webhook event
■ profile_exact compare
Check if webhook event delivery profile id is one of stripe.event.v1
■ decoded_schema_exact compare
Check if webhook event delivery decoded schema id is one of stripe.event.v1
■ transport_exact compare
Check if webhook event delivery transport assurance is one of authenticated
■ source_truth_policy_exact compare
Check if webhook event delivery minimum source truth policy is one of provider_readback_required
■ freshness_exact compare
Check if webhook event delivery freshness checked is one of true
■ payload_object_exact compare
Check if webhook event payload object is one of event
■ payload_event_id_exact compare
Check if webhook event payload id is one of webhook event event provider event id
■ payload_event_type_exact compare
Check if webhook event payload type is one of webhook event event provider event type
■ envelope_shared_valid all
Check if all conditions are true
■ door_id trim
Trim whitespace from setting door id
■ door_id_present compare
Check if door id has data
■ event_type_supported compare
Check if webhook event event provider event type is one of charge.refunded,charge.dispute.created
■ is_refund compare
Check if webhook event event provider event type is one of charge.refunded
■ is_dispute compare
Check if webhook event event provider event type is one of charge.dispute.created
■ refund_payload_object_exact compare
Check if webhook event payload data object object is one of charge
■ refund_resource_id_matches compare
Check if webhook event payload data object id is one of webhook event event provider resource id
■ charge_id_prefix starts_with
Check if webhook event event provider resource id starts with ch_
■ charge_id_truncated truncate
Truncate webhook event event provider resource id to a max length
■ charge_id_bounded compare
Check if webhook event event provider resource id is one of charge id truncated
◆ charge_read recued-core.seller-stripe.charge.read
Read charge on seller stripe
skip: step.is_refund equal false
■ charge_object_exact compare
Check if charge read result object is one of charge
■ charge_id_exact compare
Check if charge read result id is one of webhook event event provider resource id
■ charge_fully_refunded compare
Check if charge read result refunded is one of true
■ charge_refund_scope ternary
Apply ternary
■ defaults defaults
Apply defaults
■ charge_customer_prefix starts_with
Check if charge customer starts with cus_
■ refund_proof all
Check if all conditions are true
■ dispute_payload_object_exact compare
Check if webhook event payload data object object is one of dispute
■ dispute_resource_id_matches compare
Check if webhook event payload data object id is one of webhook event event provider resource id
■ dispute_id_prefix starts_with
Check if webhook event event provider resource id starts with du_
■ dispute_id_truncated truncate
Truncate webhook event event provider resource id to a max length
■ dispute_id_bounded compare
Check if webhook event event provider resource id is one of dispute id truncated
◆ dispute_read recued-core.seller-stripe.dispute.read
Read dispute on seller stripe
skip: step.is_dispute equal false
■ dispute_object_exact compare
Check if dispute read result object is one of dispute
■ dispute_id_exact compare
Check if dispute read result id is one of webhook event event provider resource id
■ dispute_payment_intent default
Apply default
■ dispute_pi_prefix starts_with
Check if dispute payment intent starts with pi_
■ dispute_pi_truncated truncate
Truncate dispute payment intent to a max length
■ dispute_pi_bounded compare
Check if dispute payment intent is one of dispute pi truncated
◆ dispute_payment_read recued-core.seller-stripe.payment.read
Read payment on seller stripe
skip: step.is_dispute equal false
■ dispute_payment_object_exact compare
Check if dispute payment read result object is one of payment_intent
■ dispute_payment_id_exact compare
Check if dispute payment read result id is one of dispute payment intent
■ dispute_customer default
Apply default
■ dispute_customer_prefix starts_with
Check if dispute customer starts with cus_
■ dispute_proof all
Check if all conditions are true
■ refund_flag_allowed all
Check if all conditions are true
■ refund_notice_text template
Generate text from a template
◆ notify_on_refund core.notification.send
Send notification
skip: step.refund_flag_allowed equal false
■ dispute_flag_allowed all
Check if all conditions are true
■ dispute_notice_text template
Generate text from a template
◆ notify_on_dispute core.notification.send
Send notification
skip: step.dispute_flag_allowed equal false
■ event_summary to_summary
Format results as a summary card
▼
Output
summary event_summary
Settings 1 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

door id setting = main

Uses (5 operations)

Webhooks Get webhook event core.webhook.event.get
Pack operation Read charge on seller stripe recued-core.seller-stripe.charge.read
Pack operation Read dispute on seller stripe recued-core.seller-stripe.dispute.read
Pack operation Read payment on seller stripe recued-core.seller-stripe.payment.read
Notifications Send notification core.notification.send

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Permissions it requires

Send notifications
Declared by the recipe — Recued grants these at install, where you review them before approving.

What it's allowed to do

Read Webhooks core.webhook.event.get read-only
Read Notifications core.notification.send external change

3 more aren't listed here. You'll see them at install.

Data it touches

SurfacesWebhooksNotifications
Warehousedata.object

About

Tags

pack:seller-refund-dispute-flagrecipe-role:webhooksellersubscriptionrefunddisputepayment-observerprovider-source-truthd-196

Details

53 steps 1 configurable settings recipe_id: flag-refund-or-dispute