Recued
Menu
← Back to recipes

Issue access for paid order (Paddle)

by recued-core v3 38 views

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

How it works 58 steps

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

Process (58 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
◆ transaction_read recued-core.seller-paddle.transaction.read
Read transaction on seller paddle
skip: step.already_complete equal true
■ transaction_id_exact compare
Check if transaction read result data id is one of order read order provider session id
■ transaction_completed compare
Check if transaction read result data status is one of completed
■ transaction_customer_id_prefix starts_with
Check if transaction read result data customer id starts with ctm_
■ transaction_customer_id_truncated truncate
Truncate transaction read result data customer id to a max length
■ transaction_customer_id_bounded compare
Check if transaction read result data customer id is one of transaction customer id truncated
■ transaction_subscription_id_prefix starts_with
Check if transaction read result data subscription id starts with sub_
■ transaction_subscription_id_truncated truncate
Truncate transaction read result data subscription id to a max length
■ transaction_subscription_id_bounded compare
Check if transaction read result data subscription id is one of transaction subscription id truncated
■ transaction_item_count count
Count items in transaction read result data items
■ transaction_single_item compare
Check if transaction item count equals 1
■ transaction_product_matches_tier compare
Check if transaction read result data items 0 price product id equals entitlement key
■ transaction_proof_exact all
Check if all conditions are true
■ transaction_proof_blocked all
Check if all conditions are true
⚠ transaction_proof_guard guard
Stop if transaction proof blocked equals
◆ subscription_read recued-core.seller-paddle.subscription.read
Read subscription on seller paddle
skip: step.already_complete equal true
■ subscription_id_exact compare
Check if subscription read result data id is one of transaction read result data subscription id
■ subscription_live compare
Check if subscription read result data status is one of active,trialing
■ subscription_customer_matches compare
Check if subscription read result data customer id is one of transaction read result data customer id
■ period_end_ms date_parse
Parse subscription read result data current billing period ends at as a date
■ period_end_present compare
Check if period end ms 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
■ 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 (6 operations)

Selling Get seller order core.seller.order.get
Pack operation Read transaction on seller paddle recued-core.seller-paddle.transaction.read
Pack operation Read subscription on seller paddle recued-core.seller-paddle.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

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

Data it touches

SurfacesSelling
Warehousedata.iddata.statusdata.customer_iddata.subscription_iddata.itemsdata.current_billing_period

About

Tags

recipe-role:fulfilmentprovider-source-truthcustomer-accesssellersubscriptionprovider:paddled-196

Details

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