Recued
Menu
← Back to recipes

Open one-time pass order

by recued-core v3 58 views

Use “Open one-time pass order” in Recued. It carries out the named workflow using the connections and settings you choose.

Complete workflow

Seller One-Time Pass 4 pinned recipes

Use Seller One-Time Pass in Recued for customer access and provider source truth: the pass order, its own payment observer, and the pass issue with its claim link. 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.

Open one-time pass order
This recipe Background automation

Use “Open one-time pass order” in Recued. It carries out the named workflow using the connections and settings you choose.

recipe-role:origindurable-coordinatorcheckout-createcheckout-link-mail
by recued-core pinned v3
Observe seller pass payment event
Background automation

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

pack:seller-one-time-passrecipe-role:webhookpayment-observerprovider-source-truth
by recued-core pinned v3

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

recipe-role:fulfilmentprovider-source-truthcustomer-accesspass
by recued-core pinned v3
Close a resolved access order
Background automation

Use “Close a resolved access order” in Recued. Owner-attended close for one access order stranded in needsowner - the state a fulfilment leaves behind when the customer access was issued but the claim-link email could not be delivered. Moves needsowner to complete and clears the order error code.

recipe-role:recoveryowner-attendedcustomer-accessorder-lifecycle
by recued-core pinned v2
View pack details, dependencies, and permissions →
How it works 148 steps

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

