Recued
Menu
← Back to recipes

Issue access for a paid order

by recued-core v4 22 views

Use “Issue access for a paid order” in Recued. It carries out the named workflow using the connections and settings you choose.

How it works 59 steps

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

Process (59 steps)
■ order_handle trim
Trim whitespace from setting order handle
■ order_handle_prefix starts_with
Check if order handle starts with oh_
■ door_id trim
Trim whitespace from setting door id
■ door_id_present compare
Check if door id has data
■ input_valid all
Check if all conditions are true
⚠ input_guard guard
Stop if input valid equals
◆ order_read core.seller.order.get
Get seller order
■ order_present compare
Check if order read order exists
⚠ order_missing_guard guard
Stop if order present equals
■ already_complete compare
Check if order read order phase is one of complete
■ phase_eligible compare
Check if order read order phase is one of paid,fulfilling
■ phase_blocked all
Check if all conditions are true
⚠ phase_guard guard
Stop if phase blocked equals
■ pricing_recurring compare
Check if order read order pricing kind is one of recurring
■ pricing_blocked all
Check if all conditions are true
⚠ pricing_guard guard
Stop if pricing blocked equals
■ entitlement_key default
Apply default
■ order_names_tier compare
Check if entitlement key has data
■ tier_missing_blocked all
Check if all conditions are true
⚠ tier_missing_guard guard
Stop if tier missing blocked equals
■ session_recorded compare
Check if order read order provider session id exists
■ session_missing_blocked all
Check if all conditions are true
⚠ session_missing_guard guard
Stop if session missing blocked equals
◆ session_read recued-core.seller-stripe.checkout.session.read
Read checkout session on seller stripe
skip: step.already_complete equal true
■ session_object_exact compare
Check if session read result object is one of checkout.session
■ session_id_exact compare
Check if session read result id is one of order read order provider session id
■ session_paid compare
Check if session read result payment status is one of paid
■ session_customer_present compare
Check if session read result customer exists
■ session_subscription_present compare
Check if session read result subscription exists
■ session_proof_exact all
Check if all conditions are true
■ session_proof_blocked all
Check if all conditions are true
⚠ session_proof_guard guard
Stop if session proof blocked equals
◆ entitlements_read recued-core.seller-stripe.active_entitlement.search
Search active entitlement on seller stripe
skip: step.already_complete equal true
■ active_entitlement_keys pluck
Extract lookup_key from each item
■ customer_entitled_to_tier compare
Check if entitlement key is one of active entitlement keys
■ entitlement_blocked all
Check if all conditions are true
⚠ entitlement_guard guard
Stop if entitlement blocked equals
◆ subscription_read recued-core.seller-stripe.subscription.read
Read subscription on seller stripe
skip: step.already_complete equal true
■ 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 session read result subscription
■ subscription_live compare
Check if subscription read result status is one of active,trialing
■ 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
■ subscription_proof_exact all
Check if all conditions are true
■ subscription_proof_blocked all
Check if all conditions are true
⚠ subscription_proof_guard guard
Stop if subscription proof blocked equals
■ period_end_ms math
Calculate: {{step.subscription_read.result.items.data.0.current_period_end}} * 1000
skip: step.already_complete equal true
■ 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, order read order revision
◆ issue_access core.seller.customer-access.issue
Issue seller customer access
skip: step.already_complete equal true
■ issued_customer_present compare
Check if issue access customer customer id exists
■ issue_blocked all
Check if all conditions are true
⚠ issue_guard guard
Stop if issue blocked equals
◆ link_customer core.seller.order.link-customer
Link customer seller order
skip: step.already_complete equal true
◆ to_complete core.seller.order.transition
Transition seller order
skip: step.already_complete equal true
■ issue_outcome ternary
Apply ternary
■ fulfilment_notice template
Generate text from a template
▼
Output
text fulfilment_notice
Settings 2 configurable

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

door id setting = main
order handle setting =

Uses (7 operations)

Selling Get seller order core.seller.order.get
Pack operation Read checkout session on seller stripe recued-core.seller-stripe.checkout.session.read
Pack operation Search active entitlement on seller stripe recued-core.seller-stripe.active_entitlement.search
Pack operation Read subscription on seller stripe recued-core.seller-stripe.subscription.read
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 Selling core.seller.order.get read-only
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

SurfacesSelling

About

Tags

recipe-role:fulfilmentprovider-source-truthcustomer-accessd-196d-207

Details

59 steps 2 configurable settings recipe_id: issue-access-for-paid-order