Skip to content

Business Profiles (payment profiles) ​

Terminology. The back office calls this a Business profile: the Settings entry, the page title and the location field all say Business profile. The guided-setup step (Set up Payment Profile), the create dialog title (New Payment Profile) and the API (payment_profile_id, /settings/payment-profiles) still say payment profile — it is the same object. Billing now lives inside each business profile (its Billing tab); see Billing.

Overview ​

Business profiles (payment profiles in the API) define how customers can pay for orders. A profile is created with a Name and a Country — the dialog sets Stripe as the in-person provider for you; you then complete provider onboarding on the business profile page. Online-ordering payments always run through Stripe; the in-person (kiosk / card-reader) side runs through the profile's in-person provider — Stripe Terminal, or Viva Wallet on a profile created with it. Profiles are assigned to locations. When Square POS is connected, Square handles payments and business profiles are not used.

Purpose ​

This page (Settings → Business profile, subtitle "Payouts, fees, subscriptions and how Upvendo bills you.") lets you create and manage business profiles. Creating a profile captures a name and a country (the in-person provider is set to Stripe automatically); Stripe onboarding is completed afterward on the business profile page, and determines how payments are processed at each location. Each business profile page has two tabs: Payments (everything below) and Billing (how Upvendo bills you — see Billing; the tab is shown only to users who can view billing profiles).

Key Concepts ​

  • Business Profile (payment profile in the API): A named, country-scoped configuration that holds the merchant's Stripe (online ordering) connection plus its chosen in-person provider connection, assigned to locations
  • In-person payment provider (in_person_provider): Set when the profile is created — stripe (Stripe Terminal: same Stripe account for online and in-person) or viva_wallet (a dedicated Viva Wallet account for in-person only). The request still requires it, but the dialog no longer asks — it always sends stripe, so viva_wallet is found only on profiles created with it earlier. It cannot be changed afterwards. (Verified: upvendo-backend app/Http/Requests/BackOffice/Settings/Payment/NewPaymentProfileRequest.php; upvendo-backoffice origin/production src/views/settings/Payments/NewPaymentProfileDialog.vue — in_person_provider: 'stripe', inputs Name and Country only.)
  • Stripe: Payment provider for online ordering customer payments, via a per-profile Stripe connected account. By default, online ordering uses Stripe (when Square is not connected) — the online provider is set from configuration (ZESTIDOO_PAYMENT_PROVIDER, default stripe), and a Viva Wallet online-checkout path also exists. (Verified: upvendo-backend config/upvendo.php line 5.) Stripe is also the in-person provider (Stripe Terminal) of every newly created profile. Stripe is also used for platform subscription billing, but on business profiles it processes customer payments.
  • Viva Wallet: The alternative in-person provider for kiosk / card-terminal payments. Set up per profile via a Viva Wallet connected account (ISV model). Profiles created before the provider choice existed default to viva_wallet. (Verified: upvendo-backoffice src/views/settings/Payments/PaymentProfileDetail.vue lines 86-91.)
  • Square Payments: When Square POS is connected, payments are handled automatically by Square — no business profile needed (the New Profile button and the business-profile configuration are hidden; the page shows the billing-profiles list instead)
  • Test Mode: A per-location payment_test_mode flag (toggled on the business profile page). No real money is taken; payments are simulated by default, and a Stripe in-person setup can optionally run real Stripe test cards through a paired test reader instead

Route ​

  • Navigation: Settings → Business profile (the page title is also "Business profile" — "Payouts, fees, subscriptions and how Upvendo bills you."). There is no separate Billing entry in the sidebar any more; billing lives inside each business profile — see Billing Profiles.
  • Backoffice Route: /settings/payments (list)
  • Add Profile: opens the New Payment Profile modal dialog (no dedicated route)
  • Profile Detail: /settings/payments/profiles/:id — two tabs: Payments (Stripe, the in-person provider, the locations on the profile and their test-mode switches) and Billing (?tab=billing: what Upvendo charges you). The Billing tab only shows for users allowed to view billing profiles.
  • Legacy billing route: /settings/billing has no sidebar entry any more and forwards here (see Billing)
  • There are no separate payout pages; payout information is shown inside the profile's Stripe section.

