Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync support for accurate domain status #3

Open
WevrLabs opened this issue Mar 29, 2021 · 2 comments · May be fixed by #7
Open

Sync support for accurate domain status #3

WevrLabs opened this issue Mar 29, 2021 · 2 comments · May be fixed by #7

Comments

@WevrLabs
Copy link

WevrLabs commented Mar 29, 2021

Currently the sync function decides a domain is either of the following:

  1. Active
  2. or Transferred Away
  3. or Cancelled (if expired, in grace period, or in redemption period).

In other words, the sync will mark the domain as "Cancelled" immediately after its expiration time without account for the fact that a domain enters "Expired" status after this time. This creates some troubles, for instance, the invoice in WHMCS is not cancelled and the user can still pay the fee to renew the domain, but the problem is that if the service (in this case the domain) is with the "Cancelled" status, WHMCS will not trigger the "invoice paid" actions, which in this case is to send the renewal request to the registrar for the domain to be renewed.

Another issue is that with domains which are in "Grace" and "Redemption", these statuses are not reflected in WHMCS (as described earlier that the sync function marks the domain as "Cancelled" only immediately after its expiration time), thus this creates some troubles where there's extra fees for redemption for some TLDs. Now WHMCS already pays attention to these situations, but only if the domain status is correctly set (either to Grace or Redemption).

It would be more useful if the statuses are set more accurately as:

  1. Active, if domain is active at NameSilo.
  2. Transferred Away, if domain is Outbound Transfer at NameSilo.
  3. Expired (Grace Period), if domain is Expired (grace period) at NameSilo.
  4. Expired (Redemption Period), if domain is Expired (restore period)at NameSilo.
  5. Cancelled, if not any of the above.

Surprisingly the separate namesilo-domain-sync.php cron file sets the domain status in WHMCS according to the correct ones that appear at NameSilo.

jas8522 added a commit to websavers/WHMCS-NameSilo that referenced this issue Nov 16, 2021
This allows WHMCS to handle statuses from the various stages of expiry, like expired, expired grace, etc.
Note: the $code === 200 conditional on line 1380 handles the truly necessary cases to force a cancelled status.
Fixes namesilo#3
@jas8522 jas8522 linked a pull request Nov 16, 2021 that will close this issue
@Muneeb-Ahmed-Khan
Copy link

Any update on this ?

@jas8522
Copy link

jas8522 commented Mar 27, 2022

Since they don't seem keen on merging those pull requests, I've created a fork with my patches applied: https://github.com/websavers/WHMCS-NameSilo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants