<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: paylentra-com- buyverifiedshopifyaccounts</title>
    <description>The latest articles on DEV Community by paylentra-com- buyverifiedshopifyaccounts (@buyverifiedshopifyac).</description>
    <link>https://dev.to/buyverifiedshopifyac</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4054506%2Fe6a3bee1-6679-479a-9bd7-684157c099ad.jpg</url>
      <title>DEV Community: paylentra-com- buyverifiedshopifyaccounts</title>
      <link>https://dev.to/buyverifiedshopifyac</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/buyverifiedshopifyac"/>
    <language>en</language>
    <item>
      <title>Best Site for Sumsub KYC</title>
      <dc:creator>paylentra-com- buyverifiedshopifyaccounts</dc:creator>
      <pubDate>Thu, 30 Jul 2026 08:34:03 +0000</pubDate>
      <link>https://dev.to/buyverifiedshopifyac/best-site-for-sumsub-kyc-3peh</link>
      <guid>https://dev.to/buyverifiedshopifyac/best-site-for-sumsub-kyc-3peh</guid>
      <description>&lt;p&gt;How to Use Sumsub KYC Verification Service: A Complete Step-by-Step Guide&lt;/p&gt;

&lt;p&gt;&lt;a href="https://paylentra.com/product/sumsub-kyc-verification-service/" rel="noopener noreferrer"&gt;https://paylentra.com/product/sumsub-kyc-verification-service/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whatsapp:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wa.me/12089034496" rel="noopener noreferrer"&gt;https://wa.me/12089034496&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Telegram:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://t.me/paylentra" rel="noopener noreferrer"&gt;https://t.me/paylentra&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sumsub (Sum verification) is a leading identity verification platform that helps businesses automate Know Your Customer (KYC), Know Your Business (KYB), Anti-Money Laundering (AML) screening, and fraud prevention.&lt;/p&gt;

&lt;p&gt;Whether you are launching a fintech app, crypto exchange, marketplace, or any platform requiring identity compliance, this guide provides a step-by-step walkthrough on how to set up, integrate, and manage Sumsub’s KYC verification service.&lt;/p&gt;

&lt;p&gt;Prerequisites&lt;/p&gt;

&lt;p&gt;Before starting the integration, ensure you have:&lt;/p&gt;

&lt;p&gt;A Sumsub Account (sign up at sumsub.com).&lt;/p&gt;

&lt;p&gt;Access to the Sumsub Dashboard (Developer Console).&lt;/p&gt;

&lt;p&gt;Basic knowledge of API calls (REST APIs) and frontend integration (HTML/JS or mobile SDKs).&lt;/p&gt;

&lt;p&gt;Step 1: Account Setup and Sandbox Environment&lt;/p&gt;

&lt;p&gt;To ensure a smooth launch without affecting live users, begin in the Sandbox (Test) Mode:&lt;/p&gt;

&lt;p&gt;Log in to your Sumsub Dashboard.&lt;/p&gt;

&lt;p&gt;Toggle to Sandbox Mode: In the upper menu, switch the environment from Production to Sandbox.&lt;/p&gt;

&lt;p&gt;Generate API Keys:&lt;/p&gt;

&lt;p&gt;Go to Dev Space &amp;gt; App Tokens.&lt;/p&gt;

&lt;p&gt;Click Create App Token.&lt;/p&gt;

&lt;p&gt;Provide a token description (e.g., Development Backend Token).&lt;/p&gt;

&lt;p&gt;Assign the required permissions (Secret Key generation enabled).&lt;/p&gt;

&lt;p&gt;Save your App Token and Secret Key securely. You will need these to sign server-to-server API requests.&lt;/p&gt;

&lt;p&gt;Step 2: Configure Verification Levels (Workflows)&lt;/p&gt;

&lt;p&gt;Sumsub uses Applicant Levels to define what documents and checks are required for a user during the onboarding flow.&lt;/p&gt;

&lt;p&gt;Navigate to Dev Space &amp;gt; Applicant Levels.&lt;/p&gt;

&lt;p&gt;Click Create Level or edit a default level (e.g., basic-kyc-level).&lt;/p&gt;

&lt;p&gt;Select the required verification steps:&lt;/p&gt;