Actions ​

Create Business Profile ​

In Settings → Business profile, click "New Profile" to open the New Payment Profile dialog, enter a Name, pick a Country, and click "Setup Profile" (the dialog sets Stripe as the in-person provider). You are then taken to the business profile page to complete provider onboarding.

Edit Business Profile ​

Open a profile to rename it, set it as default, and complete its Stripe (and, for Viva profiles, Viva Wallet) account setup. The in-person provider itself cannot be changed after creation — only name is accepted by the profile update request. (Verified: upvendo-backend app/Http/Requests/BackOffice/Settings/Payment/PaymentProfileRequest.php lines 31-41.)

Delete Business Profile ​

Delete a profile if it's not assigned to any location.

The control is not a button on the page. Open the profile at Settings -> Business profile -> [profile] and use the actions menu in the profile header -> Delete. It only appears for users holding the delete payment profiles permission, which is why some users see Edit and Set Default but no delete entry at all. The confirmation dialog asks you to type the profile name, and its confirm button is labelled Deactivate (NL: Deactiveren) even though the profile is deleted -- that wording trips people up. Move every location on the profile to a different one first.

(Verified: upvendo-backend routes/api/backoffice/settings/payment-profiles.php:26; upvendo-backoffice src/views/settings/Payments/PaymentProfileDetail.vue:80-81,830,844-846, dialog labels src/plugins/i18n/locales/modules/{en,nl}/payment-profiles.ts:108-121.)

Assign to Location ​

After creating a profile, assign it to locations via Settings → Locations → [location] → Business Profile. Picking the business profile there also fills in the location's billing profile — see Locations.


Payment Provider Architecture ​

Provider by Channel ​

ChannelPayment ProviderNotes
Online OrderingStripeCustomer web payments through a per-profile Stripe connected account (cards, iDEAL, Bancontact, Klarna, etc.)
Kiosk / In-PersonStripe Terminal or Viva WalletWhichever in_person_provider was chosen when the profile was created — physical card-terminal payments through that provider's connected account
Square POSSquare PaymentsAutomatic — no profile needed (overrides Stripe and Viva Wallet when connected)

Note: When Square is not connected, online-ordering customer payments run through Stripe by default (the online provider is configurable, and a Viva Wallet online-checkout path also exists). Kiosk/in-person payments run through the profile's chosen in-person provider — Stripe Terminal or Viva Wallet — picked once at profile creation and not changeable afterward.

Square Integration ​

When Square POS is connected, Square handles all payments automatically:

  • No business profile creation required (the New Profile button and business-profile configuration are hidden; the Business profile page shows the billing-profiles list)
  • Payments processed through Square
  • Unified with Square POS system

Stripe (Online Ordering Payments) ​

Important: On a payment profile, Stripe processes customer online-ordering payments via a Stripe connected account. Stripe is set up on the profile detail page through a Stripe onboarding flow (no API keys are entered in the back office). The connected account also surfaces payouts, statement descriptors, a business-website field, and payment-method capabilities. (Stripe additionally powers platform subscription billing elsewhere, but on payment profiles it handles online-ordering payments.)


Fields ​

New Payment Profile dialog ​

The New Payment Profile dialog has two inputs. There are no credential fields and no provider choice here — the dialog sends in_person_provider: stripe itself, and Stripe onboarding happens afterward on the business profile page. (Verified: upvendo-backoffice origin/production src/views/settings/Payments/NewPaymentProfileDialog.vue.)

FieldField IDTypeRequiredNotes
NamenameTextYesMust be unique among the merchant's payment profiles
CountrycountrySelectYesOne of Upvendo's supported countries (United States is excluded from the list)