Data fetch
▼ form_response core.data.form-response.get
Get data form response
▼
Process (147 steps)
■ submission_id default
Apply default
■ submission_present compare
Check if submission id has data
■ visitor_email default
Apply default
■ has_visitor_email compare
Check if visitor email has data
■ visitor_email_has_at compare
Check if visitor email contains @
■ visitor_email_truncated truncate
Truncate visitor email to a max length
■ visitor_email_bounded compare
Check if visitor email is one of visitor email truncated
■ door_id trim
Trim whitespace from setting door id
■ door_id_present compare
Check if door id has data
■ offer_id trim
Trim whitespace from setting seller offer id
■ offer_id_lowercase lowercase
Convert offer id to lowercase
■ offer_id_truncated truncate
Truncate offer id to a max length
■ offer_id_present compare
Check if offer id has data
■ offer_id_bounded compare
Check if offer id equals offer id truncated
■ offer_id_is_lowercase compare
Check if offer id equals offer id lowercase
■ stripe_connection_name default
Apply default
■ stripe_connection_name_truncated truncate
Truncate stripe connection name to a max length
■ stripe_connection_name_present compare
Check if stripe connection name has data
■ stripe_connection_name_bounded compare
Check if stripe connection name equals stripe connection name truncated
■ checkout_success_url_https starts_with
Check if setting checkout success url starts with https://
■ checkout_success_url_truncated truncate
Truncate setting checkout success url to a max length
■ checkout_success_url_bounded compare
Check if setting checkout success url equals checkout success url truncated
■ checkout_cancel_url_https starts_with
Check if setting checkout cancel url starts with https://
■ checkout_cancel_url_truncated truncate
Truncate setting checkout cancel url to a max length
■ checkout_cancel_url_bounded compare
Check if setting checkout cancel url equals checkout cancel url truncated
■ checkout_expiry_hours_number to_number
Convert setting checkout expiry hours to a number
■ checkout_expiry_minimum compare
Check if checkout expiry hours number is at least 0.5
■ checkout_expiry_maximum compare
Check if checkout expiry hours number is at most 24
■ checkout_expiry_seconds_number math
Calculate checkout expiry hours number times 3600
■ checkout_expiry_seconds_floor math
Calculate checkout expiry seconds number floor
■ checkout_expiry_whole_seconds compare
Check if checkout expiry seconds number equals checkout expiry seconds floor
■ checkout_expiry_valid all
Check if all conditions are true
■ checkout_expiry_window_ms math
Calculate checkout expiry seconds floor times 1000
■ checkout_link_mail_subject_template trim
Trim whitespace from setting checkout link email subject
■ checkout_link_mail_subject_template_present compare
Check if checkout link mail subject template has data
■ checkout_link_mail_subject_template_truncated truncate
Truncate checkout link mail subject template to a max length
■ checkout_link_mail_subject_template_bounded compare
Check if checkout link mail subject template is one of checkout link mail subject template truncated
■ checkout_link_mail_subject_template_has_lf compare
Check if checkout link mail subject template contains
■ checkout_link_mail_subject_template_has_cr compare
Check if checkout link mail subject template contains
■ checkout_link_mail_subject_template_without_product replace
Replace text in checkout link mail subject template
■ checkout_link_mail_subject_template_has_unknown_open compare
Check if checkout link mail subject template without product contains [[
■ checkout_link_mail_subject_template_has_unknown_close compare
Check if checkout link mail subject template without product contains ]]
■ checkout_link_mail_body_template trim
Trim whitespace from setting checkout link email body
■ checkout_link_mail_body_template_present compare
Check if checkout link mail body template has data
■ checkout_link_mail_body_has_url_placeholder compare
Check if checkout link mail body template contains [[checkout_url]]
■ checkout_link_mail_body_template_truncated truncate
Truncate checkout link mail body template to a max length
■ checkout_link_mail_body_template_bounded compare
Check if checkout link mail body template is one of checkout link mail body template truncated
■ checkout_link_mail_body_template_without_product replace
Replace text in checkout link mail body template
■ checkout_link_mail_body_template_without_url replace
Replace text in checkout link mail body template without product
■ checkout_link_mail_body_template_has_unknown_open compare
Check if checkout link mail body template without url contains [[
■ checkout_link_mail_body_template_has_unknown_close compare
Check if checkout link mail body template without url contains ]]
■ checkout_link_mail_templates_preflight_valid all
Check if all conditions are true
■ input_valid all
Check if all conditions are true
⚠ input_guard guard
Stop if input valid equals
◆ offer_read core.seller.offer.get
Get seller offer
■ offer_found compare
Check if offer read offer exists
■ offer_active all
Check if all conditions are true
■ offer_fixed compare
Check if offer read offer pricing kind is one of fixed
■ offer_priced compare
Check if offer read offer amount minor exists
■ entitlement_key default
Apply default
■ entitlement_key_trimmed trim
Trim whitespace from entitlement key
■ entitlement_key_present compare
Check if entitlement key trimmed has data
■ offer_product_name default
Apply default
◆ tier_read core.seller.tier.get
Get seller tier
■ tier_found compare
Check if tier read tier exists
■ tier_active all
Check if all conditions are true
■ order_open_allowed all
Check if all conditions are true
◆ order_open core.seller.order.open
Open seller order
skip: step.order_open_allowed equal false
■ order_opened compare
Check if order open order exists
■ order_fixed compare
Check if order open order pricing kind is one of fixed
■ order_currency_lower lowercase
Convert order open order currency to lowercase
■ order_has_no_session compare
Check if order open order provider session id is missing
■ now_iso date_add
Add 0 seconds to
■ now_ms date_parse
Parse now iso as a date
■ checkout_expires_at_ms_raw math
Calculate now ms plus checkout expiry window ms
■ checkout_expires_at_seconds_raw math
Calculate checkout expires at ms raw divided by 1000
■ checkout_expires_at_seconds math
Calculate checkout expires at seconds raw floor
■ checkout_expires_at_ms math
Calculate checkout expires at seconds times 1000
■ checkout_create_allowed all
Check if all conditions are true
◆ checkout_session_create recued-core.seller-stripe.checkout.session.create
Create checkout session on seller stripe
skip: step.checkout_create_allowed equal false
■ provider_session_id default
Apply default
■ provider_session_id_truncated truncate
Truncate provider session id to a max length
■ provider_session_id_bounded compare
Check if provider session id is one of provider session id truncated
■ provider_session_id_prefix starts_with
Check if provider session id starts with cs_
■ provider_session_id_valid all
Check if all conditions are true
■ provider_mode_matches compare
Check if checkout session create result mode equals payment
■ provider_client_reference_matches compare
Check if checkout session create result client reference id equals order open correlation client reference id
■ provider_metadata_matches compare
Check if checkout session create result metadata recued workflow key equals order open correlation session metadata order key
■ provider_amount_matches compare
Check if checkout session create result amount total equals order open order amount minor
■ provider_currency_matches compare
Check if checkout session create result currency equals order currency lower
■ provider_result_matches_request all
Check if all conditions are true
⚠ provider_result_guard guard
Stop if provider result matches request equals
skip: step.checkout_create_allowed equal false
■ attach_payment_allowed all
Check if all conditions are true
◆ attach_payment core.seller.order.attach-payment
Attach payment seller order
skip: step.attach_payment_allowed equal false
■ effective_session_id coalesce
Use the first available value from: order open order provider session id, checkout session create result id
■ effective_session_present compare
Check if effective session id has data
■ checkout_link_read_allowed all
Check if all conditions are true
◆ checkout_link_session_read recued-core.seller-stripe.checkout.session.read
Read checkout session on seller stripe
skip: step.checkout_link_read_allowed equal false
■ checkout_link_provider_session_id default
Apply default
■ checkout_link_provider_session_id_truncated truncate
Truncate checkout link provider session id to a max length
■ checkout_link_provider_session_id_bounded compare
Check if checkout link provider session id is one of checkout link provider session id truncated
■ checkout_link_provider_session_id_prefix starts_with
Check if checkout link provider session id starts with cs_
■ checkout_link_provider_session_id_exact compare
Check if checkout link provider session id is one of effective session id
■ checkout_link_provider_mode_payment compare
Check if checkout link session read result mode is one of payment
■ checkout_link_provider_status_open compare
Check if checkout link session read result status is one of open
■ checkout_link_provider_payment_unpaid compare
Check if checkout link session read result payment status is one of unpaid
■ checkout_link_provider_client_reference_exact compare
Check if checkout link session read result client reference id is one of order open correlation client reference id
■ checkout_link_provider_url default
Apply default
■ checkout_link_provider_url_trimmed trim
Trim whitespace from checkout link provider url
■ checkout_link_provider_url_trimmed_exact compare
Check if checkout link provider url is one of checkout link provider url trimmed
■ checkout_link_provider_url_https starts_with
Check if checkout link provider url starts with https://
■ checkout_link_provider_url_not_prefix_only compare
Check if checkout link provider url does not equal https://
■ checkout_link_provider_url_truncated truncate
Truncate checkout link provider url to a max length
■ checkout_link_provider_url_bounded compare
Check if checkout link provider url is one of checkout link provider url truncated
■ checkout_link_source_truth_valid all
Check if all conditions are true
⚠ checkout_link_source_truth_guard guard
Stop if checkout link source truth valid equals
skip: step.checkout_link_read_allowed equal false
■ checkout_link_sender_mail_name default
Apply default
■ checkout_link_sender_mail_truncated truncate
Truncate checkout link sender mail name to a max length
■ checkout_link_sender_mail_present compare
Check if checkout link sender mail name has data
■ checkout_link_sender_mail_bounded compare
Check if checkout link sender mail name is one of checkout link sender mail truncated
■ checkout_link_sender_mail_valid all
Check if all conditions are true
⚠ checkout_link_sender_mail_guard guard
Stop if checkout link sender mail valid equals
skip: step.checkout_link_read_allowed equal false
■ checkout_link_mail_subject replace
Replace text in checkout link mail subject template
■ checkout_link_mail_subject_present compare
Check if checkout link mail subject has data
■ checkout_link_mail_subject_truncated truncate
Truncate checkout link mail subject to a max length
■ checkout_link_mail_subject_bounded compare
Check if checkout link mail subject is one of checkout link mail subject truncated
■ checkout_link_mail_subject_trimmed trim
Trim whitespace from checkout link mail subject
■ checkout_link_mail_subject_trimmed_exact compare
Check if checkout link mail subject is one of checkout link mail subject trimmed
■ checkout_link_mail_subject_has_open_placeholder compare
Check if checkout link mail subject contains [[
■ checkout_link_mail_subject_has_close_placeholder compare
Check if checkout link mail subject contains ]]
■ checkout_link_mail_subject_has_lf compare
Check if checkout link mail subject contains
■ checkout_link_mail_subject_has_cr compare
Check if checkout link mail subject contains
■ checkout_link_mail_subject_valid all
Check if all conditions are true
■ checkout_link_mail_body_with_product replace
Replace text in checkout link mail body template
■ checkout_link_mail_body replace
Replace text in checkout link mail body with product
■ checkout_link_mail_body_present compare
Check if checkout link mail body has data
■ checkout_link_mail_body_truncated truncate
Truncate checkout link mail body to a max length
■ checkout_link_mail_body_bounded compare
Check if checkout link mail body is one of checkout link mail body truncated
■ checkout_link_mail_body_has_open_placeholder compare
Check if checkout link mail body contains [[
■ checkout_link_mail_body_has_close_placeholder compare
Check if checkout link mail body contains ]]
■ checkout_link_mail_copy_valid all
Check if all conditions are true
⚠ checkout_link_mail_copy_guard guard
Stop if checkout link mail copy valid equals
skip: step.checkout_link_read_allowed equal false
■ checkout_link_reconciliation_id template
Generate text from a template
◆ checkout_link_mail_send core.mail.send
Send mail
skip: step.checkout_link_read_allowed equal false
◆ checkout_link_mail_reconcile core.mail.sent.reconcile
Reconcile mail sent
skip: step.checkout_link_read_allowed equal false
■ current_state coalesce
Use the first available value from: attach payment order, order open order
■ coordinator_notice template
Generate text from a template
▼
Output
summary coordinator_notice
text current_state
Settings 8 configurable

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

