{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["sub-heading","admonition"]},"type":"markdown"},"seo":{"title":"Paze onboarding","description":"Transform your commerce with PXP's unified platform—seamless payments, real-time insights, and global growth in one powerful integration.","lang":"en-UK","siteUrl":"https://developer.pxp.io","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"paze-onboarding","__idx":0},"children":["Paze onboarding"]},{"$$mdtype":"Tag","name":"SubHeading","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure Paze in the Unity Portal and connect your merchant account."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-start","__idx":1},"children":["Before you start"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you haven't already, make sure that you have activated the Components service in the Unity Portal. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/components/activate"},"children":["Activate Components"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You'll also need an existing Paze client ID, provided by Paze."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-ensure-paze-is-enabled-at-the-merchant-group-level","__idx":2},"children":["Step 1: Ensure Paze is enabled at the merchant group level"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Paze must be enabled for your merchant group before it can be configured on individual sites."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.pxp.io","target":"_blank"},"children":["Unity Portal"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Merchant setup > Merchant groups"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select your merchant group."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Services"]}," tab, find ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Paze service"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If Paze isn't listed, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add service"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Paze"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-get-your-pxp-api-credentials","__idx":3},"children":["Step 2: Get your PXP API credentials"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your backend needs API credentials to create checkout sessions with HMAC authentication."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.pxp.io","target":"_blank"},"children":["Unity Portal"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Merchant setup > Merchant groups"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select your merchant group."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inbound calls"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," shown in the top-right corner."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["+ New token"]}," to create an authentication token."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Choose an expiry period and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Copy both the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["token ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["token value"]},". Store these securely on your backend."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never expose your token value or HMAC credentials in your iOS app. Session creation must happen on your backend."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-configure-paze-on-your-site","__idx":4},"children":["Step 3: Configure Paze on your site"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Register your Paze client ID against the site where you'll accept Paze payments."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://portal.pxp.io","target":"_blank"},"children":["Unity Portal"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Merchant setup > Sites"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the site you want to enable Paze for."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Services"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Find ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Paze service"]}," and switch the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active"]}," toggle to on."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]},", then ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Paze Account Settings"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," as provided by Paze."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optionally, enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Profile ID"]}," (if provided by Paze). If you only have a client ID, you can leave this field blank."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," in the top right."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-verify-session-configuration","__idx":5},"children":["Step 4: Verify session configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After saving your Paze account settings, create a test session from your backend and confirm that Paze is included in the response."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A correctly configured session includes Paze wallet settings:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"sessionId\": \"c5f0799b-0839-43ce-abc5-5b462a98f250\",\n  \"hmacKey\": \"904bc42395d4af634e2fd48ee8c2c7f52955a1da97a3aa3d82957ff12980a7bb\",\n  \"encryptionKey\": \"20d175a669ad3f8c195c9c283fc86155\",\n  \"allowedFundingTypes\": {\n    \"wallets\": {\n      \"paze\": {\n        \"clientId\": \"your-paze-client-id\",\n        \"profileId\": \"optional-profile-id\",\n        \"merchantCategoryCode\": \"5812\"\n      }\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["iOS requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantCategoryCode"]}," in the session for the Paze complete step (after checkout succeeds). If it is missing, the SDK throws ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SDK1202A"]}," when building the complete request — not at component creation or presentment. Web integrations may not require this field depending on your configuration."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowedFundingTypes.wallets.paze"]}," is missing or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clientId"]}," is empty at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create(.pazeButton)"]},", the SDK throws ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SDK0118"]}," — typically before presentment runs. If presentment validation runs without a valid ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clientId"]},", the SDK throws ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SDK1202"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/components/ios/paze/troubleshooting#portal-and-session-setup"},"children":["Portal and session setup"]},"."]}]},"headings":[{"value":"Paze onboarding","id":"paze-onboarding","depth":1},{"value":"Before you start","id":"before-you-start","depth":2},{"value":"Step 1: Ensure Paze is enabled at the merchant group level","id":"step-1-ensure-paze-is-enabled-at-the-merchant-group-level","depth":2},{"value":"Step 2: Get your PXP API credentials","id":"step-2-get-your-pxp-api-credentials","depth":2},{"value":"Step 3: Configure Paze on your site","id":"step-3-configure-paze-on-your-site","depth":2},{"value":"Step 4: Verify session configuration","id":"step-4-verify-session-configuration","depth":2}],"frontmatter":{"seo":{"title":"Paze onboarding"}},"lastModified":"2026-06-30T09:48:00.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/checkout/components/ios/paze/onboarding","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}