IO-EPP

 view release on metacpan or  search on metacpan

lib/IO/EPP/IRRP.pm  view on Meta::CPAN


    if ( $params->{dname} =~ /\.jp$/ ) {
        $params->{extension} =
"   <keyvalue:extension $kv_ext>
    <keyvalue:kv key='COMMAND' value='PayDomainRenewal' />
   </keyvalue:extension>
";
    }

    return $self->SUPER::renew_domain( $params );
}


=head2 set_domain_renewal_mode

Update domain renewal mode

L<https://wiki.hexonet.net/wiki/API:SetDomainRenewalMode>

INPUT:

params with key:

C<renewal_mode> – valid values: C<AUTORENEW>, C<AUTODELETE>, C<AUTOEXPIRE>

OUTPUT:
see L<IO::EPP::Base/simple_request>

=cut

sub set_domain_renewal_mode {
    my ( $self, $params ) = @_;

    $params->{renewal_mode} = uc $params->{renewal_mode};

    $params->{extension} = qq|
  <extension>
   <keyvalue:extension  $kv_ext>
      <keyvalue:kv key='COMMAND' value='SetDomainRenewalMode' />
      <keyvalue:kv key='RENEWALMODE' value='$$params{renewal_mode}' />
  </extension>|;

    return $self->SUPER::update_domain( $params );
}


=head2 update_domain

Has additional parameters:

C<trade> – Changing domain contacts requires confirmation or a fee, depending on the tld;

C<confirm_old_registrant> – send confirmation of changing the owner's email address to the old address;

C<confirm_new_registrant>– send confirmation of changing the owner's email address to the new address;

Other additional parameters depend on the tld.

=cut

sub update_domain {
    my ( $self, $params ) = @_;

    my $extension = '';

    # Up keys for key-value extension
    foreach my $k ( keys %$params ) {
        if ( $k =~ /^x-/ ) {
            $params->{ uc($k) } = delete $params->{$k};
        }
    }

    if ( $params->{trade} ) {
        # a paid update or change the owner of the gtld
        $extension .= "    <keyvalue:kv key='COMMAND' value='TradeDomain' />\n";

        if ( $params->{dname} =~ /\.xxx$/ ) {
            $extension .= "    <keyvalue:kv key='X-REQUEST-OPT-OUT-TRANSFERLOCK' value='0' />\n";
        }
    }

    if ( defined $params->{'confirm_old_registrant'} ) {
        # confirm old email
        $extension .= "    <keyvalue:kv key='X-CONFIRM-DA-OLD-REGISTRANT' value='$params->{'confirm_old_registrant'}' />\n";
    }

    if ( defined $params->{'confirm_new_registrant'} ) {
        # confirm new email
        $extension .= "    <keyvalue:kv key='X-CONFIRM-DA-NEW-REGISTRANT' value='$params->{'confirm_new_registrant'}' />\n";
    }

    if ( $extension ) {
        $params->{extension} = "   <keyvalue:extension $kv_ext>\n$extension   </keyvalue:extension>\n";
    }

    return $self->SUPER::update_domain( $params );
}


=head2 restore_domain

Domain redemption after deletion

its own feature instead of rgp:restore

INPUT:

key of params:
C<dname> -- domain name

=cut

sub restore_domain {
    my ( $self, $params ) = @_;

    $params->{extension} =
"   <keyvalue:extension $kv_ext>
    <keyvalue:kv key='COMMAND' value='RestoreDomain' />
   </keyvalue:extension>
";



( run in 0.521 second using v1.01-cache-2.11-cpan-f56aa216473 )