Recued
Menu
← Back to recipes

Renew subscription access order

by recued-core v3 36 views

Use “Renew subscription access order” in Recued. It carries out the named workflow using the connections and settings you choose.

Complete workflow

Use Seller Subscription Payment Events in Recued for 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.

Renew subscription access order
This recipe Background automation

Use “Renew subscription access order” in Recued. It carries out the named workflow using the connections and settings you choose.

pack:seller-subscription-eventsrecipe-role:webhookrenewalprovider-source-truth
by recued-core pinned v3

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

pack:seller-subscription-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v4

Use “Signal access on subscription payment failure” in Recued. When a Stripe subscription invoice fails to collect, report the subscription's provider-confirmed status against the paying customer's access on this door.

pack:seller-subscription-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v2

Use “Close access on subscription cancellation” in Recued. When a Stripe subscription this server sold is deleted, close the paying customer's access on this door.

pack:seller-subscription-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v2
Swap tier on subscription change
Background automation

Use “Swap tier on subscription change” in Recued. When a Stripe subscription this server sold changes, converge the customer onto the tier their entitlements now say they hold.

pack:seller-subscription-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v2
Converge tier on entitlement change
Background automation

Use “Converge tier on entitlement change” in Recued. When a Stripe customer's active entitlement summary changes, converge their access onto the tier those entitlements now say they hold.

pack:seller-subscription-eventsrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v2
View pack details, dependencies, and permissions →
How it works 91 steps

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