The request also requires in_person_provider (always sent as stripe by the dialog, not a visible field) and accepts an optional return_url, which is used internally for provider onboarding redirects and is not a visible form field. (Verified: upvendo-backend app/Http/Requests/BackOffice/Settings/Payment/NewPaymentProfileRequest.php lines 31-55.)

Viva Wallet account (in-person) ​

On profiles whose in_person_provider is viva_wallet, Viva Wallet is set up on the profile detail page (Setup Viva Wallet Account), which creates a Viva Wallet connected account via Upvendo's ISV integration. Merchants complete onboarding on Viva's own dashboard; the back office displays read-only account details:

  • Account ID (viva_wallet.accountId)
  • Merchant ID (viva_wallet.merchantId)
  • Email, Acquiring Enabled, Legal Name, VAT Number

There are no merchant-entered Viva merchant-ID/API-key/source-code fields in the back office; these are managed on Viva's side. (Per-location Viva source codes are deprecated — see Business Rules.) On profiles whose in_person_provider is stripe, the Viva Wallet section is not shown at all — in-person payments use the same Stripe connected account as online ordering. (Verified: upvendo-backoffice src/views/settings/Payments/PaymentProfileDetail.vue lines 618-624 and 762-781.)


Card Terminals (Pairing a Reader to a Device) ​

Physical card terminals are paired to a device (such as a kiosk), not to the payment profile. This is how you "add a terminal to a kiosk".

Where: Device Management → Devices → open the device → Card Reader / Terminal section → Add Terminal (labelled Pair Reader for Stripe in-person).

The pairing method depends on the location's in-person payment provider — i.e. the in_person_provider of the payment profile assigned to that location. (Verified: upvendo-backoffice src/views/devices/components/setup-device/reader-section/ReaderSection.vue lines 89 and 110.)

  • Viva Wallet: Choose Assign Viva Terminal, then select the terminal from the list of terminals available on your Viva account and save. The device then takes card payments through that Viva terminal.
  • Stripe (in-person): Choose Pair Reader, enter the reader's registration code (and an optional label), and pair. You can later rename or unpair the reader.
  • Square: When Square is connected, pair a Square Terminal using the device code shown in the dialog.

After pairing, the device's Card Reader section shows the terminal ID and its status. Each device can have one paired reader at a time.

Business Rules ​

  • A terminal is paired per device — a kiosk takes payments through the reader paired to it.
  • The available pairing method follows the location's in-person provider (Viva Wallet, Stripe in-person, or Square).
  • Requires the edit devices permission.

Test Mode (per location) ​

Test mode is not a payment-profile field — it is a per-location flag, toggled from the profile detail page's Locations list.

PropertyValue
Field IDpayment_test_mode (on the location)
TypeToggle (per location)
Defaultfalse

Description: When enabled for a location, no real money is taken and orders still process normally. A "TEST MODE" badge is shown.

By default the payment is simulated — the provider is skipped and the order completes as if paid. A Stripe in-person setup can go further: if the payment profile has a Stripe test connected account and the device has a test card reader paired, an in-person sale runs a real Stripe test-card charge through the reader instead of being simulated. Online-ordering payments and Viva Wallet are always simulated in test mode. See the Stripe feature for the full breakdown and for the caveat that a physical reader paired in test mode will not take live payments until test mode is turned off and it is paired again.


Tips ​

Tips are not configured on the payment profile. Tip collection lives on the location/device Collect Tips settings, where you enable tip collection, set the percentage options (default 10 / 15 / 20), and choose whether tips are calculated after or before taxes. See the Locations feature for details.


