evolvewh Posted October 14, 2017 Report Posted October 14, 2017 We just had a domain renewal paid for and Blesta shows a success in the cron and module logs. When I look for the actual transaction in resell.biz, there is no record of this renewal. I can provide the success logs if needed but I don't think that will do any good. Process service renewals runs every 15 minutes and I've waited an hour to make sure. Everything here is standard with no customizations. Quote
Blesta Addons Posted October 14, 2017 Report Posted October 14, 2017 if blesta renew the domain, and send the command and get the success result, then the issue should be there in resell not in blesta . Quote
evolvewh Posted October 14, 2017 Author Report Posted October 14, 2017 50 minutes ago, Blesta Addons said: if blesta renew the domain, and send the command and get the success result, then the issue should be there in resell not in blesta . We've never had an issue until now with any domains being renewed so I'm not sure if this was due to a recent update or an isolated issue with this particular domain. If nothing was sent and logged within resell.biz, why would Blesta report that it was successful? Quote
Blesta Addons Posted October 14, 2017 Report Posted October 14, 2017 47 minutes ago, evolvewh said: We've never had an issue until now with any domains being renewed so I'm not sure if this was due to a recent update or an isolated issue with this particular domain. If nothing was sent and logged within resell.biz, why would Blesta report that it was successful? Simple, blesta will not log any response if not received, also blesta will not generate the response it self !!! So i'm totally sure this is related to resell.biz, have you checked the transaction log in resell ? maybe ask resell to give you the latest API request for your account . Another Scenario, check if the order_id in blesta is the same as the order_id on resell.biz for that domain. maybe you have wrong orer_id and you have renewed another domain Quote
evolvewh Posted October 14, 2017 Author Report Posted October 14, 2017 31 minutes ago, Blesta Addons said: Simple, blesta will not log any response if not received, also blesta will not generate the response it self !!! So i'm totally sure this is related to resell.biz, have you checked the transaction log in resell ? maybe ask resell to give you the latest API request for your account . Another Scenario, check if the order_id in blesta is the same as the order_id on resell.biz for that domain. maybe you have wrong orer_id and you have renewed another domain Blesta did log a response for something that didn't happen. I've looked at the Blesta logs (module and cron) and at the Transactions list for resell.biz. This domain was renewed just last year so I know there isn't an issue with the order-id I'll see if they can give me the latest API request. Thanks for the tip. Quote
Blesta Addons Posted October 15, 2017 Report Posted October 15, 2017 17 hours ago, evolvewh said: Blesta did log a response for something that didn't happen. I've looked at the Blesta logs (module and cron) and at the Transactions list for resell.biz. This domain was renewed just last year so I know there isn't an issue with the order-id i still insist that blesta logged the response because the logicboxes send a response, to be logical, blesta can't generate or estimate the response how it should . just curios, can you paste the log how it was in blesta for this case ? Quote
evolvewh Posted October 15, 2017 Author Report Posted October 15, 2017 56 minutes ago, Blesta Addons said: i still insist that blesta logged the response because the logicboxes send a response, to be logical, blesta can't generate or estimate the response how it should . just curios, can you paste the log how it was in blesta for this case ? Input: https://httpapi.com/api/domains/details.json a:4:{s:8:"order-id";s:8:"removed";s:7:"options";a:1:{i:0;s:12:"OrderDetails";}s:11:"auth-userid";s:6:"removed";s:7:"api-key";s:32:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";} Output: https://httpapi.com/api/domains/details.json {"domsecret":"removed","privacyprotectedallowed":"true","isprivacyprotected":"false","orderstatus":["transferlock","resellerlock"],"classkey":"domcno","orderSuspendedByParent":"false","isOrderSuspendedUponExpiry":"false","classname":"com.logicboxes.foundation.sfnb.order.domorder.DomCno","customerid":"removed","allowdeletion":"true","recurring":"false","isImmediateReseller":"true","productkey":"domcno","domainname":"removed.com","parentkey":"removed","productcategory":"domorder","creationtime":"1398131194","orderid":"removed","endtime":"1587519994","multilingualflag":"f","bulkwhoisoptout":"t","moneybackperiod":"4"} Here is what is interesting compared with one that actually went through: On one that has gone through, there are two inputs and two outputs with this message at the end of the second output: "actionstatusdesc":"Domain renewed successfully"} So for the one that happened yesterday with an issue, there was only 1 input and 1 output and off to the right, 'success' was the message from Blesta. Quote
Blesta Addons Posted October 15, 2017 Report Posted October 15, 2017 i don't see any renew command and response related to the renew command .this is just a demo info request for a domain . Quote
evolvewh Posted October 15, 2017 Author Report Posted October 15, 2017 3 minutes ago, Blesta Addons said: i don't see any renew command and response related to the renew command .this is just a demo info request for a domain . And that's the issue. There should have been an error logged instead of just showing 1 input and 1 output marked as 'success'. I think there should have been a 2nd 'input' and marked as 'failed'. If I hadn't manually checked this one, it would have never been caught and the customer gets charged for a renewal that never actually happened. Quote
Jono Posted October 16, 2017 Report Posted October 16, 2017 I took a quick look at the logicboxes module and found these lines of code $vars = [ 'years' => 1, 'order-id' => $fields->{'order-id'}, 'exp-date' => $order->endtime, 'invoice-option' => 'NoInvoice' ]; foreach ($package->pricing as $pricing) { if ($pricing->id == $service->pricing_id) { $vars['years'] = $pricing->term; break; } } // Only process renewal if adding years today will add time to the expiry date if (strtotime('+' . $vars['years'] . ' years') > $order->endtime) { $response = $domains->renew($vars); $this->processResponse($api, $response); } What it means is that if the end time fetched from logicboxes is farther in the future than the current time plus the number of year from the pricing term, then the request to renew will not be sent. I don't fully understand your problem, but is it possible that this accounts for it? Blesta Addons 1 Quote
Blesta Addons Posted October 16, 2017 Report Posted October 16, 2017 1 hour ago, Jono said: I took a quick look at the logicboxes module and found these lines of code $vars = [ 'years' => 1, 'order-id' => $fields->{'order-id'}, 'exp-date' => $order->endtime, 'invoice-option' => 'NoInvoice' ]; foreach ($package->pricing as $pricing) { if ($pricing->id == $service->pricing_id) { $vars['years'] = $pricing->term; break; } } // Only process renewal if adding years today will add time to the expiry date if (strtotime('+' . $vars['years'] . ' years') > $order->endtime) { $response = $domains->renew($vars); $this->processResponse($api, $response); } What it means is that if the end time fetched from logicboxes is farther in the future than the current time plus the number of year from the pricing term, then the request to renew will not be sent. I don't fully understand your problem, but is it possible that this accounts for it? maybe you are right, from thier log "endtime":"1587519994" that mean the renewal date is 2020-04-22 01:46:34 . Quote
evolvewh Posted October 16, 2017 Author Report Posted October 16, 2017 So the domain did have a renewal date of 2020-04-22 but the invoice was generated because we didn't catch it in time and manually update the correct renewal date after it was transferred in to us last year. At one point, I thought the module would synchronize the dates on it's own but have learned since then that it doesn't and we have to manually check these dates. Even with that being the case, why wouldn't it go through and add another year to the expiration? I could understand it if the domain was already registered 10 years out. Quote
Jono Posted October 18, 2017 Report Posted October 18, 2017 On 10/16/2017 at 12:21 PM, evolvewh said: Even with that being the case, why wouldn't it go through and add another year to the expiration? Hmmm, it sounds like this is only an issue when the service is not synced with the domain, since it should not be build until the expiration is approaching. I think the intent of that code was to prevent a domains expiration from being bumped a second time if an admin manually changed it already in logicboxes. Quote
evolvewh Posted October 19, 2017 Author Report Posted October 19, 2017 14 hours ago, Jono said: Hmmm, it sounds like this is only an issue when the service is not synced with the domain, since it should not be build until the expiration is approaching. I think the intent of that code was to prevent a domains expiration from being bumped a second time if an admin manually changed it already in logicboxes. Is there a short term to automatically sync the dates? It's way too easy to miss when a company has a large number of domains and I know it's possible in other plugins such as TheSSLStore. I would hope it is a feature in the new domain plugin that you guys are working on. Quote
Blesta Addons Posted October 19, 2017 Report Posted October 19, 2017 18 minutes ago, evolvewh said: Is there a short term to automatically sync the dates? It's way too easy to miss when a company has a large number of domains and I know it's possible in other plugins such as TheSSLStore. I would hope it is a feature in the new domain plugin that you guys are working on. can be done with a separate plugin, but we prefer if modules can host and run crons. activa 1 Quote
evolvewh Posted October 19, 2017 Author Report Posted October 19, 2017 33 minutes ago, Blesta Addons said: can be done with a separate plugin, but we prefer if modules can host and run crons. I agree 100% activa and Blesta Addons 2 Quote
Jono Posted October 25, 2017 Report Posted October 25, 2017 On 10/19/2017 at 7:05 AM, evolvewh said: I would hope it is a feature in the new domain plugin that you guys are working on. I know I have heard Paul mention this in the context of the domain plugin. evolvewh 1 Quote
evolvewh Posted October 25, 2017 Author Report Posted October 25, 2017 3 hours ago, Jono said: I know I have heard Paul mention this in the context of the domain plugin. Thanks for the update. Looking forward to that plugin once it becomes available. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.