{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img","admonition"]},"type":"markdown"},"seo":{"title":"Collect Customer Details in Embedded Checkout | xMoney Documentation","description":"Configure customer name, email, phone, and billing address collection for card, Apple Pay, and Google Pay in xMoney Embedded Checkout.","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"]},{"title":"Card API","description":"REST API reference and concepts for xMoney card payments.","includeFiles":["api/**/*.md","api/**/*.yaml"]},{"title":"Crypto API","description":"REST API reference and concepts for xMoney crypto payments.","includeFiles":["crypto_api/**/*.md","crypto_api/**/*.yaml"]},{"title":"Card Issuing API","description":"Guides and API reference for xMoney whitelabel card issuing partners.","includeFiles":["card_issuing_api/**/*.md","card_issuing_api/**/*.yaml"]}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"customer-details","__idx":0},"children":["Customer Details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Web Embedded Checkout v2 can collect customer details during card, Apple Pay, and Google Pay payments. The SDK submits the newly collected values with the payment, so you do not need to read wallet contact data or append these values to the payment request yourself."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Customer-detail collection is disabled by default."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-start","__idx":1},"children":["Before you start"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Collection has two controls, and both must be configured:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://dashboard.xmoney.com"},"children":["xMoney Dashboard"]},", open the relevant site and select the customer fields required by your inline checkout."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the SDK configuration, set each payment method that should collect those fields to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the Dashboard, use the site's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Form Fields"]}," settings. Select the fields under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Personal Information"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address"]}," that you want Embedded Checkout to collect."]},{"$$mdtype":"Tag","name":"Image","attributes":{"srcSet":"/assets/customer-details-dashboard.fb9ca2dc02e45c700a1cfe07f74e3ac512f899b80aaa67300154a53b0932a8ea.3a19c8dd.png light, /assets/customer-details-dashboard.fb9ca2dc02e45c700a1cfe07f74e3ac512f899b80aaa67300154a53b0932a8ea.3a19c8dd.png dark","alt":"xMoney Dashboard Form Fields settings with personal information and address fields selected","framed":false,"withLightbox":false},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Card Details"]}," section configures separate card-related fields and is not controlled by the SDK's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerDetails"]}," configuration."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Test and live sites have separate configuration. Make sure you update the site that belongs to the public key used by your checkout."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Dashboard fields control what is collected"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK configuration enables collection per payment method; it does not select individual fields. The fields selected for the site in the Dashboard determine what the SDK displays or requests."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"enable-customer-details","__idx":2},"children":["Enable customer details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerDetails"]}," object to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentForm()"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentCard()"]},", or a standalone wallet configuration."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"customerDetails: {\n  card: true,\n  applePay: true,\n  googlePay: true,\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enable only the methods where you need customer data:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Property"},"children":["Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Applies to"},"children":["Applies to"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Behavior"},"children":["Behavior"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentForm()"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentCard()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Renders personal-detail fields with the card form and validates them before submission."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["applePay"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Apple Pay in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentForm()"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["applePay()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Requests the configured contact fields in the Apple Pay sheet."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["googlePay"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Google Pay in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentForm()"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["googlePay()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Requests the configured email and billing-contact fields in the Google Pay sheet."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Setting a value to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," or omitting it leaves collection disabled for that payment method."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"full-payment-form-example","__idx":3},"children":["Full payment form example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const paymentForm = await window.XMoney.paymentForm({\n  container: 'xmoney-payment-form',\n  publicKey,\n  orderPayload,\n  orderChecksum,\n  customerDetails: {\n    card: true,\n    applePay: true,\n    googlePay: true,\n  },\n  paymentMethods: {\n    applePay: { enabled: true },\n    googlePay: { enabled: true },\n  },\n  onPaymentComplete: handlePaymentResult,\n  onError: handlePaymentError,\n})\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerDetails.applePay"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerDetails.googlePay"]}," collect data only when the corresponding wallet is also enabled and available."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"standalone-component-examples","__idx":4},"children":["Standalone component examples"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a card-only component:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const card = await window.XMoney.paymentCard({\n  container: 'payment-card',\n  publicKey,\n  orderPayload,\n  orderChecksum,\n  customerDetails: {\n    card: true,\n  },\n})\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For standalone wallet buttons:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const applePay = await window.XMoney.applePay({\n  container: 'apple-pay',\n  publicKey,\n  orderPayload,\n  orderChecksum,\n  customerDetails: {\n    applePay: true,\n  },\n})\n\nconst googlePay = await window.XMoney.googlePay({\n  container: 'google-pay',\n  publicKey,\n  orderPayload,\n  orderChecksum,\n  customerDetails: {\n    googlePay: true,\n  },\n})\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"field-behavior","__idx":5},"children":["Field behavior"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The site configuration can request name, email, phone, and billing-address data."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If either first name or last name is configured, the card form displays one ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Full name"]}," field."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If any billing-address field is configured, the card form displays the complete address section: country, region, street address, city, and postal code."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Card customer-detail fields are required and validated before the SDK submits the payment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Apple Pay requests name and postal address as billing contact data, and email and phone as contact data."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Google Pay requests email and the required billing-address data from the wallet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The SDK sends only fields enabled for the site. If a wallet does not return an enabled value, that value is omitted rather than blocking xMoney payment submission."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When customer details are active, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onValidation"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validate()"]}," can include these field names:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"[\n  'fullName',\n  'email',\n  'phoneCountry',\n  'phone',\n  'country',\n  'region',\n  'address',\n  'city',\n  'postalCode',\n]\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you use a custom card submit button, call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validate()"]}," before ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submit()"]}," so card and customer-detail errors are handled together."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"data-handling","__idx":6},"children":["Data handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Collect only the information needed for the payment and your business requirements. Tell customers why you collect their data and handle it according to your privacy policy and applicable data-protection requirements."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Card customer fields are rendered in the xMoney payment iframe, while Apple Pay and Google Pay collect contact data in their wallet sheets. Your page should not attempt to read payment-component data."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"troubleshooting","__idx":7},"children":["Troubleshooting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no customer fields appear or no wallet contact data is requested:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm that the required fields are enabled for the correct site in the xMoney Dashboard."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm that the matching ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerDetails"]}," property is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For wallets, confirm that the payment method is enabled and available."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm that the SDK uses the public key for the site you configured."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the SDK cannot load the site's field configuration, customer-detail collection is skipped and the payment can still proceed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-guides","__idx":8},"children":["Related guides"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/inline-checkout/web-integration"},"children":["Website integration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/inline-checkout/custom-layouts"},"children":["Custom layouts"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/payments/payment-methods/apple-pay"},"children":["Apple Pay"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/payments/payment-methods/google-pay"},"children":["Google Pay"]}]}]}]},"headings":[{"value":"Customer Details","id":"customer-details","depth":1},{"value":"Before you start","id":"before-you-start","depth":2},{"value":"Enable customer details","id":"enable-customer-details","depth":2},{"value":"Full payment form example","id":"full-payment-form-example","depth":2},{"value":"Standalone component examples","id":"standalone-component-examples","depth":2},{"value":"Field behavior","id":"field-behavior","depth":2},{"value":"Data handling","id":"data-handling","depth":2},{"value":"Troubleshooting","id":"troubleshooting","depth":2},{"value":"Related guides","id":"related-guides","depth":2}],"frontmatter":{"seo":{"title":"Collect Customer Details in Embedded Checkout | xMoney Documentation","description":"Configure customer name, email, phone, and billing address collection for card, Apple Pay, and Google Pay in xMoney Embedded Checkout."}},"lastModified":"2026-10-01T10:11:35.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/checkout/inline-checkout/customer-details","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}