Business Rules ​

  • Two channels per profile: A profile holds a Stripe connected account for online ordering, plus an in-person connection through the provider set at creation (Stripe Terminal on the same Stripe account, or a separate Viva Wallet connected account on older profiles)
  • In-person provider is set once and is permanent: in_person_provider is a required field on the New Payment Profile request (stripe or viva_wallet; the dialog always sends stripe) and is not accepted by the profile update request, so it cannot be changed later. To switch providers, create a new profile and re-point the location to it
  • One business profile per location: Each location belongs to exactly one business profile (payment_profile_id); its billing profile is derived from that business profile on the location form
  • Business profile is editable, not write-once: The location's Business Profile field can be changed after it's initially set (it's read-only if the backend marks it in the location's uneditable_fields, e.g. for accounts in a specific sync/merchant mode, and the server also refuses a cross-currency re-point — see the next rule). Re-pointing an already-assigned location to a different profile unpairs all of that location's card terminals (Stripe readers detached, Viva terminals cleared) and resets its Viva Wallet source codes to 'Default', because terminals and source codes are scoped to the old profile's connected account; staff must re-pair terminals under the new profile afterward
  • Re-points must stay within one currency: before anything is unpaired or saved, the backend compares the currency of the old and the new profile (derived from the profile's country) and refuses a mismatch with HTTP 409 This payment profile uses a different currency and cannot be assigned to this location. Changing processor (Viva ↔ Stripe) within the same currency is still allowed. In practice this is a backstop rather than a limit merchants hit: new profiles can only be created for Belgium, France or the Netherlands, which are all EUR, so a mismatch only arises from legacy or manually-seeded profiles. The check is skipped when a profile's country has no known currency, and skipped entirely when Square POS is connected. (Verified: upvendo-backend app/Services/BackOffice/Settings/LocationService.php lines 599-618 and 673-692; app/RawModels/PaymentProfile.php lines 70-73; app/Http/Requests/BackOffice/Settings/Payment/NewPaymentProfileRequest.php lines 42-46.)
  • Square overrides both: When Square POS is connected (isSquareIntegrated() returns true), Square handles payments automatically — Stripe and Viva Wallet are bypassed, and the New Profile button / business-profile configuration are hidden
  • Unique name: A profile name must be unique among the merchant's profiles
  • Test mode is per location: The payment_test_mode switch is set per location (on the detail page), not on the profile. The optional Stripe test connected account that makes test mode run real test cards is on the profile, so one profile's test account serves every location under it that has the switch on
  • Default profile: A profile can be marked as default, but setAsDefault() only succeeds when external_data.viva_wallet.verified is true — otherwise it fails with "Payment profile is not verified". In practice this means only a Viva-verified profile can be made the default. (Verified: upvendo-backend app/Services/BackOffice/Settings/PaymentProfileService.php lines 236-249.)
  • Viva Wallet ISV model: Upvendo connects to Viva Wallet as an ISV partner, using platform-level client credentials with per-merchant connected accounts
  • Viva source codes deprecated: Per-location Viva online/physical source codes are no longer generated; existing values are preserved and new locations use the 'Default' source code
  • Profile deletion: Cannot delete a profile that's assigned to a location
  • Changes take effect:
    • Online Ordering: Immediately on next page load
    • Kiosk: After app sync/reload

Logic Flows ​

Payment Flow (Online Ordering — Stripe) ​

Customer completes order
        │
        ▼
Stripe payment created on the profile's connected account
        │
        ▼
Customer pays via Stripe (cards + local methods)
├── Card → Enter card details
├── iDEAL (NL)
├── Bancontact (BE)
├── Klarna (DE)
│
        ▼
Payment confirmed / verified
        │
        ▼
Order confirmed

Note: For free orders (total = 0), no payment provider is involved and the order is marked complete automatically. If Square is connected, online-ordering payments go through Square instead of Stripe.

Payment Flow (Kiosk — in-person provider: Stripe Terminal or Viva Wallet) ​

Customer completes order
        │
        ▼
Card Terminal activated
        │
Customer taps/inserts card
        │
Payment processed
        │
Receipt printed

Customer Impact ​

  • Online Ordering: Stripe checkout (or Square if connected); available methods depend on the connected account's enabled capabilities
  • Kiosk: Card terminal payment via the profile's in-person provider — Stripe Terminal or Viva Wallet (or Square if connected)
  • Receipts: Payment method and transaction ID printed
  • Tips: Tip selection shown if enabled at the location/device level

FAQs ​

  • "I can't remove this business profile / Viva Wallet account -- is that why I can't create a location?" No. Business profiles and location creation are unrelated: the Business Profile field on a location is optional, so a location saves with none at all, and an unwanted or unverified Viva Wallet account on another profile does not block it. (Upvendo used to refuse a location create against an unverified Viva profile; that check was removed.) If Add Location is missing or the save is refused, look instead at the create locations permission, a missing map pin, or a country that does not match the pin. (Verified: payment_profile_id is nullable at upvendo-backend app/Http/Requests/BackOffice/Settings/Location/StoreLocationRequest.php:138-147; the old gate is commented out at app/Services/BackOffice/Settings/LocationService.php:192-199.)

  • "What is a business profile (payment profile)?" A business profile in Upvendo (called a payment profile in the guided-setup checklist and the create dialog) is a named, country-scoped configuration that holds your Stripe connected account (for online-ordering payments), the in-person provider set when it was created (Stripe Terminal, or a Viva Wallet connected account on older profiles) and how Upvendo bills you (its Billing tab), and is assigned to one or more locations. It determines how payments are processed at each location.

  • "How do I add a business profile / payment profile?" Go to Settings → Business profile, click "New Profile", enter a Name, pick a Country, and click Setup Profile (Stripe is set as the in-person provider). On the business profile page, complete Stripe onboarding. Then pick it in the Business Profile field of each location in Settings → Locations so it takes effect.

  • "What is Stripe used for?" On a business profile, Stripe always processes your online-ordering customer payments through a Stripe connected account. If Stripe is also the in-person provider (every new profile), the same Stripe account handles kiosk and card-reader payments (Stripe Terminal); on a profile created with Viva Wallet, in-person payments go through Viva instead. (Stripe also powers Upvendo's platform subscriptions.) When Square is connected, Square handles everything.

  • "Why don't I see payment settings for Square?"
    When Square POS is connected, Square handles payments automatically and the Business profile page does not expose detailed Square configuration. In that case, you typically do not create business profiles for Square; you manage payments directly in Square.

  • "How do I enable iDEAL for Dutch customers?" For online ordering, iDEAL and other local methods are enabled through your Stripe connected account's capabilities for the country. (Viva Wallet has its own per-country default method via getDefaultPaymentMethodByCountryCode — iDEAL for NL — for any Viva-driven checkout.)

  • "Can I have different payment methods per location?"
    Yes. Create multiple business profiles and pick the appropriate one in each location's Business Profile field in Settings → Locations. Each location belongs to exactly one business profile at a time, and is billed through that business profile's billing.

  • "How do I enable tips?"
    Tips are not part of the payment profile. Enable them under the location/device Collect Tips settings, where you turn on tip collection, set the percentage options (default 10 / 15 / 20), and choose whether tips are calculated before or after taxes.

  • "What's the difference between test and live mode?"
    Test mode is a per-location setting (payment_test_mode), toggled on the profile detail page's Locations list. No real money is taken in test mode and orders still process normally. By default the payment is simulated outright; a Stripe in-person setup with a test account and a paired test reader can instead run a real Stripe test card through the reader. Verify your setup in test mode before switching the location to live.

  • "How do I create a business profile?" Go to Settings → Business profile and click "New Profile" (the button is hidden if your account is integrated with Square). In the New Payment Profile dialog you set two things: a Name and a Country. Click Setup Profile to create it, then complete Stripe onboarding on the business profile page.

  • "Where do I enter my Viva Wallet merchant ID, API key, and source codes?" You don't enter those in the business profile form — the New Profile dialog only captures a name and a country. Viva Wallet onboarding happens on Viva's own dashboard (the back office shows read-only Account ID and Merchant ID details), and per-location source codes are deprecated (new locations use 'Default').

  • "Do I have to pick the in-person provider when creating a profile?" No. The New Profile dialog no longer asks: it sets Stripe (Stripe Terminal, the same Stripe account for online and in-person) for you. The in-person provider cannot be changed after the profile is created, so a profile created earlier with Viva Wallet keeps it — create a new profile if you need to switch. Online ordering always uses Stripe.

  • "Which provider handles my online-ordering payments?" By default, online ordering runs through Stripe (via your profile's Stripe connected account) when Square is not connected; the online provider is configurable and a Viva Wallet online-checkout path also exists. Kiosk/in-person card payments run through the profile's chosen in-person provider (Stripe Terminal or Viva Wallet). If Square is connected, Square handles all payments.

  • "Can I switch a profile from Viva Wallet to Stripe for in-person payments?" Not on the existing profile — in_person_provider is set once at creation and is not editable afterwards (the profile update request only accepts name). Create a new payment profile with the provider you want and re-point the location to it in Settings → Locations; be aware that switching a location's profile unpairs its card terminals and they must be re-paired.

  • "How do I assign a business profile to a location?" Go to Settings → Locations, open the location, and choose it in the Business Profile field (section Business Profile — Which business profile this location belongs to). There is no separate billing choice: the location's billing follows from the business profile (shown as Billed through billing profile "…"; a picker appears only when that business profile has more than one billing profile). This field stays editable after a profile has been assigned — you can switch it to a different profile later, as long as the new profile settles in the same currency as the one currently assigned (a profile's currency comes from its country). A cross-currency switch is rejected when you save, with This payment profile uses a different currency and cannot be assigned to this location.; the error only shows up on save. Not every business profile is offered — the hint under the field names the ones that are not listed. The field can also be marked read-only for you specifically. Changing an already-assigned profile shows a warning that the location's in-person terminals will be unpaired and need re-pairing under the new profile, so switch it deliberately. (The field is hidden entirely when your account is Square-integrated.)

  • "I changed the business profile and got a warning — what does it mean?" Assigning a different business profile to a location that already has one re-points the location to a new Stripe/Viva Wallet connected account. Because paired terminals (Stripe readers and Viva terminals) are scoped to the old profile's connected account, saving the change unpairs every device at that location — the local pairing is cleared (and the Stripe reader is detached on Stripe's side, best-effort) — and resets the location's Viva Wallet source codes to 'Default'. Staff must re-pair each device's terminal afterward (Device Management → Devices → open the device → Card Reader / Terminal). The Stripe Terminal Location itself is preserved per profile and re-syncs automatically.

  • "How do I pair a card reader to a kiosk?" Go to Device Management → Devices, open the device, and use the Reader section. The flow follows the location's in-person provider: Pair reader for Stripe (enter the reader's registration code, plus an optional label), Assign Viva Terminal for Viva (pick a terminal from the list), or Pair Square Terminal for Square (generate a code and enter it on the Square device).

  • "Why don't I see the New Profile button or payment settings?" If your account is integrated with Square, the back office hides the New Profile button and shows a "Square Payment Integration Active" notice — payment-profile setup isn't required because Square handles payments directly.

  • "How do I turn on tips for my customers?" Tips aren't part of the payment profile. They're configured under the location's/device's Collect Tips settings, where you enable tip collection, set the percentage options (default 10 / 15 / 20), and choose whether tips are calculated after or before taxes.

  • "Can I test payments before going live?" Yes. Each location has a payment test mode setting; when enabled, no real money is taken. Transactions are simulated by default, and a Stripe in-person setup can optionally run real Stripe test cards through a paired test reader. Verify your setup in test mode before switching the location to live.

  • "What payment method will Dutch / Belgian customers see by default in Viva online checkout?" For Viva Wallet online checkout the default method is pre-selected by country: iDEAL for the Netherlands, Bancontact for Belgium, Klarna for Germany, and Multibanco for Portugal; other countries default to card.

  • "What happens to a €0 order?" Free orders (total of 0) skip the payment provider entirely — no Stripe/Viva/Square charge is attempted, and the order is marked complete automatically.

  • "How do I remove the Viva Wallet account from a payment profile? There is no button." There isn't one — that is the current product behaviour, not something you are missing. Once a Viva Wallet account has been created on a profile, the back office can only view it: the Edit Viva Wallet Account dialog shows the account ID and links you to Viva's own dashboard, and there is no action that detaches or replaces the account. If the profile should not carry Viva Wallet at all, delete the whole payment profile and create a new one — which means unassigning it from every location first. An unused Viva Wallet account on a profile is otherwise harmless: the in-person provider is what decides which one is charged.


