metaregistrar / php-epp-client

Object-oriented PHP EPP Client
https://www.metaregistrar.com/docs/
MIT License
214 stars 160 forks source link

X-DE-ACCEPT-TRUSTEE-TAC=1 for creating a .de domain #36

Closed kevinvdburgt closed 8 years ago

kevinvdburgt commented 8 years ago

Hello,

When requesting a domain creation for a .de domain it requires a trustee service, the X-DE-ACCEPT-TRUSTEE-TAC=1. See: https://wiki.rrpproxy.net/DE#Domain_registration_with_Trustee_Service

Is there something i did wrong, or is this part missing in the MetaRegistrar library?

Request:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:keysys="http://www.key-systems.net/epp/keysys-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
  <command>
    <create>
      <domain:create>
        <domain:name>xxx.de</domain:name>
        <domain:ns>
          <domain:hostObj>ns1.xxx.nl</domain:hostObj>
          <domain:hostObj>ns2.xxx.nl</domain:hostObj>
        </domain:ns>
        <domain:registrant>xxx</domain:registrant>
        <domain:contact type="admin">xxx</domain:contact>
        <domain:contact type="tech">xxx</domain:contact>
        <domain:contact type="billing">xxx</domain:contact>
        <domain:authInfo>
          <domain:pw>xxx</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <clTRID>xxx</clTRID>
  </command>
</epp>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="2004">
      <msg>Parameter value range error</msg>
      <value>
        <text>Invalid attribute value; owner or admin contact must have a german address. please provide valid contacts or use trustee service.</text>
      </value>
    </result>
    <trID>
      <clTRID>xxx</clTRID>
      <svTRID>xxx</svTRID>
    </trID>
  </response>
</epp>
kevinvdburgt commented 8 years ago

See also #37

metaregistrar commented 8 years ago

Hi Kevin,

The standard php-epp-client will only send out standard EPP commands. If you want to add registry-specific stuff you need to use the extensions.

For an example of this, see Protocols/EPP/eppExtensions/keysys-1.0/eppRequests

Here we have amended the eppUpdateDomainRequest to a rrpproxyEppUpdateDomainRequest, by adding the keysys:de-accept-trustee-tac to the request

you can do the same for a create command, but this has not been added to the php-epp-client yet.

if you have made such an amendment for yourself, please be so kind to push it as an pull request into the client, so other people can use it also.

kevinvdburgt commented 8 years ago

Thanks for your reply, I am trying to figure out how those extensions work.

As example i used the request rrpproxyEppUpdateDomainRequest instead of eppUpdateDomainRequest which will add the following XML to the frame:

  <extension>
     <keysys:update xmlns:keysys="http://www.key-systems.net/epp/keysys-1.0">
       <keysys:domain>
         <keysys:de-accept-trustee-tac>1</keysys:de-accept-trustee-tac>
       </keysys:domain>
     </keysys:update>
   </extension>

However, this is only required for the .de TLD and isn't required for other TLD's. So, how can i use specific extension requests for specific TLD's instead of only the registrar?

metaregistrar commented 8 years ago

For a .DE domain name, u use "new rrpproxyEppUpdateDomainRequest" and specify the TAC accordingly

For a non-DE name, u use "new eppUpdateDomainRequest" as standard update request,

kevinvdburgt commented 8 years ago

I see, isn't it a better idea to use a new eppUpdateDomainRequest for DE and NON-DE TLD's and let the eppUpdateDomainRequest detect if it is a DE TLD?

metaregistrar commented 8 years ago

That depends, if you do .DE domains not via Key Systems but via another registrar, you might need to use other fields. So this extension is exclusive for Key Systems and .DE domain names, and cannot be used in other occasions.