&lt;p&gt;Identity Document: Passport, ID Card, Driver's License.&lt;/p&gt;

&lt;p&gt;Liveness / Biometrics: 3D Facial Recognition scan.&lt;/p&gt;

&lt;p&gt;Proof of Address (PoA): Utility bill, bank statement.&lt;/p&gt;

&lt;p&gt;Questionnaire / PEP &amp;amp; Sanctions: AML screening against global databases.&lt;/p&gt;

&lt;p&gt;Customize country-specific rules or strictness settings as required by your jurisdiction.&lt;/p&gt;

&lt;p&gt;Step 3: Architecture Overview &amp;amp; Integration Flow&lt;/p&gt;

&lt;p&gt;The standard Sumsub KYC integration consists of three main parts:&lt;/p&gt;

&lt;p&gt;[ Client App / Frontend ] &amp;lt;---&amp;gt; [ Your Backend Server ] &amp;lt;---&amp;gt; [ Sumsub API ]&lt;/p&gt;

&lt;p&gt;Your Backend authenticates with Sumsub using your API Keys and generates an Access Token for the user.&lt;/p&gt;

&lt;p&gt;Your Frontend initializes the Sumsub WebSDK / Mobile SDK using the generated Access Token.&lt;/p&gt;

&lt;p&gt;The User completes the verification steps inside the SDK iframe or app view.&lt;/p&gt;

&lt;p&gt;Sumsub processes the submitted documents and sends a Webhook notification back to your server with the result.&lt;/p&gt;

&lt;p&gt;Step 4: Backend Implementation (Generating Access Tokens)&lt;/p&gt;

&lt;p&gt;Sumsub access tokens are temporary (usually valid for 10–15 minutes) and scoped to an individual user (userId).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generating the HMAC Signature&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All server-to-server requests to Sumsub require an X-App-Access-Sig header signed using HMAC-SHA256 with your Secret Key.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requesting the Access Token&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Make a POST request from your backend to Sumsub's API:&lt;/p&gt;

&lt;p&gt;Endpoint: POST &lt;a href="https://api.sumsub.com/resources/accessTokens?userId=%7BuserId%7D&amp;amp;levelName=%7BlevelName%7D" rel="noopener noreferrer"&gt;https://api.sumsub.com/resources/accessTokens?userId={userId}&amp;amp;levelName={levelName}&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Headers:&lt;/p&gt;

&lt;p&gt;X-App-Token: Your App Token&lt;/p&gt;

&lt;p&gt;X-App-Access-Sig: Calculated HMAC-SHA256 signature&lt;/p&gt;

&lt;p&gt;X-App-Access-Ts: Current Unix timestamp (in seconds)&lt;/p&gt;

&lt;p&gt;Example Response:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "token": "sbx:_act-482f3a9e-8b1a-4f51-b883-exampleToken",&lt;br&gt;
  "userId": "user_12345"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Step 5: Frontend Integration (WebSDK Example)&lt;/p&gt;

&lt;p&gt;Sumsub provides pre-built Web and Mobile SDKs that handle camera permissions, UI/UX, document validation, and error messaging out of the box.&lt;/p&gt;

&lt;p&gt;WebSDK HTML/JavaScript Integration&lt;/p&gt;

&lt;p&gt;Include the Sumsub WebSDK script and initialize it on your web page:&lt;/p&gt;

&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;/p&gt;
KYC Verification
&lt;br&gt;
  &lt;br&gt;
&lt;br&gt;


&lt;p&gt;&amp;lt;!-- Container where the verification widget will render --&amp;gt;&lt;br&gt;
  &lt;/p&gt;