door id setting = main
sender mail setting =
seller offer id setting =
checkout cancel url setting = [object Object]
checkout success url setting = [object Object]
checkout expiry hours setting = 24
checkout link email body setting = Your [[product_name]] pass request is ready for payment. Complete payment securely with Stripe: [[checkout_url]] Stripe controls this hosted checkout and its expiry. If you did not request this pass, you can ignore this email.
checkout link email subject setting = Complete payment to unlock your pass

Uses (9 operations)

Form responses Get data form response core.data.form-response.get
Selling Get seller offer core.seller.offer.get
Selling Get seller tier core.seller.tier.get
Selling Open seller order core.seller.order.open
Pack operation Create checkout session on seller stripe recued-core.seller-stripe.checkout.session.create
Selling Attach payment seller order core.seller.order.attach-payment
Pack operation Read checkout session on seller stripe recued-core.seller-stripe.checkout.session.read
Mail Send mail core.mail.send
Mail Reconcile mail sent core.mail.sent.reconcile

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 Form responses core.data.form-response.get read-only
Read Selling core.seller.offer.get read-only
Read Selling core.seller.tier.get read-only
Write Selling core.seller.order.open external change
Write Selling core.seller.order.attach-payment external change
Write Mail core.mail.send external change
Write Mail core.mail.sent.reconcile external change

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

Data it touches

SurfacesForm responsesSellingMail
Warehousedata.form

About

Tags

recipe-role:origindurable-coordinatorcheckout-createcheckout-link-mailcore.seller.orderpassone-timesellerd-196d-207

Details

148 steps 8 configurable settings recipe_id: open-pass-order