{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Transfer Policy (IRTP) Management","description":"Developer documentation for the WHMCS API — the","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":"transfer-policy-irtp-management","__idx":0},"children":["Transfer Policy (IRTP) Management"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Inter Registry Transfer Policy, (also commonly referred to as IRTP), states that any time a material change is made to a domain's registrant, organization or email address, a new Change of Registrant process should be triggered."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In WHMCS 7.6 and later, registrar modules can incorporate support for Transfer Policy related messaging as follows."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"whois-contact-verification","__idx":1},"children":["WHOIS Contact Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["WHMCS supports display of informational banners and messaging when contact verification is required, either due to a newly registered domain or a change in WHOIS contact information being requested."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For these informational alerts to be displayed, the appropriate attributes need to be set via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GetDomainInformation"]}," method within a registrar module."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A description of the methods used in WHOIS Contact Verification messaging are provided below:"]},{"$$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":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setIsIrtpEnabled"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Must be set to true to enable Transfer Policy functionality."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setIrtpOptOutStatus"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["True or false depending on the current opt-out status for the Inter Registry Transfer Policy (optional)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setIrtpTransferLock"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["True or false depending on the current IRTP Transfer Lock status for the given domain (optional)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setIrtpTransferLockExpiryDate"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Date"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The expiry date of the transfer lock (optional)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setDomainContactChangePending"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["True if a WHOIS Contact Verification process is in progress"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setPendingSuspension"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["True if failure to complete the current WHOIS Contact Verification process will result in domain suspension (typically for new registrations)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setDomainContactChangeExpiryDate"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Date"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The date by which the current WHOIS Contact Verification process must be completed by"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["setIrtpVerificationTriggerFields"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The fields of WHOIS that when changed will trigger a new WHOIS Contact Verification process"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-usage","__idx":2},"children":["Example Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"use WHMCS\\Carbon;\nuse WHMCS\\Domain\\Registrar\\Domain;\n\nfunction modulename_GetDomainInformation(array $params) {\n\t// Perform API call to retrieve domain information\n\n\treturn (new Domain)\n        ->setIsIrtpEnabled(true)\n        ->setIrtpOptOutStatus(false)\n        ->setIrtpTransferLock(true)\n        ->setIrtpTransferLockExpiryDate(Carbon::createFromFormat('Y-m-d', '2019-06-15'))\n        ->setDomainContactChangePending(true)\n        ->setPendingSuspension(true)\n        ->setDomainContactChangeExpiryDate(Carbon::createFromFormat('Y-m-d', '2018-08-20'))\n        ->setIrtpVerificationTriggerFields(\n            [\n                'Registrant' => [\n                    'First Name',\n                    'Last Name',\n                    'Organization Name',\n                    'Email',\n                ],\n            ]\n        );\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Other attributes relating to a domain are supported. More information on these can be found in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/domain-registrars/domain-information/"},"children":["Domain Information"]}," documentation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resend-contact-verification-email","__idx":3},"children":["Resend Contact Verification Email"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If supported by a registrar API, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ResendIRTPVerificationEmail"]}," function can be defined within a registrar module to allow end users and administrators to request the WHOIS Contact Verification emails be resent."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The standard registrar module parameters are passed to this function, errors are supported using the standard array based return as in other registrar module functions."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-usage-1","__idx":4},"children":["Example Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"function modulename_ResendIRTPVerificationEmail(array $params) {\n\t// Perform API call to initiate resending of the IRTP Verification Email\n\t$success = true;\n\t$errorMessage = '';\n\n\tif ($success) {\n\t\treturn ['success' => true];\n\t} else {\n\t\treturn ['error' => $errorMessage];\n\t}\n}\n"},"children":[]}]},"headings":[{"value":"Transfer Policy (IRTP) Management","id":"transfer-policy-irtp-management","depth":1},{"value":"WHOIS Contact Verification","id":"whois-contact-verification","depth":2},{"value":"Example Usage","id":"example-usage","depth":3},{"value":"Resend Contact Verification Email","id":"resend-contact-verification-email","depth":2},{"value":"Example Usage","id":"example-usage-1","depth":3}],"frontmatter":{"title":"Transfer Policy (IRTP) Management","seo":{"title":"Transfer Policy (IRTP) Management"}},"lastModified":"2026-08-03T17:00:42.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/domain-registrars/transfer-policy-management","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}