Troubleshooting ​

  • Online payments failing → Check that the profile's Stripe connected account has completed onboarding and has no outstanding requirements
  • Kiosk/terminal payments failing → Check the profile's in-person provider account (Viva Wallet verified, or Stripe onboarding complete), and check the location's test-mode setting
  • iDEAL / local methods not showing online → Confirm the corresponding capability is active on the Stripe connected account
  • Tips not appearing → Tips are enabled at the location/device Collect Tips settings, not in the payment profile
  • Can't delete profile → Unassign from all locations first
  • No way to remove a Viva Wallet account from a profile → Expected: there is no detach action, only create and view. Delete the profile (after unassigning it from all locations) if it must not carry Viva Wallet
  • Square payments not working → Check Square POS connection in integrations
  • Terminal stopped working after switching business profiles → Expected: changing a location's business profile unpairs all its card terminals (Stripe readers and Viva terminals). Re-pair the reader/terminal in Device Management → Devices → open the device → Card Reader / Terminal

Assistant Guidance ​

When answering questions about payments:

  • Clarify the channel: online ordering always uses Stripe; kiosk/in-person uses the profile's in_person_provider (Stripe Terminal or Viva Wallet); Square overrides both when connected. Creating a profile sets Stripe as the in-person provider automatically
  • For Square users: explain that payments are automatic, no profile needed
  • For Stripe (online ordering): direct them to the Setup Stripe Account flow on the profile detail page; no API keys are entered in the back office
  • For Viva Wallet profiles: direct them to Setup Viva Wallet Account; onboarding completes on Viva's dashboard. This section is not shown on Stripe-in-person profiles
  • The New Profile dialog asks for a Name and a Country only — no credential fields, no provider choice (Stripe is set automatically). Call the object a business profile; if the merchant says "payment profile" (the checklist step's wording), it is the same thing
  • Tips and the test-mode switch live at the location level, not on the payment profile (the optional Stripe test account behind test mode is on the profile)
  • Always mention that profiles must be picked on locations (the location's Business Profile field) to take effect
  • There is no Settings → Billing entry any more: billing is the Billing tab of each business profile (Settings → Business profile → open the profile → Billing). Edit Location has no separate billing choice — the billing follows from the business profile
  • The location's Business Profile field is editable after assignment (do NOT say it locks/can't be changed) — but warn that switching it unpairs the location's card terminals and requires re-pairing them under the new profile, and that the new profile must settle in the same currency as the current one. A profile's currency is derived from its country, so a different country is fine as long as the currency matches; a cross-currency re-point is refused with a 409, "This payment profile uses a different currency and cannot be assigned to this location." Every profile a merchant can create today is EUR (Belgium/France/Netherlands), so this is a backstop rather than something they will normally hit — do not present it as a routine obstacle. It applies only when re-pointing a location that already has a profile; the first assignment, and Square-integrated merchants, skip the check

Relations ​

Depends On ​

  • Locations: Each location picks one business profile (its Business Profile field)
  • Stripe Account: A per-profile Stripe connected account is required for online-ordering customer payments
  • Viva Wallet Account: A per-profile Viva Wallet connected account is required for kiosk/in-person payments on profiles whose in-person provider is Viva Wallet
  • Square Integration: When connected, overrides both Stripe and Viva Wallet for all payment flows

Affects ​

  • Online Ordering: Stripe checkout and available payment methods
  • Kiosk: In-person terminal payment options (Stripe Terminal or Viva Wallet)
  • Transactions: Payment records and refunds
  • Reports: Payment method breakdown