Process (91 steps)
■ door_id trim
Trim whitespace from setting door id
■ door_id_present compare
Check if door id has data
⚠ input_guard guard
Stop if door id present equals
◆ 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
■ renewal_event_type compare
Check if webhook event event provider event type is one of invoice.paid
■ invoice_resource_object_exact compare
Check if webhook event payload data object object is one of invoice
■ invoice_resource_id_exact compare
Check if webhook event payload data object id is one of webhook event event provider resource id
■ invoice_id_prefix starts_with
Check if webhook event event provider resource id starts with in_
■ invoice_id_truncated truncate
Truncate webhook event event provider resource id to a max length
■ invoice_id_bounded compare
Check if webhook event event provider resource id is one of invoice id truncated
■ renewal_envelope_valid all
Check if all conditions are true
◆ invoice_read recued-core.seller-stripe.invoice.read
Read invoice on seller stripe
skip: step.renewal_envelope_valid equal false
■ invoice_object_exact compare
Check if invoice read result object is one of invoice
■ invoice_id_matches compare
Check if invoice read result id is one of webhook event event provider resource id
■ invoice_status_paid compare
Check if invoice read result status is one of paid
■ invoice_billing_reason_cycle compare
Check if invoice read result billing reason is one of subscription_cycle
■ invoice_first_period compare
Check if invoice read result billing reason is one of subscription_create
■ invoice_amount_present compare
Check if invoice read result amount paid exists
■ invoice_customer_present compare
Check if invoice read result customer exists
■ invoice_customer_prefix starts_with
Check if invoice read result customer starts with cus_
■ invoice_subscription_id default
Apply default
■ invoice_subscription_present compare
Check if invoice subscription id has data
■ invoice_subscription_prefix starts_with
Check if invoice subscription id starts with sub_
■ invoice_subscription_truncated truncate
Truncate invoice subscription id to a max length
■ invoice_subscription_bounded compare
Check if invoice subscription id is one of invoice subscription truncated
■ renewal_cycle_valid all
Check if all conditions are true
◆ subscription_read recued-core.seller-stripe.subscription.read
Read subscription on seller stripe
skip: step.renewal_cycle_valid equal false
■ subscription_object_exact compare
Check if subscription read result object is one of subscription
■ subscription_id_exact compare
Check if subscription read result id is one of invoice subscription id
■ subscription_live compare
Check if subscription read result status is one of active,trialing
■ subscription_customer_matches_invoice compare
Check if subscription read result customer is one of invoice read result customer
■ subscription_item_count count
Count items in subscription read result items data
■ subscription_single_item compare
Check if subscription item count equals 1
■ period_end_seconds_present compare
Check if subscription read result items data 0 current period end exists
■ acquisition_order_key default
Apply default
■ acquisition_order_key_present compare
Check if acquisition order key has data
■ acquisition_order_key_prefix starts_with
Check if acquisition order key starts with ord:
■ acquisition_order_key_truncated truncate
Truncate acquisition order key to a max length
■ acquisition_order_key_bounded compare
Check if acquisition order key is one of acquisition order key truncated
■ subscription_proof_valid all
Check if all conditions are true
◆ acquisition_order_read core.seller.order.get
Get seller order
skip: step.subscription_proof_valid equal false
■ acquisition_found compare
Check if acquisition order read order exists
■ acquisition_entitlement default
Apply default
■ acquisition_names_tier compare
Check if acquisition entitlement has data
■ acquisition_recurring compare
Check if acquisition order read order pricing kind is one of recurring
■ renewal_open_allowed all
Check if all conditions are true
◆ renewal_order_open core.seller.order.open
Open seller order
skip: step.renewal_open_allowed equal false
■ renewal_order_opened compare
Check if renewal order open order exists
■ renewal_already_complete compare
Check if renewal order open order phase is one of complete
■ renewal_confirm_eligible compare
Check if renewal order open order phase is one of draft
■ renewal_resume_fulfilment compare
Check if renewal order open order phase is one of paid,fulfilling
■ payment_proof_read_allowed all
Check if all conditions are true
◆ invoice_payments_read recued-core.seller-stripe.invoice_payment.search
Search invoice payment on seller stripe
skip: step.payment_proof_read_allowed equal false
■ paid_invoice_payments filter
Filter by condition
■ paid_invoice_payment_count count
Count items in paid invoice payments
■ single_paid_invoice_payment compare
Check if paid invoice payment count equals 1
■ paid_payment_invoice_matches compare
Check if paid invoice payments 0 invoice is one of invoice read result id
■ paid_payment_type_exact compare
Check if paid invoice payments 0 payment type is one of payment_intent
■ payment_intent_present compare
Check if paid invoice payments 0 payment payment intent exists
■ payment_intent_prefix starts_with
Check if paid invoice payments 0 payment payment intent starts with pi_
■ payment_intent_truncated truncate
Truncate paid invoice payments 0 payment payment intent to a max length
■ payment_intent_bounded compare
Check if paid invoice payments 0 payment payment intent is one of payment intent truncated
■ renewal_confirm_allowed all
Check if all conditions are true
◆ confirm_renewal core.seller.order.confirm-renewal-payment
Confirm renewal payment seller order
skip: step.renewal_confirm_allowed equal false
■ confirm_advanced compare
Check if confirm renewal order phase is one of paid
■ fulfil_eligible_any any
Check if any of the conditions are true
■ fulfil_allowed all
Check if all conditions are true
■ phase_before_fulfilment coalesce
Use the first available value from: confirm renewal order phase, renewal order open order phase
■ revision_before_fulfilment coalesce
Use the first available value from: confirm renewal order revision, renewal order open order revision
■ needs_fulfilling_transition all
Check if all conditions are true
◆ to_fulfilling core.seller.order.transition
Transition seller order
skip: step.needs_fulfilling_transition equal false
■ revision_before_issue coalesce
Use the first available value from: to fulfilling order revision, revision before fulfilment
■ period_end_ms math
Calculate: {{step.subscription_read.result.items.data.0.current_period_end}} * 1000
skip: step.fulfil_allowed equal false
◆ issue_access core.seller.customer-access.issue
Issue seller customer access
skip: step.fulfil_allowed equal false
■ issued_customer_present compare
Check if issue access customer customer id exists
■ link_and_close_allowed all
Check if all conditions are true
◆ link_customer core.seller.order.link-customer
Link customer seller order
skip: step.link_and_close_allowed equal false
◆ to_complete core.seller.order.transition
Transition seller order
skip: step.link_and_close_allowed equal false
■ renewal_advanced compare
Check if to complete order phase is one of complete
■ settling_payment_ambiguous all
Check if all conditions are true
■ acquisition_unresolved all
Check if all conditions are true
■ 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 (10 operations)

Webhooks Get webhook event core.webhook.event.get
Pack operation Read invoice on seller stripe recued-core.seller-stripe.invoice.read
Pack operation Read subscription on seller stripe recued-core.seller-stripe.subscription.read
Selling Get seller order core.seller.order.get
Selling Open seller order core.seller.order.open
Pack operation Search invoice payment on seller stripe recued-core.seller-stripe.invoice_payment.search
Selling Confirm renewal payment seller order core.seller.order.confirm-renewal-payment
Selling Transition seller order core.seller.order.transition
Selling Issue seller customer access core.seller.customer-access.issue
Selling Link customer seller order core.seller.order.link-customer

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there 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.open external change
Write Selling core.seller.order.confirm-renewal-payment external change
Write Selling core.seller.order.transition external change
Write Selling core.seller.customer-access.issue external change
Write Selling core.seller.order.link-customer external change

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

Data it touches

SurfacesWebhooksSelling
Warehousedata.object

About

Tags

pack:seller-subscription-eventsrecipe-role:webhookrenewalprovider-source-truthcustomer-accesssellersubscriptiond-196

Details

91 steps 1 configurable settings recipe_id: renew-subscription-access-order