{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Customer onboarding | xMoney Card Issuing","description":"Register, authenticate, and prepare customers for xMoney Card Issuing.","llmstxt":{"hide":false,"title":"xMoney Documentation","description":"Guides and API references for integrating xMoney card and crypto payments.","sections":[{"title":"Guides","description":"Integration guides for card payments, crypto, checkout, and dashboard.","includeFiles":["guides/**/*.md"],"excludeFiles":[]},{"title":"Card API","description":"REST API reference and concepts for xMoney card payments.","includeFiles":["api/**/*.md","api/**/*.yaml"],"excludeFiles":[]},{"title":"Crypto API","description":"REST API reference and concepts for xMoney crypto payments.","includeFiles":["crypto_api/**/*.md","crypto_api/**/*.yaml"],"excludeFiles":[]},{"title":"Card Issuing API","description":"Guides and API reference for xMoney whitelabel card issuing partners.","includeFiles":["card_issuing_api/**/*.md","card_issuing_api/**/*.yaml"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"customer-onboarding","__idx":0},"children":["Customer onboarding"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Customer onboarding creates the regulated user identity for the whitelabel card issuing program. Your integration can use partner API key registration for a backend-driven flow, or the email and wallet registration routes when the customer authenticates directly in your app."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"partner-api-key-flow","__idx":1},"children":["Partner API key flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For server-side partner-controlled onboarding, register the customer with:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://issuing-stage.xmoney.com/v1/auth/register/partner\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"x-partner-api-key: YOUR_PARTNER_API_KEY\" \\\n  -d '{\n    \"email\": \"customer@example.com\",\n    \"walletAddress\": \"erd1examplewallet\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response returns the customer identifier. Use it to obtain customer tokens:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://issuing-stage.xmoney.com/v1/auth/login/partner\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"x-partner-api-key: YOUR_PARTNER_API_KEY\" \\\n  -d '{\n    \"customerId\": \"cust_01JQX0FAY4JPEHG5EPEJ0R3XEQ\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the returned access token as a bearer token for KYC, accounts, cards, topups, and transactions."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"email-and-wallet-flows","__idx":2},"children":["Email and wallet flows"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API also supports customer-facing email/password and wallet-based registration and login:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/register/email"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/register/email/verify"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/register/wallet/challenge"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/register/wallet"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/register/wallet/verify"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/login/email"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/login/wallet/challenge"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/login/wallet"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/2fa/send"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/2fa/verify"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/refresh"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use these routes when your product requires the customer to authenticate directly with credentials, wallet signatures, OTP, or 2FA."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Email registration passwords must include at least 8 characters with lowercase, uppercase, number, and symbol characters."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"token-usage","__idx":3},"children":["Token usage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All customer-scoped issuing routes use:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"Authorization: Bearer CUSTOMER_ACCESS_TOKEN\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Refresh expired access tokens with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/refresh"]},", using the refresh token as the bearer token. If the refresh token expires, start a new login flow."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a login flow requires 2FA, use the returned session token as the bearer token for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/2fa/send"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/auth/2fa/verify"]},"."]}]},"headings":[{"value":"Customer onboarding","id":"customer-onboarding","depth":1},{"value":"Partner API key flow","id":"partner-api-key-flow","depth":2},{"value":"Email and wallet flows","id":"email-and-wallet-flows","depth":2},{"value":"Token usage","id":"token-usage","depth":2}],"frontmatter":{"seo":{"title":"Customer onboarding | xMoney Card Issuing","description":"Register, authenticate, and prepare customers for xMoney Card Issuing."}},"lastModified":"2026-07-13T21:54:27.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/card-issuing/customer-onboarding","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}