Recued
Menu
← Back to recipes

Observe paid-document payment event

by recued-core v6 32 views

Use “Observe paid-document payment event” in Recued. It carries out the named workflow using the connections and settings you choose.

Complete workflow

Use Paid Document Payment Events in Recued for webhook and provider source truth. It includes 2 related packs 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.

Observe paid-document payment event
This recipe Background automation

Use “Observe paid-document payment event” in Recued. It carries out the named workflow using the connections and settings you choose.

pack:paid-document-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v6
View pack details, dependencies, and permissions →
How it works 84 steps

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

Process (84 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
■ payment_event_type compare
Check if webhook event event provider event type is one of checkout.session.completed,checkout.session.async_payment_succeeded
■ payment_resource_object_exact compare
Check if webhook event payload data object object is one of checkout.session
■ payment_session_id_exact compare
Check if webhook event payload data object id is one of webhook event event provider resource id
■ payment_session_id_prefix starts_with
Check if webhook event event provider resource id starts with cs_
■ payment_session_id_truncated truncate
Truncate webhook event event provider resource id to a max length
■ payment_session_id_bounded compare
Check if webhook event event provider resource id is one of payment session id truncated
■ order_handle_prefix starts_with
Check if webhook event payload data object client reference id starts with oh_
■ order_handle_truncated truncate
Truncate webhook event payload data object client reference id to a max length
■ order_handle_bounded compare
Check if webhook event payload data object client reference id is one of order handle truncated
■ payment_envelope_valid all
Check if all conditions are true
◆ payment_order_read core.seller.order.get
Get seller order
skip: step.payment_envelope_valid equal false
■ payment_order_found compare
Check if payment order read order exists
■ payment_phase_eligible compare
Check if payment order read order phase is one of awaiting_payment
■ payment_already_paid compare
Check if payment order read order phase is one of paid,fulfilling,approved,delivering,complete
■ payment_session_matches_order compare
Check if webhook event payload data object id is one of payment order read order provider session id
■ payment_read_allowed all
Check if all conditions are true
◆ payment_session_read recued-core.seller-stripe.checkout.session.read
Read checkout session on seller stripe
skip: step.payment_read_allowed equal false
■ session_id_matches compare
Check if payment session read result id is one of payment order read order provider session id
■ session_status_complete compare
Check if payment session read result status is one of complete
■ session_paid compare
Check if payment session read result payment status is one of paid
■ session_mode_payment compare
Check if payment session read result mode is one of payment
■ session_reference_matches compare
Check if payment session read result client reference id is one of payment order read order order handle
■ session_metadata_matches compare
Check if payment session read result metadata recued workflow key is one of payment order read order order key
■ session_amount_matches compare
Check if payment session read result amount total equals payment order read order amount minor
■ payment_order_currency_lower lowercase
Convert payment order read order currency to lowercase
■ session_currency_matches compare
Check if payment session read result currency equals payment order currency lower
■ session_payment_intent_present compare
Check if payment session read result payment intent exists
■ payment_confirm_allowed all
Check if all conditions are true
◆ confirm_payment core.seller.order.confirm-payment
Confirm payment seller order
skip: step.payment_confirm_allowed equal false
■ payment_advanced compare
Check if confirm payment order phase is one of paid
■ payment_source_mismatch all
Check if all conditions are true
■ payment_correlation_mismatch all
Check if all conditions are true
■ payment_phase_ineligible all
Check if all conditions are true
■ refund_event_type compare
Check if webhook event event provider event type is one of refund.created,refund.updated
■ refund_resource_object_exact compare
Check if webhook event payload data object object is one of refund
■ refund_resource_id_exact compare
Check if webhook event payload data object id is one of webhook event event provider resource id
■ refund_id_prefix starts_with
Check if webhook event event provider resource id starts with re_
■ refund_id_truncated truncate
Truncate webhook event event provider resource id to a max length
■ refund_id_bounded compare
Check if webhook event event provider resource id is one of refund id truncated
■ refund_payment_intent_prefix starts_with
Check if webhook event payload data object payment intent starts with pi_
■ refund_payment_intent_truncated truncate
Truncate webhook event payload data object payment intent to a max length
■ refund_payment_intent_bounded compare
Check if webhook event payload data object payment intent is one of refund payment intent truncated
■ refund_envelope_valid all
Check if all conditions are true
◆ refund_read recued-core.seller-stripe.refund.read
Read refund on seller stripe
skip: step.refund_envelope_valid equal false
■ refund_object_exact compare
Check if refund read result object is one of refund
■ refund_id_matches compare
Check if refund read result id is one of webhook event event provider resource id
■ refund_succeeded compare
Check if refund read result status is one of succeeded
■ refund_payment_intent_matches compare
Check if refund read result payment intent is one of webhook event payload data object payment intent
■ refund_payment_read_allowed all
Check if all conditions are true
◆ refund_payment_read recued-core.seller-stripe.payment.read
Read payment on seller stripe
skip: step.refund_payment_read_allowed equal false
■ refund_payment_object_exact compare
Check if refund payment read result object is one of payment_intent
■ refund_payment_id_matches compare
Check if refund payment read result id is one of refund read result payment intent
■ refund_payment_succeeded compare
Check if refund payment read result status is one of succeeded
■ refund_order_key_prefix starts_with
Check if refund payment read result metadata recued workflow key starts with ord:
■ refund_order_key_truncated truncate
Truncate refund payment read result metadata recued workflow key to a max length
■ refund_order_key_bounded compare
Check if refund payment read result metadata recued workflow key is one of refund order key truncated
■ refund_order_read_allowed all
Check if all conditions are true
◆ refund_order_read core.seller.order.get
Get seller order
skip: step.refund_order_read_allowed equal false
■ refund_order_found compare
Check if refund order read order exists
■ refund_order_payment_matches compare
Check if refund order read order provider payment id is one of refund read result payment intent
■ refund_full_amount compare
Check if refund read result amount equals refund order read order amount minor
■ refund_order_currency_lower lowercase
Convert refund order read order currency to lowercase
■ refund_currency_matches compare
Check if refund read result currency equals refund order currency lower
■ refund_phase_eligible compare
Check if refund order read order phase is one of paid,complete,needs_owner,cancelled
■ refund_already_refunded compare
Check if refund order read order phase is one of refunded
■ refund_confirm_allowed all
Check if all conditions are true
◆ confirm_refund core.seller.order.confirm-refund
Confirm refund seller order
skip: step.refund_confirm_allowed equal false
■ refund_advanced compare
Check if confirm refund order phase is one of refunded
■ refund_not_full all
Check if all conditions are true
■ refund_source_mismatch all
Check if all conditions are true
■ refund_attention_required all
Check if all conditions are true
◆ refund_owner_notification core.notification.send
Send notification
skip: step.confirm_refund is_null
◆ refund_attention_notification core.notification.send
Send notification
skip: step.refund_attention_required equal false
■ event_summary to_summary
Format results as a summary card
▼
Output
summary event_summary

Uses (8 operations)

Webhooks Get webhook event core.webhook.event.get
Selling Get seller order core.seller.order.get
Pack operation Read checkout session on seller stripe recued-core.seller-stripe.checkout.session.read
Selling Confirm payment seller order core.seller.order.confirm-payment
Pack operation Read refund on seller stripe recued-core.seller-stripe.refund.read
Pack operation Read payment on seller stripe recued-core.seller-stripe.payment.read
Selling Confirm refund seller order core.seller.order.confirm-refund
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 Selling core.seller.order.get read-only
Write Selling core.seller.order.confirm-payment external change
Write Selling core.seller.order.confirm-refund external change
Read Notifications core.notification.send external change

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

Data it touches

SurfacesWebhooksSellingNotifications
Warehousedata.object

About

Tags

pack:paid-document-eventsrecipe-role:webhookpayment-observerprovider-source-truthd-200d-207

Details

84 steps recipe_id: observe-paid-document-payment-event