{"id":787,"date":"2024-12-10T14:27:37","date_gmt":"2024-12-10T14:27:37","guid":{"rendered":"https:\/\/blog.zwitch.io\/?p=787"},"modified":"2025-05-27T02:41:24","modified_gmt":"2025-05-27T08:11:24","slug":"guide-to-integrating-zwitchs-pan-verification-api","status":"publish","type":"post","link":"https:\/\/www.zwitch.io\/blog\/guide-to-integrating-zwitchs-pan-verification-api\/","title":{"rendered":"Guide to Integrating Zwitch&#8217;s PAN Verification API"},"content":{"rendered":"\n<p>Verifying a customer&#8217;s <strong>PAN (Permanent Account Number)<\/strong> is a vital step in ensuring regulatory compliance and reducing fraud. This process is particularly crucial for industries like finance and banking, where online PAN verification is a standard for compliance with <strong>Know Your Customer (KYC)<\/strong> norms. With the increasing dependancy on digital systems, integrating PAN verification API has become a necessity for businesses aiming to deliver seamless customer onboarding\/vendor verification.<\/p>\n\n\n\n<h2 id=\"why-pan-verification-is-essential\" class=\"wp-block-heading\">Why PAN Verification is Essential<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Regulatory compliance<\/strong>: PAN verification aligns businesses with KYC requirements, safeguarding them from penalties for non-compliance.<\/li>\n\n\n\n<li><strong>Fraud prevention<\/strong>: PAN verification protects against identity fraud by ensuring the authenticity of customer data.<\/li>\n\n\n\n<li><strong>Legal verification<\/strong>: Establishing a customer&#8217;s financial and tax-related credibility is critical for various business operations, ensuring compliance and informed decision-making.<\/li>\n\n\n\n<li><strong>Trust building<\/strong>: It assures stakeholders and customers that the business is committed to transparency and due diligence, fostering trust and reliability.<\/li>\n<\/ul>\n\n\n\n<p>By incorporating solutions like online PAN verification into your processes, your business can maintain a competitive edge while staying compliant.<\/p>\n\n\n\n<h2 id=\"benefits-of-pan-verification-api\" class=\"wp-block-heading\">Benefits of PAN Verification API <\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Speed<\/strong>: The automated nature of APIs allows businesses to instantly verify PAN details.<\/li>\n\n\n\n<li><strong>Scalability<\/strong>: APIs can handle a high volume of PAN card number checks, supporting businesses as they grow.<\/li>\n\n\n\n<li><strong>Flexibility<\/strong>: With easy integration into existing systems, APIs offer businesses the ability to customize their verification workflows.<\/li>\n\n\n\n<li><strong>Compliance assurance<\/strong>: APIs simplify adhering to regulatory standards, keeping businesses audit-ready.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"automating-pan-verification-with-zwitch-api\" class=\"wp-block-heading\">Automating PAN Verification with Zwitch API<\/h2>\n\n\n\n<p>Zwitch\u2019s PAN Verification API simplifies and automates the process, offering businesses a reliable way to validate PAN details. Let&#8217;s find out below how to integrate Zwitch&#8217;s PAN Verification API step by step.<\/p>\n\n\n\n<h4 id=\"step-1-setting-up-your-zwitch-account\" class=\"wp-block-heading\">Step 1: Setting Up Your Zwitch Account<\/h4>\n\n\n\n<p>To start using the Zwitch API, you\u2019ll first need to create an account with Zwitch. Once the account setup is completed and the required services are activated on your Zwitch dashboard, you\u2019ll get the dedicated API keys for your account\u2014these are special codes that act as your credentials for accessing the API.<\/p>\n\n\n\n<h4 id=\"step-2-authentication-and-authorization\" class=\"wp-block-heading\">Step 2: Authentication and Authorization<\/h4>\n\n\n\n<p>For security reasons, you need to authenticate each API request. This means proving you\u2019re authorized to use the service. You do this by including a <strong>Bearer Token<\/strong> (your access credentials) in the request header.<\/p>\n\n\n\n<p>Here\u2019s how it looks:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Authorization: Bearer &lt;access-key:secret-key&gt;\n<\/code><\/pre>\n\n\n\n<p>This ensures that only authorized users can access the API.<\/p>\n\n\n\n<h4 id=\"step-3-sending-the-api-request-for-pan-verification\" class=\"wp-block-heading\">Step 3: Sending the API Request for PAN Verification<\/h4>\n\n\n\n<p>To verify a PAN number, you need to send a request using the <strong>POST<\/strong> method. This involves sending data to Zwitch\u2019s API at a specific endpoint:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>POST &lt;https:\/\/api.zwitch.io\/v1\/kycs\/pan&gt;\n<\/code><\/pre>\n\n\n\n<p>Here, you&#8217;re asking the API to check the PAN number you\u2019ve provided.<\/p>\n\n\n\n<h4 id=\"required-parameters\" class=\"wp-block-heading\">Required Parameters<\/h4>\n\n\n\n<p>You\u2019ll need to send the following information:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>pan<\/strong>: The customer&#8217;s PAN number.<\/li>\n\n\n\n<li><strong>consent:<\/strong> Consent of the individual to get their details from the PAN database.<\/li>\n\n\n\n<li><strong>merchant_reference_id<\/strong>: A unique identifier for your reference.<\/li>\n\n\n\n<li><strong>metadata<\/strong> (optional): Additional key-value pairs for tracking or analytics.<\/li>\n<\/ul>\n\n\n\n<p>Here\u2019s an example of how your request will look:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"pan\": \"ABCDE1234F\",\n  \"consent\": true,\n  \"merchant_reference_id\": \"order12345\",\n  \"metadata\": {\"key_1\": \"value1\"}\n}\n<\/code><\/pre>\n\n\n\n<p>This is the data you\u2019ll send to the API for verification.<\/p>\n\n\n\n<h2 id=\"interpreting-the-api-response\" class=\"wp-block-heading\">Interpreting the API Response<\/h2>\n\n\n\n<p>Once you\u2019ve sent the request, the API will respond with a result. The response will tell you if the PAN verification was successful or failed, along with other important information.<\/p>\n\n\n\n<p>The API will return a JSON response with the verification results. Key fields include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>id<\/strong>: Unique verification ID.<\/li>\n\n\n\n<li><strong>object:<\/strong> API object that is returned.<\/li>\n\n\n\n<li><strong>pan:<\/strong> The PAN number that was verified.<\/li>\n\n\n\n<li><strong>name_on_pan:<\/strong> The name associated with the PAN.<\/li>\n\n\n\n<li><strong>status<\/strong>: Verification outcome (<code>success<\/code> or <code>failed<\/code>).<\/li>\n\n\n\n<li><strong>merchant_reference_id:<\/strong> The reference ID you provided.<\/li>\n\n\n\n<li><strong>message<\/strong>: Message describing the status of the transaction.<\/li>\n\n\n\n<li><strong>metadata<\/strong>: Additional metadata associated with the request.<\/li>\n\n\n\n<li><strong>created_at<\/strong>: Unix timestamp when Zwitch received the request.<\/li>\n\n\n\n<li><strong>consent:<\/strong> Consent of the individual to get their details from the PAN database.<\/li>\n\n\n\n<li><strong>is_sandbox:<\/strong> Mode in which the API was triggered.<\/li>\n<\/ul>\n\n\n\n<p><strong>Success Response Example:<\/strong><\/p>\n\n\n\n<p>In case of a successful verification, the <strong>status<\/strong> field will say \u201csuccess,\u201d and the <strong>message<\/strong> field will describe \u201cPAN verified\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"id\": \"pan_c7SBj0omWUGu14kkzNIQuE6IT\",\n  \"object\": \"pan_verification\",\n  \"pan\": \"AAAPA0000A\",\n  \"name_on_pan\": \"Anil Reddy\",\n  \"status\": \"success\",\n  \"merchant_reference_id\": \"1004372\",\n  \"message\": \"PAN verified\",\n  \"metadata\": {\"key_1\": \"value1\"},\n  \"created_at\": 1678372317,\n  \"consent\": true,\n  \"is_sandbox\": true\n}\n<\/code><\/pre>\n\n\n\n<p><strong>Failed Response Example:<\/strong><\/p>\n\n\n\n<p>In case of failure, the <strong>status<\/strong> field will say \u201cfailed,\u201d and the <strong>message<\/strong> field will describe why it failed. (e.g., \u201cInvalid PAN\u201d)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"id\": \"pan_HNXk0EA24iFI1mtpNIGDSA35u\",\n  \"object\": \"pan_verification\",\n  \"pan\": \"AAAAA1234A\",\n  \"status\": \"failed\",\n  \"merchant_reference_id\": \"1000631\",\n  \"message\": \"Invalid PAN\",\n  \"created_at\": 1662033729,\n  \"is_sandbox\": false\n}\n<\/code><\/pre>\n\n\n\n<h2 id=\"error-handling\" class=\"wp-block-heading\">Error Handling<\/h2>\n\n\n\n<p>If there\u2019s an issue with your request, you\u2019ll get an error message that helps you understand what went wrong.<\/p>\n\n\n\n<p><strong>401 Unauthorized<\/strong> <br>This means there\u2019s an issue with your API key or token. Make sure you\u2019ve included the correct <strong>Bearer Token<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"error\": {\n    \"type\": \"authentication_error\",\n    \"message\": \"Invalid secret key.\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<p><strong>422 Unprocessable Entity<\/strong><br>This indicates that one or more parameters in your request are incorrect or not formatted properly.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"error\": {\n    \"type\": \"invalid_request_error\",\n    \"message\": \"Received unknown parameter: pan_number\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 id=\"conclusion\" class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>Automating <strong>PAN verification<\/strong> through Zwitch&#8217;s API helps businesses stay compliant, reduce fraud, and improve efficiency. By following the steps outlined in this guide, you can seamlessly integrate PAN verification into your system and start verifying PAN details in no time.<\/p>\n\n\n\n<p>For further details, explore the full <a href=\"https:\/\/developers.zwitch.io\/reference\/verifications-pan-create\" target=\"_blank\" rel=\"noopener\">Zwitch PAN Verification API Documentation<\/a>.<\/p>\n\n\n\n<div style=\"border: 2px solid #ff6600;padding: 20px;text-align: center;background-color: #f9f9f9;margin: 20px 0;font-family: 'Open Sans', sans-serif\">\n    <h2 id=\"interested-in-our-apis-lets-talk\" style=\"font-family: 'Open Sans', sans-serif;font-weight: 800\">Interested in our APIs? Let&#8217;s talk!<\/h2>\n    <p style=\"font-family: 'Open Sans', sans-serif\">Tell us your automation goals, and we\u2019ll set you up with a free, personalized demo from our API expert.<\/p>\n\n    <a href=\"https:\/\/form.typeform.com\/to\/b4t40yJ9?utm-source=zwitch-blog\" style=\"background-color: #ff6600;color: white;padding: 10px 20px;text-decoration: none;border-radius: 5px;font-family: &#039;Open Sans&#039;, sans-serif;font-weight: bold\" target=\"_blank\" rel=\"noopener\">Click Here<\/a>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 id=\"faqs\" class=\"wp-block-heading\">FAQs<\/h2>\n\n\n\n<h6 id=\"how-does-the-zwitch-pan-verification-api-help-my-business\" class=\"wp-block-heading\"><strong>How does the Zwitch PAN Verification API help my business?<\/strong> <\/h6>\n\n\n\n<p>The API automates PAN verification, ensuring compliance, speeding up customer onboarding, and minimizing manual errors, which saves time and enhances operational efficiency.<\/p>\n\n\n\n<h6 id=\"what-details-are-required-to-verify-a-pan-using-zwitchs-api\" class=\"wp-block-heading\"><strong>What details are required to verify a PAN using Zwitch&#8217;s API?<\/strong> <\/h6>\n\n\n\n<p>You need to provide the PAN card number, merchant reference ID, and optionally, metadata for additional tracking.<\/p>\n\n\n\n<h6 id=\"what-is-the-typical-response-from-the-pan-verification-api\" class=\"wp-block-heading\"><strong>What is the typical response from the PAN Verification API?<\/strong> <\/h6>\n\n\n\n<p>The response includes details like verification status (success or failed), the name on the PAN, the PAN number, and additional metadata or error messages if applicable.<\/p>\n\n\n\n<h6 id=\"what-happens-if-the-api-request-fails\" class=\"wp-block-heading\"><strong>What happens if the API request fails?<\/strong> <\/h6>\n\n\n\n<p>Failed requests typically include error codes and messages (e.g., invalid PAN or authentication errors). You can handle these by checking the response and adjusting the input or re-authenticating.<\/p>\n\n\n\n<h6 id=\"is-the-pan-verification-process-secure\" class=\"wp-block-heading\"><strong>Is the PAN verification process secure?<\/strong> <\/h6>\n\n\n\n<p>Yes, Zwitch APIs use secure authentication protocols, including bearer tokens, to ensure data security and compliance with privacy regulations.<\/p>\n\n\n\n<h6 id=\"can-i-use-the-api-in-sandbox-mode-before-going-live\" class=\"wp-block-heading\"><strong>Can I use the API in sandbox mode before going live?<\/strong> <\/h6>\n\n\n\n<p>Yes, Zwitch offers a sandbox environment to test API integrations before deploying them in production.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Simplify compliance, prevent fraud, and streamline onboarding efficiently. A step-by-step guide to integrating Zwitch&#8217;s PAN Verification API.<\/p>\n","protected":false},"author":7,"featured_media":922,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[63],"tags":[],"powerkit_post_featured":[],"class_list":{"0":"post-787","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-compliance"},"_links":{"self":[{"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/posts\/787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/comments?post=787"}],"version-history":[{"count":1,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/posts\/787\/revisions"}],"predecessor-version":[{"id":2064,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/posts\/787\/revisions\/2064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/media\/922"}],"wp:attachment":[{"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/media?parent=787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/categories?post=787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/tags?post=787"},{"taxonomy":"powerkit_post_featured","embeddable":true,"href":"https:\/\/www.zwitch.io\/blog\/wp-json\/wp\/v2\/powerkit_post_featured?post=787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}