&lt;p&gt;&amp;lt;br&amp;gt;
    // Fetch access token from your backend server&amp;lt;br&amp;gt;
    async function getAccessToken() {&amp;lt;br&amp;gt;
      const response = await fetch(&amp;amp;#39;/api/get-sumsub-token&amp;amp;#39;);&amp;lt;br&amp;gt;
      const data = await response.json();&amp;lt;br&amp;gt;
      return data.token;&amp;lt;br&amp;gt;
    }&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;async function launchKYC() {
  const accessToken = await getAccessToken();

  // Launch the WebSDK
  const snsWebSdkInstance = snsWebSdk.init(
    accessToken,
    // Function to refresh token if it expires during the session
    () =&amp;amp;gt; getAccessToken()
  )
  .withConf({
    lang: 'en',
    email: 'user@example.com'
  })
  .on('onApplicantSubmitted', (payload) =&amp;amp;gt; {
    console.log('Applicant submitted documents:', payload);
  })
  .on('onApplicantReviewed', (payload) =&amp;amp;gt; {
    console.log('Applicant review status:', payload);
  })
  .on('onError', (error) =&amp;amp;gt; {
    console.error('WebSDK error:', error);
  })
  .build();

  // Render the widget in the container
  snsWebSdkInstance.launch('#sumsub-websdk-container');
}

launchKYC();
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Step 6: Handling Webhooks&lt;/p&gt;

&lt;p&gt;Never rely solely on client-side callbacks to update a user's verification status in your system. Webhooks are essential for secure server-side synchronization.&lt;/p&gt;

&lt;p&gt;Navigate to Dev Space &amp;gt; Webhooks in the Sumsub Dashboard.&lt;/p&gt;

&lt;p&gt;Click Add Webhook Target.&lt;/p&gt;

&lt;p&gt;Set your server endpoint URL (e.g., &lt;a href="https://your-domain.com/api/webhooks/sumsub" rel="noopener noreferrer"&gt;https://your-domain.com/api/webhooks/sumsub&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Select the events you wish to receive:&lt;/p&gt;

&lt;p&gt;applicantReviewed: Triggered when an applicant's check is finalized (GREEN for approved, RED for rejected).&lt;/p&gt;

&lt;p&gt;applicantPending: Triggered when document submission is complete and review starts.&lt;/p&gt;

&lt;p&gt;Store the Secret Key provided for verifying incoming webhook signatures.&lt;/p&gt;

&lt;p&gt;Handling applicantReviewed Payload Example&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "applicantId": "60a7bc3f2e1f...",&lt;br&gt;
  "externalUserId": "user_12345",&lt;br&gt;
  "reviewStatus": "completed",&lt;br&gt;
  "reviewResult": {&lt;br&gt;
    "reviewAnswer": "GREEN" &lt;br&gt;
  },&lt;br&gt;
  "type": "applicantReviewed"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;GREEN: User passed verification. Mark as verified in your database.&lt;/p&gt;

&lt;p&gt;RED: User failed verification. Check rejectLabels and clientComment for detailed rejection reasons (e.g., expired ID, blurred photo).&lt;/p&gt;

&lt;p&gt;Step 7: Testing in Sandbox Mode&lt;/p&gt;

&lt;p&gt;Sumsub provides test documents to simulate various verification outcomes without using real IDs:&lt;/p&gt;

&lt;p&gt;Download sample test documents from Sumsub’s official documentation (e.g., test passports, driver’s licenses).&lt;/p&gt;

&lt;p&gt;Complete the WebSDK workflow using these test documents.&lt;/p&gt;

&lt;p&gt;Observe how your backend handles webhook events for both approved and rejected outcomes.&lt;/p&gt;

&lt;p&gt;Step 8: Moving to Production&lt;/p&gt;

&lt;p&gt;When your integration tests pass and you are ready to go live:&lt;/p&gt;

&lt;p&gt;Switch your environment toggle in the Sumsub Dashboard from Sandbox to Production.&lt;/p&gt;

&lt;p&gt;Create production App Tokens and Secret Keys.&lt;/p&gt;

&lt;p&gt;Update your backend environment variables to point to the production keys and live API base URL (&lt;a href="https://api.sumsub.com" rel="noopener noreferrer"&gt;https://api.sumsub.com&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Ensure your webhook endpoint points to your live server with SSL enabled (https://).&lt;/p&gt;

&lt;p&gt;Summary of Best Practices&lt;/p&gt;

&lt;p&gt;Always verify webhook signatures on your backend to prevent unauthorized request spoofing.&lt;/p&gt;

&lt;p&gt;Implement token refresh handlers in the Web/Mobile SDK so users aren't disconnected if their session takes longer than expected.&lt;/p&gt;

&lt;p&gt;Use Applicant Levels wisely: Match verification requirements to user risk profiles (e.g., light KYC for registration, full KYC for withdrawals).&lt;/p&gt;

&lt;p&gt;Monitor Analytics: Utilize Sumsub's Dashboard metrics to monitor pass rates, average processing times, and drop-off points.&lt;/p&gt;

</description>
      <category>sumsubkyc</category>
    </item>
    <item>
      <title>Paylentra.COM: Sumsub KYC Verification Service</title>
      <dc:creator>paylentra-com- buyverifiedshopifyaccounts</dc:creator>
      <pubDate>Thu, 30 Jul 2026 08:23:23 +0000</pubDate>
      <link>https://dev.to/buyverifiedshopifyac/paylentracom-sumsub-kyc-verification-service-4eh6</link>
      <guid>https://dev.to/buyverifiedshopifyac/paylentracom-sumsub-kyc-verification-service-4eh6</guid>
      <description>&lt;p&gt;How to Use Sumsub KYC Verification Service: A Complete Step-by-Step Guide&lt;/p&gt;

&lt;p&gt;**&lt;a href="https://paylentra.com/product/sumsub-kyc-verification-service/" rel="noopener noreferrer"&gt;https://paylentra.com/product/sumsub-kyc-verification-service/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whatsapp:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wa.me/12089034496" rel="noopener noreferrer"&gt;https://wa.me/12089034496&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Telegram:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://t.me/paylentra**" rel="noopener noreferrer"&gt;https://t.me/paylentra**&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sumsub (Sum verification) is a leading identity verification platform that helps businesses automate Know Your Customer (KYC), Know Your Business (KYB), Anti-Money Laundering (AML) screening, and fraud prevention.&lt;/p&gt;

&lt;p&gt;Whether you are launching a fintech app, crypto exchange, marketplace, or any platform requiring identity compliance, this guide provides a step-by-step walkthrough on how to set up, integrate, and manage Sumsub’s KYC verification service.&lt;/p&gt;

&lt;p&gt;Prerequisites&lt;/p&gt;

&lt;p&gt;Before starting the integration, ensure you have:&lt;/p&gt;

&lt;p&gt;A Sumsub Account (sign up at sumsub.com).&lt;/p&gt;

&lt;p&gt;Access to the Sumsub Dashboard (Developer Console).&lt;/p&gt;

&lt;p&gt;Basic knowledge of API calls (REST APIs) and frontend integration (HTML/JS or mobile SDKs).&lt;/p&gt;

&lt;p&gt;Step 1: Account Setup and Sandbox Environment&lt;/p&gt;

&lt;p&gt;To ensure a smooth launch without affecting live users, begin in the Sandbox (Test) Mode:&lt;/p&gt;

&lt;p&gt;Log in to your Sumsub Dashboard.&lt;/p&gt;

&lt;p&gt;Toggle to Sandbox Mode: In the upper menu, switch the environment from Production to Sandbox.&lt;/p&gt;

&lt;p&gt;Generate API Keys:&lt;/p&gt;

&lt;p&gt;Go to Dev Space &amp;gt; App Tokens.&lt;/p&gt;

&lt;p&gt;Click Create App Token.&lt;/p&gt;

&lt;p&gt;Provide a token description (e.g., Development Backend Token).&lt;/p&gt;

&lt;p&gt;Assign the required permissions (Secret Key generation enabled).&lt;/p&gt;

&lt;p&gt;Save your App Token and Secret Key securely. You will need these to sign server-to-server API requests.&lt;/p&gt;

&lt;p&gt;Step 2: Configure Verification Levels (Workflows)&lt;/p&gt;

&lt;p&gt;Sumsub uses Applicant Levels to define what documents and checks are required for a user during the onboarding flow.&lt;/p&gt;

&lt;p&gt;Navigate to Dev Space &amp;gt; Applicant Levels.&lt;/p&gt;

&lt;p&gt;Click Create Level or edit a default level (e.g., basic-kyc-level).&lt;/p&gt;

&lt;p&gt;Select the required verification steps:&lt;/p&gt;

&lt;p&gt;Identity Document: Passport, ID Card, Driver's License.&lt;/p&gt;

&lt;p&gt;Liveness / Biometrics: 3D Facial Recognition scan.&lt;/p&gt;

&lt;p&gt;Proof of Address (PoA): Utility bill, bank statement.&lt;/p&gt;

&lt;p&gt;Questionnaire / PEP &amp;amp; Sanctions: AML screening against global databases.&lt;/p&gt;

&lt;p&gt;Customize country-specific rules or strictness settings as required by your jurisdiction.&lt;/p&gt;

&lt;p&gt;Step 3: Architecture Overview &amp;amp; Integration Flow&lt;/p&gt;

&lt;p&gt;The standard Sumsub KYC integration consists of three main parts:&lt;/p&gt;

&lt;p&gt;[ Client App / Frontend ] &amp;lt;---&amp;gt; [ Your Backend Server ] &amp;lt;---&amp;gt; [ Sumsub API ]&lt;/p&gt;

&lt;p&gt;Your Backend authenticates with Sumsub using your API Keys and generates an Access Token for the user.&lt;/p&gt;

&lt;p&gt;Your Frontend initializes the Sumsub WebSDK / Mobile SDK using the generated Access Token.&lt;/p&gt;

&lt;p&gt;The User completes the verification steps inside the SDK iframe or app view.&lt;/p&gt;

&lt;p&gt;Sumsub processes the submitted documents and sends a Webhook notification back to your server with the result.&lt;/p&gt;

&lt;p&gt;Step 4: Backend Implementation (Generating Access Tokens)&lt;/p&gt;

&lt;p&gt;Sumsub access tokens are temporary (usually valid for 10–15 minutes) and scoped to an individual user (userId).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generating the HMAC Signature&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All server-to-server requests to Sumsub require an X-App-Access-Sig header signed using HMAC-SHA256 with your Secret Key.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requesting the Access Token&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Make a POST request from your backend to Sumsub's API:&lt;/p&gt;

&lt;p&gt;Endpoint: POST &lt;a href="https://api.sumsub.com/resources/accessTokens?userId=%7BuserId%7D&amp;amp;levelName=%7BlevelName%7D" rel="noopener noreferrer"&gt;https://api.sumsub.com/resources/accessTokens?userId={userId}&amp;amp;levelName={levelName}&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Headers:&lt;/p&gt;

&lt;p&gt;X-App-Token: Your App Token&lt;/p&gt;

&lt;p&gt;X-App-Access-Sig: Calculated HMAC-SHA256 signature&lt;/p&gt;

&lt;p&gt;X-App-Access-Ts: Current Unix timestamp (in seconds)&lt;/p&gt;

&lt;p&gt;Example Response:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "token": "sbx:_act-482f3a9e-8b1a-4f51-b883-exampleToken",&lt;br&gt;
  "userId": "user_12345"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Step 5: Frontend Integration (WebSDK Example)&lt;/p&gt;

&lt;p&gt;Sumsub provides pre-built Web and Mobile SDKs that handle camera permissions, UI/UX, document validation, and error messaging out of the box.&lt;/p&gt;

&lt;p&gt;WebSDK HTML/JavaScript Integration&lt;/p&gt;

&lt;p&gt;Include the Sumsub WebSDK script and initialize it on your web page:&lt;/p&gt;

&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;/p&gt;
KYC Verification
&lt;br&gt;
  &lt;br&gt;
&lt;br&gt;


&lt;p&gt;&amp;lt;!-- Container where the verification widget will render --&amp;gt;&lt;br&gt;
  &lt;/p&gt;


&lt;p&gt;&amp;lt;br&amp;gt;
    // Fetch access token from your backend server&amp;lt;br&amp;gt;
    async function getAccessToken() {&amp;lt;br&amp;gt;
      const response = await fetch(&amp;amp;#39;/api/get-sumsub-token&amp;amp;#39;);&amp;lt;br&amp;gt;
      const data = await response.json();&amp;lt;br&amp;gt;
      return data.token;&amp;lt;br&amp;gt;
    }&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;async function launchKYC() {
  const accessToken = await getAccessToken();

  // Launch the WebSDK
  const snsWebSdkInstance = snsWebSdk.init(
    accessToken,
    // Function to refresh token if it expires during the session
    () =&amp;amp;gt; getAccessToken()
  )
  .withConf({
    lang: 'en',
    email: 'user@example.com'
  })
  .on('onApplicantSubmitted', (payload) =&amp;amp;gt; {
    console.log('Applicant submitted documents:', payload);
  })
  .on('onApplicantReviewed', (payload) =&amp;amp;gt; {
    console.log('Applicant review status:', payload);
  })
  .on('onError', (error) =&amp;amp;gt; {
    console.error('WebSDK error:', error);
  })
  .build();

  // Render the widget in the container
  snsWebSdkInstance.launch('#sumsub-websdk-container');
}

launchKYC();
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Step 6: Handling Webhooks&lt;/p&gt;

&lt;p&gt;Never rely solely on client-side callbacks to update a user's verification status in your system. Webhooks are essential for secure server-side synchronization.&lt;/p&gt;

&lt;p&gt;Navigate to Dev Space &amp;gt; Webhooks in the Sumsub Dashboard.&lt;/p&gt;

&lt;p&gt;Click Add Webhook Target.&lt;/p&gt;

&lt;p&gt;Set your server endpoint URL (e.g., &lt;a href="https://your-domain.com/api/webhooks/sumsub" rel="noopener noreferrer"&gt;https://your-domain.com/api/webhooks/sumsub&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Select the events you wish to receive:&lt;/p&gt;

&lt;p&gt;applicantReviewed: Triggered when an applicant's check is finalized (GREEN for approved, RED for rejected).&lt;/p&gt;

&lt;p&gt;applicantPending: Triggered when document submission is complete and review starts.&lt;/p&gt;

&lt;p&gt;Store the Secret Key provided for verifying incoming webhook signatures.&lt;/p&gt;

&lt;p&gt;Handling applicantReviewed Payload Example&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "applicantId": "60a7bc3f2e1f...",&lt;br&gt;
  "externalUserId": "user_12345",&lt;br&gt;
  "reviewStatus": "completed",&lt;br&gt;
  "reviewResult": {&lt;br&gt;
    "reviewAnswer": "GREEN" &lt;br&gt;
  },&lt;br&gt;
  "type": "applicantReviewed"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;GREEN: User passed verification. Mark as verified in your database.&lt;/p&gt;

&lt;p&gt;RED: User failed verification. Check rejectLabels and clientComment for detailed rejection reasons (e.g., expired ID, blurred photo).&lt;/p&gt;

&lt;p&gt;Step 7: Testing in Sandbox Mode&lt;/p&gt;

&lt;p&gt;Sumsub provides test documents to simulate various verification outcomes without using real IDs:&lt;/p&gt;

&lt;p&gt;Download sample test documents from Sumsub’s official documentation (e.g., test passports, driver’s licenses).&lt;/p&gt;

&lt;p&gt;Complete the WebSDK workflow using these test documents.&lt;/p&gt;

&lt;p&gt;Observe how your backend handles webhook events for both approved and rejected outcomes.&lt;/p&gt;

&lt;p&gt;Step 8: Moving to Production&lt;/p&gt;

&lt;p&gt;When your integration tests pass and you are ready to go live:&lt;/p&gt;

&lt;p&gt;Switch your environment toggle in the Sumsub Dashboard from Sandbox to Production.&lt;/p&gt;

&lt;p&gt;Create production App Tokens and Secret Keys.&lt;/p&gt;

&lt;p&gt;Update your backend environment variables to point to the production keys and live API base URL (&lt;a href="https://api.sumsub.com" rel="noopener noreferrer"&gt;https://api.sumsub.com&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Ensure your webhook endpoint points to your live server with SSL enabled (https://).&lt;/p&gt;

&lt;p&gt;Summary of Best Practices&lt;/p&gt;

&lt;p&gt;Always verify webhook signatures on your backend to prevent unauthorized request spoofing.&lt;/p&gt;

&lt;p&gt;Implement token refresh handlers in the Web/Mobile SDK so users aren't disconnected if their session takes longer than expected.&lt;/p&gt;

&lt;p&gt;Use Applicant Levels wisely: Match verification requirements to user risk profiles (e.g., light KYC for registration, full KYC for withdrawals).&lt;/p&gt;

&lt;p&gt;Monitor Analytics: Utilize Sumsub's Dashboard metrics to monitor pass rates, average processing times, and drop-off points.&lt;/p&gt;

</description>
      <category>sumsubkycservice</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
