Shop and payments
Configure your Shop, Stripe, coupons, email and services; understand immediate delivery, signed customer links, download limits and refunds.
最新修订:12 October 2026OrbitPage Shop gives your managed workspace a public catalog for digital downloads and services. You remain the seller; Stripe processes payments and OrbitPage provides the storefront, protected delivery and customer purchase area. This guide covers setup, selling, customer access, email, bookings and order management.
Configuration and service status
Review whether Shop is published, Stripe is connected and ready, and whether Shop uses OrbitPage email or your own SMTP server. Custom SMTP shows whether its saved configuration has passed a test.
Calendar configuration means a service product has a saved booking link. A signed webhook received by OrbitPage is shown separately; generating a webhook URL does not verify Cal.com setup. Refresh reads saved status without sending an email, creating a booking or changing publication.
Open Shop settings
Shop is included with a Shop-enabled plan such as Pro; check the current pricing page and your workspace limits. The owner or a collaborator with Shop editing permission can configure it. Open Dashboard → Site editor → Shop, then the gear button for Compliance, Checkout, Stripe, Email, Calendar and INFO settings. Buyers never need dashboard access. The header opens Public Shop. Public seller information is always visible above the footer and shows only configured fields. New orders use consecutive references such as #000001; abandoned and failed Checkouts keep their number. Older orders retain a short ID reference.
The hosted setup currently creates Stripe merchant accounts in Italy and uses EUR prices. The catalog supports up to 20 digital or service products, with digital files up to 50 MB each; uploads also count toward workspace storage. Physical shipping, recurring subscriptions and a multi-product cart are not part of this Shop.
- Connect the seller's Stripe account and check its payment mode/status.
- Complete seller information and policies, then configure and test Shop email.
- Save a complete product, make it available and check the desktop/mobile preview.
- Publish after the required review, then follow the test checklist before live sales.
Connect Stripe
Open Shop settings → Stripe and select Connect Stripe. Complete verification on Stripe, return to OrbitPage and check that payments are ready before publishing. Use Update Stripe details to finish missing information.
The Stripe panel checks status on opening, when you return to the tab and every 30 seconds while visible. Verified live readiness displays Stripe payments are ready and configured. Verified test readiness displays Stripe payments are in test mode, with the test status in orange. A failed check removes the green confirmation until verification succeeds. Switching the view in Stripe Dashboard does not change OrbitPage's configured account or payment mode.
Fees and payouts
OrbitPage does not charge commission on Shop orders or payments. Stripe processing fees are charged separately to the connected seller; the price shown in Shop is not the net payout. Stripe controls settlement timing and the payout schedule for your account.
Shop settings → Stripe shows the connected account name, available and pending balances, and up to 50 recent account transactions with Stripe fees and net amounts. This includes activity outside OrbitPage. Use Stripe Dashboard for full history, payouts and bank details.
Historical application fees on existing orders are returned proportionally when a refund is confirmed. Stripe's own refund and processing-fee treatment follows Stripe's current terms.
Create coupons
Open Shop settings → Coupons, before Checkout. With Stripe connected, choose a unique code and either a percentage discount or a fixed amount in EUR. Create coupon saves it in the connected Stripe account; customers enter the code in Checkout. The list shows up to 50 recent codes, their status and uses. Manage expiry, restrictions and the full list in Stripe Dashboard.
Seller details and policies
Open Shop settings > Compliance to enter seller status, public seller name, email, optional phone, geographic address and applicable business identifiers. Stripe verification does not populate this public seller profile for you. Leave Public phone empty to hide it from the OrbitPage Shop and new order emails; existing orders retain their saved seller details.
Save Compliance before connecting Stripe. A new connected account is prefilled only with the public email and phone you explicitly saved. Review any details Stripe proposes from another account during onboarding. Existing Stripe accounts are not overwritten when you edit Compliance.
Stripe Checkout, receipts and invoices use Stripe's separate, account-wide public details. Open Shop settings > Stripe > Review public details in Stripe, then Business > Business details > Public details > Edit. Keep the intended seller contacts consistent and turn off Show phone number on receipts and invoices when you do not want it displayed. OrbitPage cannot control this switch through its Stripe integration. Accounts shared with other shops or apps share these settings; bank statements and third-party receipts may follow different rules. See https://docs.stripe.com/receipts#customize-receipts.
Each of the six policies has Host in OrbitPage and External options. Host in OrbitPage shows a text box for writing or pasting the policy; External shows an HTTPS URL field. You can switch without losing the two drafts until Save. Save keeps the selected content; discarding unsaved changes restores the saved policy.
Hosted policies share one /shop/legal page with sections for Terms, Digital Product & License Terms, Privacy policy, Cookie policy, Refund policy, and Withdrawal and contact. Footer links are permanent: a policy with no text or URL returns 404. Test every public policy link before sharing your Shop.
- You can save a partial profile and finish it later. Confirm seller responsibility using the checkbox before publication.
- Provide the disclosures and policies that apply to your business. The acknowledgment does not establish that your legal information is complete or waive customer rights.
Add digital products and services
Select Add product, choose Digital product or Service, and add a name, short description, full description, EUR price and optional cover. Short descriptions appear on cards; full descriptions and attachments appear in product details. The product card opens those details even in the editor, with Buy disabled in the preview.
For a digital product, use Manage files to add supported documents, ebooks, images, media or archives. Save uploads and verifies the files; an available digital product must have a file. Up to 10 files are supported per product, 50 MB each; they count toward workspace storage. Purchased files stay in private storage; covers and logos are public images.
For a service, add an HTTPS booking link, post-payment instructions, or both. Set 1–50 included sessions and up to 12 optional/required intake questions. Customers answer those questions after payment in Your purchases. Choose a booking event that does not charge again, and configure access and availability at the provider: an external booking URL is not made private by OrbitPage.
Base product prices are EUR 1–10,000 before discounts. Each Checkout buys one product. Physical shipping, recurring subscriptions, multi-seller marketplaces and a multi-product cart are not implemented. Product edits do not rewrite an existing order's purchased file references, instructions or policies.
- Use View catalog to search, filter and sort the catalog, then open the product you need to edit.
- Mark products Available for purchase when they are complete. Unavailable products remain saved without appearing for buyers.
- A failed upload remains visible for retry. Check that Save reports success before leaving the editor.
Appearance and publication
Click the title or introduction in the preview to edit both in one dialog, including font, size, weight and color. Save inside this dialog saves both tabs directly and updates an already published Shop; no second Save is needed. Other pending Shop changes stay separate. Each tab has Show/Hide to change visibility without deleting its text or styles. Empty fields also disappear from the storefront. The reset icon beside Color restores the Shop color. Click the logo or back link to edit them; the back link has a label only.
Personalize controls the layout, theme, colors and cards. The grid fills three columns when space permits, then two or one as its container narrows; the list layout stays in one column. Use the page theme disables separate Shop styling while it is active. Add Shop to Home adds a card opening the Shop from your main page. Newsletter signup requires the Newsletter compliance settings to be complete.
The receipt, delivery and Your purchases pages use your Shop's logo, colors, font and card style, including the public page theme when inheritance is enabled. Customers get visible Download buttons, order details, service instructions and appointment actions on desktop and mobile.
The shared Shop interface, Stripe Checkout, delivery, customer pages and appointment emails use English, including dates and prices, regardless of dashboard/browser language. Product descriptions, seller policies, custom field labels, questions and instructions stay in the language you write. External booking pages control their own language.
- Save your changes, make at least one complete product available, finish Stripe setup and confirm seller responsibility, then select Publish shop in the center of the top toolbar. In Settings and Orders/Customers it sits beside Back to shop. OrbitPage review must also be approved before first publication.
- Open the public Shop URL in a private window and check product details, policies and mobile layout. The storefront uses your page's /shop address, including an active custom domain when configured.
- Unpublish stops new storefront sales while keeping products, orders and customer records saved. Existing eligible purchases remain accessible: unpublishing is not a refund, erasure or access revocation. Hiding a product also preserves previous purchases. If Shop is your homepage, choose another homepage before removing it.
Checkout and delivery
A buyer opens product details, reviews the seller notice and any applicable terms, then proceeds to Stripe-hosted Checkout for one product. Digital delivery also requires explicit consent to immediate access and acknowledgment of the stated withdrawal consequences.
After the server verifies payment with Stripe, the confirmation page immediately offers the purchased files or booking link and service instructions, plus Your purchases. There is no manual order preparation and no need to wait for an email. The server checks the owning account, session/order, currency and paid amount; the Checkout return URL alone does not prove payment.
A pending/asynchronous payment shows a waiting state until Stripe confirms it; failed or expired checkouts grant no delivery. The receipt can reconcile a confirmed payment while a webhook is catching up. Eligible promotion codes from the connected seller account work in Checkout, including a 100% discount without a PaymentIntent; the completed session still needs server verification.
Digital delivery has a 30-day window recorded when Checkout is created and a combined allowance of 10 downloads multiplied by the purchased file count. Three files share 30 download requests; this is not a separate per-file allowance. A new customer link does not reset expiry or the count. Full refunds, ineligible dispute states and customer erasure block the affected purchase; a file already downloaded cannot be retracted.
Customer access and signed links
Customers open Your purchases from the verified receipt or the personal link in their purchase email. They do not register, create a password, sign in to the seller's dashboard or receive an email OTP. Entering an email address alone cannot open purchases; the personal signed link is the access credential.
The link contains a token signed server-side with HMAC-SHA256. Before returning purchase data, the server checks the signature, issue and expiry times, customer access version, explicit included order IDs and current eligible order ownership/status. The token is valid for seven days from issue and is reusable until it expires or access is revoked; it is not a one-time link.
Access is limited to the purchases explicitly included in that link: available files, service instructions, remaining sessions, booking/meeting links and the relevant questionnaire answers. It gives no access to administrator tools, the dashboard, Stripe, another customer's purchases or future purchases. Receipt links are scoped to their own order; use the relevant purchase's link when an order is missing.
After successful validation, the token is removed from the visible URL and retained in sessionStorage for that browser tab. Customer API requests send it in the x-shop-customer-access header. Refresh can reuse the tab's access, but a new device or a closed tab needs the original link again. Bookmarking the clean /shop/customer address does not sign the customer in, and browser storage does not extend the seven-day validity.
A still-valid receipt/delivery link can issue a fresh seven-day customer link for that same order. This does not extend the digital delivery window, reset download counts or restore refunded/erased access. If the purchase link is also unavailable, contact the seller with the order reference. There is no email-only recovery or OTP form.
Treat customer, download and booking links as private bearer credentials: anyone holding a valid link can use its limited access. Do not forward, publish or include them in shared screenshots or public support posts. A signature prevents alteration; it does not encrypt the token or make a leaked link harmless. Keep your mailbox secure and close the purchase tab on a shared device.
| Access route | What it permits | Limit |
|---|---|---|
| Signed customer link | View and use the explicitly included eligible purchases; answer their service questions | Seven days from issue; no dashboard access |
| Digital delivery link | Open purchased files and download within the order allowance | 30-day window; 10 × purchased file count shared across the order |
| Complete service booking link | Book the purchased service; Cal.com metadata binds it to the paid order | Remaining sessions and provider rules apply |
| Plain customer page or email address | No purchase access by itself | Open the original personal link |
Choose customer information
Open Shop settings → Checkout to choose the information requested by Stripe during a new order. Name and email are always required. Phone number can be off or required; Stripe does not offer an optional phone field. Billing address can be collected only when Stripe needs it or always required. Payment methods can still require billing information.
Business name can be off, optional or required. Tax ID / VAT number can be off, optional or required in billing countries supported by Stripe. Tax ID collection may also request a business name; it does not enable tax calculation or automatic invoicing.
Add up to three custom fields with a label of at most 50 characters. Choose Text or Numbers only and Optional or Required; use the trash button to remove a field. Text and numeric answers support up to 255 characters or digits. Use them for order references or project information, not personal, protected or sensitive data. Save applies the configuration to new checkouts; existing orders keep the original labels and answers.
After verified payment, open Orders → View to see the customer's name, contact and billing details, tax IDs and additional answers. Orders and Customers can be searched by name as well as email. Deleting customer data removes this information and access from OrbitPage while retaining anonymized financial records and removes the connected Stripe customer profile. Stripe may retain payment records under its own retention obligations.
Choose Shop email delivery
In SaaS, open Shop settings → Email and choose Use OrbitPage email to send through OrbitPage's managed mail service, or Use custom SMTP to send through your own server. Buyer confirmations include purchase details, delivery/booking instructions and the signed personal customer-area link. The same selection applies to seller sale notifications, questionnaire updates, booking changes and reminders. It does not change how the token is signed or what it authorizes.
Self-hosted OSS sends these messages and personal links through the SMTP configured on the instance in Shop settings → Email; it has no OrbitPage-managed sending option. Shop SMTP is separate from Newsletter SMTP in both editions. Newsletter campaigns/signup confirmations, SaaS account-security emails and subscription emails keep their own sending configuration.
For a custom server, enter its public hostname, port, username, password or app password, sender name and permitted sender email. Supported ports are 465 with TLS and 587 or 2525 with mandatory STARTTLS. SaaS blocks private and reserved network addresses. Your provider may require a verified sending domain and SPF, DKIM and DMARC records; follow its setup instructions.
Save, then select Send test email for custom SMTP. In SaaS the test goes to the email address of your signed-in OrbitPage account and checks authentication and sender acceptance. Check inbox and spam; provider acceptance does not guarantee customer inbox delivery. A failed test shows a safe error; check credentials, port, TLS and sender permissions. Email failure does not undo a confirmed payment; the verified receipt remains the immediate access route.
Passwords are encrypted server-side and never returned to the browser. Leave the password blank to retain it; changing host or username requires re-entry. Changed connection/sender settings clear test status. Saved custom settings are used immediately: test before accepting orders. OrbitPage does not silently fall back to its sender when custom SMTP fails. Select Use OrbitPage email and save to restore managed sending; your custom credentials remain saved. Replies to buyer emails go to the seller; seller notifications reply to the customer, with the optional reply-to used when there is no specific reply contact.
| Edition | Sender selection | Customer link |
|---|---|---|
| Hosted SaaS | OrbitPage managed email or the workspace's custom SMTP | Signed personal link included in the purchase email |
| Self-hosted OSS | The instance's configured Shop SMTP only | Same signed-link access model; no managed OrbitPage sender |
Service bookings and Cal.com
Add an HTTPS booking link, instructions, session count and optional questionnaire to a Service product. After payment, customers can submit/update answers in Your purchases; the answers remain attached to that order and are shared with the seller. The area also shows synchronized appointments and a Join meeting action when supplied by the provider.
Cal.com synchronizes bookings through the signed webhook shown in Shop settings → Calendar. Enable BOOKING_CREATED, BOOKING_RESCHEDULED and BOOKING_CANCELLED in the owning Cal.com account; no Cal.com API key is required. Use the complete booking link from the paid receipt/email/customer page. Its order-specific metadata is required to match a new booking to the purchase.
Booking consumes one session; rescheduling consumes no additional session and cancellation restores it. Duplicate callbacks do not consume another session. Booking changes and 24-hour/1-hour reminders use the selected Shop email service. A cancelled appointment does not issue a Stripe refund. Other providers work as links without Cal.com synchronization or OrbitPage session enforcement.
Orders, customers and refunds
Open Shop → Orders to inspect payment state, paid amount, discounts, refunds, delivery, captured buyer details, questionnaire answers and bookings. Customers groups saved buyer records; it does not create customer dashboard accounts. Use the connected Stripe Dashboard for account details, payouts, refunds and disputes; OrbitPage records verified Stripe updates.
Partial refunds preserve downloads and remaining service sessions within their existing limits. A confirmed full refund blocks private delivery, clears service entitlement and local booking/reminder access, and returns any historical OrbitPage application fee proportionally. It cannot retract a downloaded file or cancel an external appointment: handle the calendar cancellation separately.
Deleting customer data anonymizes saved financial orders, clears buyer/contact and questionnaire details, removes local bookings and revokes personal delivery/customer access. This is not a refund. SaaS also removes the connected Stripe customer profile; Stripe may retain payment records under its retention obligations. Unpublishing or editing the catalog is separate from customer erasure.
Handle customer questions using the public seller contact information. The seller remains responsible for accurate product information, fulfillment, applicable taxes and policies; OrbitPage supplies the storefront and delivery tools.
Hosted and self-hosted Shop
The catalog editor, English buyer interface, merchant theme, payment validation and signed customer-link model are shared. Provider setup and data ownership differ. Follow the OSS guide when running your own installation; do not paste a self-hosted API key into hosted Connect onboarding.
Page version history is not a payment ledger. Use order records for purchases and the appropriate backup/export controls for data. Protect any export containing customer details or access links; restoring page content is not a refund or a way to reset download limits.
| Area | Hosted SaaS | Self-hosted OSS |
|---|---|---|
| Seller payments | Stripe Connect onboarding; payouts to the connected seller | Owner's Stripe API key and signed webhook |
| OrbitPage commission | 0%; Stripe fees still apply | 0%; Stripe fees still apply |
| Shop email | OrbitPage email or workspace custom SMTP | Instance Shop SMTP |
| Data and purchased files | Tenant-scoped managed database and private storage | SQLite and persistent private files in DATA_DIR |
| Hosting and access | Shop-enabled plan, workspace permission and publication review | Owner-maintained server, HTTPS, secrets and backups |
Test the complete purchase flow
Use a controlled Shop in Stripe test mode and fictional products/customer data. The official 4242 4242 4242 4242 card with a future expiry and test CVC is for test Checkout only. A live checkout is a real charge; test cards do not switch its mode. Test success does not establish live account verification or payout readiness.
- Confirm the orange Stripe payments are in test mode heading, connected account and payment readiness.
- Configure Shop email; test custom SMTP and inspect inbox/spam and sender identity.
- Save an available digital product, finish seller policies/review and publish the controlled Shop.
- Buy once; check immediate receipt, actual download and personal customer link without logging in. Check refresh and mobile layout.
- Test a promotion code and a 100% discount, then partial/full refunds and the resulting access limits.
- For a Service, submit answers and use its complete booking link; check Cal.com booking, reschedule, cancel and reminders separately.
- Unpublish or hide fictional products after testing; keep tests separate from real customer orders.
Troubleshooting purchases and delivery
Use the order reference when contacting the seller or support. Do not paste customer tokens, download/booking links, Stripe keys, webhook secrets or private buyer details into public posts. Review provider state before claiming that a payment, refund or appointment completed.
| Symptom | What to check |
|---|---|
| Cannot publish or start Checkout | Shop-enabled plan/permission, Stripe status, required review, seller acknowledgment and available products/files |
| Payment confirmation is waiting | Orders and Stripe payment state; pending/failed payments grant no delivery |
| Customer link expired | Open the still-valid receipt/delivery link for that order; otherwise contact the seller. Email alone cannot recover access |
| A purchase is missing | Open that purchase's recent link; an older token does not include future orders |
| Download unavailable | Refund/dispute/erasure, 30-day expiry and combined order download allowance |
| Email missing | Selected Shop email service, SMTP test, sender authorization, spam and provider logs; use the verified receipt meanwhile |
| Appointment missing | Complete paid-order booking URL, signed webhook/event triggers and remaining sessions; a generic provider test is not a paid booking |
Payment and calendar setup
OrbitPage's steps above describe the implemented Shop. Check these official provider pages for current Stripe requirements, fees and refunds, and Cal.com webhook setup.