Domain mapping: How does enom handle renewals?

I have domain mapping setup with "ProSites PayPal gateway" to sell domain names through enom.

Does enom collect a one-time payment or initiate an annual PayPal subscription? Who is the domain registered to? How are transfers handled?

  • Vaughan
    • Support/SLS MockingJay

    Hi Joe,

    Hope you're well?

    This is what the developer said in a different thread regarding this process.

    Everything happens internally via the API. They search for a domain, pay for it via CC (credit card) in an AJAX popup (you need an SSL certificate), and that's all they have to do. The API takes care of the rest, including DNS setup.

    Domains are owned by the user, in their own eNom sub-account of yours, so you get the defined commission you want for the purchase.

    Hope this helps

  • joe
    • Site Builder, Child of Zeus

    Using the econ gateway produces a link "Purchase this domain," that sends the user to a page in the sub-site wp admin to enter credit card and registration info. This page will need an SSL. I don't want to purchase an SSL for every site. Is it possible to send the user to this form on a network wide secure page at the master site level? Even better would be to send the user to the form on econ's server and their SSL. Is that possible?

  • joe
    • Site Builder, Child of Zeus

    My site is on a DreamHost VPS. They won't allow a wildcard SSL. So,

    is it possible to send the user to the domain registration form on a network wide secure page at the master site level? Even better would be to send the user to the form on econ's server and their SSL. Is that possible?

  • joe
    • Site Builder, Child of Zeus

    Returning to the PayPal option.... If the option is part of the plugin, it must work somehow, right?

    How does the domain get registered going through the paypal gateway? How are renewals and transfers handled?

  • Ivan
    • HummingBird

    Hi Joe,

    PayPal is not part of the Domain Mapping options, it is used when integrating with Pro Sites, so you can charge for hosting, so there is no way to sell domains using only PayPal.

    You will need to use domain register and they handle payments themselves.

    Unfortunately you will need wildcart SSL.

    Thanks,
    Ivan

  • joe
    • Site Builder, Child of Zeus

    not an option? I'm confused. re:screenshot

    Is it possible to send the user to the domain registration form on a network wide secure page at the master site level? Even better would be to send the user to the form on econ's server and their SSL. Is that possible?

  • joe
    • Site Builder, Child of Zeus

    Hello Ivan,

    Thanks for your response.

    Below is the function on /domain-mapping/classes/Domainmap/Reseller.php that builds the "Purchase this domain" link.

    I would like to modify this to send the user to the (SSL secured) form on the master site. Any ideas? Is this possible?

    public function get_domain_available_response( $sld, $tld, $purchase_link = false ) {
    		global $wpdb;
    		if ( !$purchase_link ) {
    			$purchase_link = add_query_arg( array(
    				'action'  => Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM,
    				'nonce'   => wp_create_nonce( Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM ),
    				'tld'     => $tld,
    				'blog'    => $wpdb->blogid,
    				'success' => urlencode( add_query_arg( 'page', 'domainmapping', admin_url( 'tools.php' ) ) ),
    				'cancel'  => urlencode( site_url( add_query_arg( array(
    					'sld' => $sld,
    					'tld' => $tld,
    				), wp_get_referer() ) ) ),
    			), admin_url( '/admin-ajax.php' ) );
    
    			$purchase_link = sprintf(
    				'<a class="domainmapping-purchase-link" href="%s"><b>%s</b></a>',
    				$purchase_link,
    				__( 'Purchase this domain.', 'domainmap' )
    			);
    		}
  • joe
    • Site Builder, Child of Zeus

    Adding to the confusion is this post that describes using PayPal Pro with domain mapping:

    https://premium.wpmudev.org/forums/topic/what-payment-system-if-any-would-allow-recurring-domain-regsitration-with-domain-mapping

    So does domain mapping allow recurring billing? I'm now using Paypal Pro. Or is the recurring a feature that would have to be integrated?

    Thank you! Billy

    Jack Kitterhing Staff

    Hi there Billy,

    Hope you're well today, the Pro sites handles the recurring billing for the site and then the domain should be charged every year, if that makes sense? :slight_smile:

    Thanks!

    Kind Regards
    Jack.

  • joe
    • Site Builder, Child of Zeus

    More background -- When I replace the http://subdomain.mydomain.com at the beginning of the URL generated by the "Purchase this domain" link in the Enom payment path with https://mydomain.com (- followed by the generated query string) I get the form on my master site and the SSL lock shows as secured. This will work for my project.

    What I am looking for is using the function on /domain-mapping/classes/Domainmap/Reseller.php to send the user to this URL. Any ideas?

  • joe
    • Site Builder, Child of Zeus

    All righty then,

    After a couple hundred dead-ends I finally found a solution. (The function involved lives on /domain-mapping/classes/Domainmap/Reseller.php)

    This solution sends a user from "Purchase this domain" link on the domain mapping subdomain admin page to the registration form at the primary domain level where it can be served using the SSL on the primary domain, bypassing the need for a wildcard SSL.

    public function get_domain_available_response( $sld, $tld, $purchase_link = false ) {
    		global $wpdb;
    		if ( !$purchase_link ) {
    			$purchase_link = add_query_arg( array(
    				'action'  => Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM,
    				'nonce'   => wp_create_nonce( Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM ),
    				'tld'     => $tld,
    				'blog'    => $wpdb->blogid,
    				'success' => urlencode( add_query_arg( 'page', 'domainmapping', admin_url( 'tools.php' ) ) ),
    				'cancel'  => urlencode( site_url( add_query_arg( array(
    					'sld' => $sld,
    					'tld' => $tld,
    				), wp_get_referer() ) ) ),
    			), admin_url( '/admin-ajax.php' ) );
    			$purchase_link =	str_replace('http://', 'https://', $purchase_link );
    			$urlParts = explode('.', $_SERVER['HTTP_HOST']);
    			$purchase_link =	str_replace($urlParts[0], '', $purchase_link );
    			$purchase_link =	str_replace('.example', 'example', $purchase_link );
    			$purchase_link = sprintf(
    				'<a class="domainmapping-purchase-link" href="%s"><b>%s</b></a>',
    				$purchase_link,
    				__( 'Purchase this domain.', 'domainmap' )
    			);
    		}
    
    		return sprintf(
    			'<div class="domainmapping-info domainmapping-info-success"><b>%s</b> %s <b>$%s</b> %s.<br>%s<div class="domainmapping-clear"></div></div>',
    			strtoupper( "{$sld}.{$tld}" ),
    			__( 'is available to purchase for', 'domainmap' ),
    			$this->get_tld_price( $tld ),
    			__( 'per year', 'domainmap' ),
    			$purchase_link
    		);
    	}

    Yes, lines 15-18 could be done a bit more elegantly, but it works. If anyone can offer some clean-up advice, please do. Thanks!

  • joe
    • Site Builder, Child of Zeus

    Below is the tidy version:

    (my 2¢- It might be useful to be able to toggle this from the Domain Mapping option page.)

    public function get_domain_available_response( $sld, $tld, $purchase_link = false ) {
    		global $wpdb;
    		if ( !$purchase_link ) {
    			$purchase_link = add_query_arg( array(
    				'action'  => Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM,
    				'nonce'   => wp_create_nonce( Domainmap_Plugin::ACTION_SHOW_PURCHASE_FORM ),
    				'tld'     => $tld,
    				'blog'    => $wpdb->blogid,
    				'success' => urlencode( add_query_arg( 'page', 'domainmapping', admin_url( 'tools.php' ) ) ),
    				'cancel'  => urlencode( site_url( add_query_arg( array(
    					'sld' => $sld,
    					'tld' => $tld,
    				), wp_get_referer() ) ) ),
    			), admin_url( '/admin-ajax.php' ) );
    			$urlParts =  explode('.', $_SERVER['HTTP_HOST']);
    			$search	= 'http://'. $urlParts[0] . '.';
    			$purchase_link = str_replace($search, 'https://', $purchase_link );
    			$purchase_link = sprintf(
    				'<a class="domainmapping-purchase-link-here" href="%s"><b>%s</b></a>',
    				$purchase_link,
    				__( 'Purchase this domain.', 'domainmap' )
    			);
    		}
    
    		return sprintf(
    			'<div class="domainmapping-info domainmapping-info-success"><b>%s</b> %s <b>$%s</b> %s.<br>%s<div class="domainmapping-clear"></div></div>',
    			strtoupper( "{$sld}.{$tld}" ),
    			__( 'is available to purchase for', 'domainmap' ),
    			$this->get_tld_price( $tld ),
    			__( 'per year', 'domainmap' ),
    			$purchase_link
    		);
    	}
  • joe
    • Site Builder, Child of Zeus

    Thanks, Michelle! I hope this solution helps someone. Feel free to throw me some points. I would love to earn a free year...the wpmudev.org/ thing is a great thing and I want to be able to keep it going while I try to figure out a way to make a profit with all their great tools :wink:

    Cheers!

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.