Jump to content

Wouter0100

Member
  • Content Count

    34
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Wouter0100

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. With the intro introducion of Payment Methods, the ability to better integrate a wide variety of payment methods has gradely improved. Unfortunatly though, still there are some add choices that I'd want to pointpoint. This is holding me back from moving my WHMCS Mollie Recurring gateway to the Payment Methods option in WHMCS. Rename `Add New Credit Card` to `Add New Payment Method` on the Payment Methods page. Why should this option be called Credit Card? It may not nessesary add an actual Credit Card, it could also be a Bank Account (or some sort of account with money, like PayPal). By renaming this field, gateway developers have a wider variety of options of implementing this. I also discovered the `_localbankdetails` method, but this adds a `Add New Bank Account` option - but only allows local input of non-SEPA accounts, something that a SEPA Direct Debit system has no use for. Renaming the Credit Card button to Payment Method would make this Bank Account button absolete as it would allow the developer to create a custom form to implement this. Different capture intervals for Bank Accounts and Credit Card (or let the gateway provide the interval) As far as I've found, Bank Accounts also apply to the same interval as Credit Cards currently, as configured with this option. For Bank Accounts, this is far from useful as it would normally take way longer. The ideal implementation would be that every gateway is able to provide it's own delays, depending on the Pay Method. This way, I'm able implement both a Credit Card and a Bank Account Pay Method in the same gateway - as it's processed by the same provider and with the exact same service/API's. As a workaround, I've implemented the CapturePayment API-call on custom intervals, but this is far from ideal.
  2. Honestly I'd love to see this automatically decrypted in code before returning, something like this. When using such a cast, it is fully transparant to the code using the models.
  3. If you wait for the invoice of the order to be paid, depending on how you setup your WHMCS, all items in the invoice will be automatically provisioned. Then you can accept the order, and nothing will happen - as all services are already active.
  4. I would agree with @Kian on this. I've attempted such an addon myself, but have never fiinished it due to the complexity and the nature of some processes in WHMCS. Also seen colleagues create such an addon, but it never really functioned without issues (and there would be a large business for this addon if it would). Besides, if you really do want to alter this number in the cronjob e-mail - you should be able to do so with the `PostAutomationTask`, like so: <?php add_hook('PostAutomationTask', 1, function($vars) { if (!($vars instanceof \WHMCS\Cron\Task\CreateInvoices)) { return; } $vars->output('invoice.created')->write(13); }); In this case 13 is the random number you want to set in the invoice e-mail. I'm not aware of the side effects, so please use with care.
  5. As far as I know, if you accept an order that has not been paid yet - the the products will be provesioned/delivered by default. This depends on the checkboxes that you select when accepting the order. By default, the `Run Module Create` is ticked. This means that the product will be provisioned. This is not for domains, and every time you manually accept an order that has not been paid yet - you should manually select the registrar and tick `Send to Registar`.
  6. It seems that this is not really a WHMCS thing. It's more of a PHP issue. There are some things to know: Your vars $userid and $domain are most likely not available within your transaction (because there's an anonymous function involved). Use `use ($userid, $domain)` behind `function ($connectionManager2)` to get the variables within your function. You've catched errors with no further processing or printing and thus there will be none in your error log. You could remove the try-catch statement, in this case WHMCS will catch any Exceptions if thrown. Or just print `var_dump($e)` in your catch statement. You don't need to setup a transaction. You're able to do queries more easily by doing `Capsule::table(`bla`)->insert`.
  7. There's no real guide available, as far as I know. You should be able to create a class that extends `\WHMCS\Scheduling\Task\AbstractTask` like so: <?php namespace YourName; class YourTask extends \WHMCS\Scheduling\Task\AbstractTask { protected $defaultFrequency = 60; protected $skipDailyCron = true; public function __invoke() { // do whatever you desire the most } } When you initialize your module or addon, call \YourName\YourTask::register() statically. It'll be registered in the `tbltask` and should be invoked every minute. You could also use one of these hooks (for example, `AfterCronJob` should also run every minute if you run your cron every minute). And: most likely `OrderPaid` is executed in the background (as the payment is processed in the background aswel). This happens by a request from your payment service provider back to your WHMCS installation. This request will hang/wait.
  8. Seems to be a session issue. Could you attempt to clear your browser's cookies? Are you then able to login again, @DAThosting? If you're still unable to do anything after clearing your browser's cookies, could you create a file in your WHMCS root with the following contents: <?php define('CLIENTAREA', true); require __DIR__ . '/init.php'; echo '<pre>'; var_dump(\WHMCS\Session::get('adminid')); echo '-----------------' . PHP_EOL; var_dump($_SESSION); echo '</pre>'; And then request that file from your browser. What're you seeing? You may need to remove some sensitive information from that output. Looking at the issue: it could also be that your admin ID is 0/falsey, but I don't think that's possible by default.
  9. The order will always stay pending. Orders in WHMCS should be accepted manually. The service within the order should be automatically setup after the order is placed when selecting this option. What kind of service are you setting up? Are there no errors on the order placement/in the modules queue?
  10. By default, PHP can't be further excecuted after a page is already returned to the browser (there are some workarounds available though). The documentation could be clearer in by making it something like: `Executes when the Complete Page is rendered and before displayed to the browser on checkout.` To do it fully in the background, you should make a cron (or extend WHMCS's cron) for it. The fact that your browser hangs on other pages aswel, is something related to your webserver or browser - most likely.
  11. As mentioned, your best bet would be to contact one of the dev companies around here. Or, maybe some very kind member of the community might want to write it for you. 🙂 If you want to try to peace something together yourself regardless, I'd suggest looking at the `ClientAreaPageCart`-hook. This would be my first place to look. As I remember, it does include some vars regarding pricing - which may be overwritable by returning the altered values without the billing cycles that you want to exclude.
  12. This is an example that you're trying to achieve within WHMCS, isn't it? I guess it'll come down to regex, mostly. For one of my addons I've made a basic regex to be able to extract the cycle dates from the individual invoice lines: /^.*(\(((\d{2})\/(\d{2})\/(\d{4})) - ((\d{2})\/(\d{2})\/(\d{4}))\))$/ Which could be simplified a lot depending on how you want to print the dates. Another regex could be used to get the quantity, I'd say.
  13. As far as I know, you're only able to hide them by removing the billing cycle options in your pricing. If removing the billing cycle options isn't an option, hiding could be accomplished by code - for which you're able to hire a company if you don't have programming experience yourself.
  14. There is an older post available here that provides a possible fix this issue. Have you looked at: Ticking Setup > General Settings > Security tab > Disable Session IP Check Increase the php.ini-variable `session.gc_maxlifetime`
  15. Hmm, doesn't seem to be an obivous error. Nothing in Activity Log either? I unfortunatly think that you should open a ticket at WHMCS to let them further investigate this issue, or maybe other people on this community with more information with the PayPal integration.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated