Jump to content


  • Content count

  • Joined

  • Last visited

Community Reputation

10 Good

About sokalsondha

  • Rank

Recent Profile Visitors

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

  1. sokalsondha

    Set next invoice date

    Hello community... I came back again. Can someone help me with my system. What happened is.. We sell yearly service. Let's say client bought service 01/04/2018 And his next due date is 31/03/2019. Now system generate invoice on 15/03/209 But he didn't paid. He decide to pay on may.. I knw the service will be suspended. But it's not a problem. Now if he pay on may .. I see his next due date will be 31/03/2020 not 01/05/2020 So he is loosing a month when he didn't used the service in April. Can we have a hook to update the next invoice date the customer paid+365 days? Please help me
  2. sokalsondha

    want to put default radio button in creditcard.tpl file

    Hello Brian. Yes finally you get it correct. even i put tick or untick in the settings--> security Disable CC Storage. its not affecting anything with last 4 digit information because i am using stripe gateway. so its stripe token. and yes i want to get rid of that too.. is it possible with hook?
  3. sokalsondha

    want to put default radio button in creditcard.tpl file

    thanks a million again brian. As you can see on the DOC because of its tokenised gateway its saving last 4 digit in my WHMCS. i think something with stripe thats forcing WHMCS to store the data. because after the payment i can see in my stripe that stripe save that payment as a new cusotmer of them. so they are pulling customer email address from WHMCS. so basically all i want any how not storing the card at all. so far i understand i need hook. is it possible you can help me with hook? so i can put this hook and after my client pay by stripe the card number will not be saved at all thnaks
  4. sokalsondha

    want to put default radio button in creditcard.tpl file

    dear brian. this code worked. i can see the radio button ticked even i have save card details but unfortunately even the 1st radio button ticket my system still not showing the new card box to enter new CC. is there any chance any hook can i use so everytime customer pay with card its not even saving the last 4 digit of the card. as template file editing not helping me at all. waiting to hear from you soon brian 🙂
  5. sokalsondha

    want to put default radio button in creditcard.tpl file

    thanks brian for support me again.. brian all i want hide this two radio button. and make the 1st radio button by default at any stage. even our system saved the last 4 digit of the card. but the radio button will be 1st one enabled. so clients can put CC details everytime. at least they will trust this the card is not saved anywhere. if i make a hook can you help me with the code of hook? or may be its more better is it possible to make a hook so the card details never saved in our whmcs server? then i know how to hide the radio buttons.. please help me brian.. either with hook to not store the cards at all or edit the tpl file make the 1st radio button default all the time 🙂
  6. hello community... i hope all are doing very well. today i came back again for a small help with an code. basically by default now whmcs store the last 4 digit of the Credit card number of stripe gateway. which i found less confident for our clients. so i found an idea to modify the creditcard.tpl and make the RADIO BUTTON default to ENTER NEW CARD DETAILS and i will hide the 2nd radio button. this way client will never see that their credit card 4 digit is stored.. basically even storing the 4 digit we can't do anything.. but you know the clients.... can someone guide me from this code what i should modify to make default to the 1st radio button even the card number is stored in the server {if $remotecode} <div id="frmRemoteCardProcess" class="text-center" align="center"> {$remotecode} <iframe name="ccframe" class="auth3d-area" width="90%" height="600" scrolling="auto" src="about:blank"></iframe> </div> <script language="javascript"> jQuery("#frmRemoteCardProcess").find("form:first").attr('target', 'ccframe'); setTimeout("autoSubmitFormByContainer('frmRemoteCardProcess')", 1000); </script> {else} <form id="frmPayment" method="post" action="creditcard.php" class="form-horizontal" role="form"> <input type="hidden" name="action" value="submit" /> <input type="hidden" name="invoiceid" value="{$invoiceid}" /> <div class="row"> <div class="col-md-7"> {if $errormessage} {include file="$template/includes/alert.tpl" type="error" errorshtml=$errormessage} {/if} <div class="col-sm-12"> <img width="100%" src="/templates/{$template}/img/stripelogo.png"> </div> <div class="alert alert-danger text-center gateway-errors hidden"></div> <div class="form-group"> <div class="col-sm-8 col-sm-offset-4"> <div class="radio"> <label> <input type="radio" name="ccinfo" value="new" onclick="showNewCardInputFields()"{if $ccinfo eq "new" || !$cardOnFile} checked{/if} /> {$LANG.creditcardenternewcard}</label> </label> </div> <div class="radio"> <label> <input type="radio" name="ccinfo" value="useexisting" onclick="hideNewCardInputFields()" {if $cardOnFile && $ccinfo neq "new"}checked{elseif !$cardOnFile}disabled{/if} /> {$LANG.creditcarduseexisting}{if $cardOnFile} ({$existingCardType}-{$existingCardLastFour}){/if} </label> </div> </div> </div> <div class="form-group{if $userDetailsValidationError} hidden{/if}" id="billingAddressSummary"> <label for="cctype" class="col-sm-4 control-label">{$LANG.billingAddress}</label> <div class="col-sm-6"> {if $companyname}{$companyname}{else}{$firstname} {$lastname}{/if} <button type="button" id="btnEditBillingAddress" onclick="editBillingAddress()" class="btn btn-default btn-sm"{if $cardOnFile} disabled="disabled"{/if}><i class="fa fa-edit"></i> {$LANG.change}</button><br /> {$address1}{if $address2}, {$address2}{/if}<br /> {$city}, {$state}, {$postcode}<br /> {$countryname} </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputFirstName" class="col-sm-4 control-label">{$LANG.clientareafirstname}</label> <div class="col-sm-6"> <input type="text" name="firstname" id="inputFirstName" value="{$firstname}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputLastName" class="col-sm-4 control-label">{$LANG.clientarealastname}</label> <div class="col-sm-6"> <input type="text" name="lastname" id="inputLastName" value="{$lastname}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputAddress1" class="col-sm-4 control-label">{$LANG.clientareaaddress1}</label> <div class="col-sm-6"> <input type="text" name="address1" id="inputAddress1" value="{$address1}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputAddress2" class="col-sm-4 control-label">{$LANG.clientareaaddress2}</label> <div class="col-sm-6"> <input type="text" name="address2" id="inputAddress2" value="{$address2}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputCity" class="col-sm-4 control-label">{$LANG.clientareacity}</label> <div class="col-sm-6"> <input type="text" name="city" id="inputCity" value="{$city}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputState" class="col-sm-4 control-label">{$LANG.clientareastate}</label> <div class="col-sm-6"> <input type="text" name="state" id="inputState" value="{$state}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputPostcode" class="col-sm-4 control-label">{$LANG.clientareapostcode}</label> <div class="col-sm-6"> <input type="text" name="postcode" id="inputPostcode" value="{$postcode}" class="form-control" /> </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputCountry" class="col-sm-4 control-label">{$LANG.clientareacountry}</label> <div class="col-sm-6"> {$countriesdropdown} </div> </div> <div class="form-group cc-billing-address{if !$userDetailsValidationError} hidden{/if}"> <label for="inputPhone" class="col-sm-4 control-label">{$LANG.clientareaphonenumber}</label> <div class="col-sm-6"> <input type="text" name="phonenumber" id="inputPhone" value="{$phonenumber}" class="form-control" /> </div> </div> <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <label for="cctype" class="col-sm-4 control-label">{$LANG.creditcardcardtype}</label> <div class="col-sm-5"> <select name="cctype" id="cctype" class="form-control newccinfo"> {foreach from=$acceptedcctypes item=type} <option{if $cctype eq $type} selected{/if}> {$type} </option> {/foreach} </select> </div> </div> <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <label for="inputCardNumber" class="col-sm-4 control-label">{$LANG.creditcardcardnumber}</label> <div class="col-sm-7"> <input type="tel" name="ccnumber" id="inputCardNumber" size="30" value="{if $ccnumber}{$ccnumber}{/if}" autocomplete="off" class="form-control newccinfo" /> </div> </div> {if $showccissuestart} <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <label for="inputCardStart" class="col-sm-4 control-label">{$LANG.creditcardcardstart}</label> <div class="col-sm-8"> <select name="ccstartmonth" id="inputCardStart" class="form-control select-inline"> {foreach from=$months item=month} <option{if $ccstartmonth eq $month} selected{/if}>{$month}</option> {/foreach} </select> <select name="ccstartyear" id="inputCardStartYear" class="form-control select-inline"> {foreach from=$startyears item=year} <option{if $ccstartyear eq $year} selected{/if}>{$year}</option> {/foreach} </select> </div> </div> {/if} <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <label for="inputCardExpiry" class="col-sm-4 control-label">{$LANG.creditcardcardexpires}</label> <div class="col-sm-8"> <select name="ccexpirymonth" id="inputCardExpiry" class="form-control select-inline"> {foreach from=$months item=month} <option{if $ccexpirymonth eq $month} selected{/if}>{$month}</option> {/foreach} </select> <select name="ccexpiryyear" id="inputCardExpiryYear" class="form-control select-inline"> {foreach from=$expiryyears item=year} <option{if $ccexpiryyear eq $year} selected{/if}>{$year}</option> {/foreach} </select> </div> </div> {if $showccissuestart} <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <label for="inputIssueNum" class="col-sm-4 control-label">{$LANG.creditcardcardissuenum}</label> <div class="col-xs-2"> <input type="number" name="ccissuenum" id="inputIssueNum" value="{$ccissuenum}" class="form-control input-" /> </div> </div> {/if} <div class="form-group"> <label for="cctype" class="col-sm-4 control-label">{$LANG.creditcardcvvnumber}</label> <div class="col-sm-7"> <input type="number" name="cccvv" id="inputCardCvv" value="{$cccvv}" autocomplete="off" class="form-control input-inline input-inline-100" /> <button type="button" class="btn btn-link" data-toggle="popover" data-content="<img src='{$BASE_PATH_IMG}/ccv.gif' width='210' />"> {$LANG.creditcardcvvwhere} </button> </div> </div> {if $shownostore} <div class="form-group cc-details{if !$addingNewCard} hidden{/if}"> <div class="col-sm-offset-4 col-sm-8"> <div class="checkbox"> <label> <input type="checkbox" name="nostore" id="inputNoStore"> {$LANG.creditcardnostore} </label> </div> </div> </div> {/if} <div class="form-group"> <div class="text-center"> <button type="submit" class="btn btn-primary btn-lg" id="btnSubmit" value="{$LANG.submitpayment}"> <span class="pay-text">{$LANG.submitpayment}</span> <span class="click-text hidden">{$LANG.pleasewait}</span> </button> </div> </div> </div> <div class="col-md-5"> <div id="invoiceIdSummary" class="invoice-summary"> <h2 class="text-center">{$LANG.invoicenumber}{$invoiceid}</h2> <div class="invoice-summary-table"> <table class="table table-condensed"> <tr> <td class="text-center"><strong>{$LANG.invoicesdescription}</strong></td> <td width="150" class="text-center"><strong>{$LANG.invoicesamount}</strong></td> </tr> {foreach $invoiceitems as $item} <tr> <td>{$item.description}</td> <td class="text-center">{$item.amount}</td> </tr> {/foreach} <tr> <td class="total-row text-right">{$LANG.invoicessubtotal}</td> <td class="total-row text-center">{$invoice.subtotal}</td> </tr> {if $invoice.taxrate} <tr> <td class="total-row text-right">{$invoice.taxrate}% {$invoice.taxname}</td> <td class="total-row text-center">{$invoice.tax}</td> </tr> {/if} {if $invoice.taxrate2} <tr> <td class="total-row text-right">{$invoice.taxrate2}% {$invoice.taxname2}</td> <td class="total-row text-center">{$invoice.tax2}</td> </tr> {/if} <tr> <td class="total-row text-right">{$LANG.invoicescredit}</td> <td class="total-row text-center">{$invoice.credit}</td> </tr> <tr> <td class="total-row text-right">{$LANG.invoicestotaldue}</td> <td class="total-row text-center">{$invoice.total}</td> </tr> </table> </div> <p class="text-center"> {$LANG.paymentstodate}: <strong>{$invoice.amountpaid}</strong><br /> {$LANG.balancedue}: <strong>{$balance}</strong> </p> </div> </div> </div> <div class="alert alert-warning" role="alert"> <i class="fa fa-lock"></i> &nbsp; {$LANG.creditcardsecuritynotice} </div> </form> {/if} thanks very much to everyone for reading my post... Mahim
  7. sokalsondha

    invoice payment link

    thanks brian. but that was different module now the topics is different boss. they quote me for something which module is already in whmcs.. thats call EMAIL REGISTRAR i found the module after i post it. but now i need help for email problem can you please advice me what should i do?
  8. sokalsondha

    invoice payment link

    okay.. but our gmail address is widely used. is there possible i can make a hook brian? i really need to use gmail for all my product/service details email but want to keep domain email for other emails. is there any possible hook for this thing sir?
  9. sokalsondha

    Customer Offline Domain Module

    i am having a big problem now with my whmcs. i have connect my gmail in my whmcs with SMTP. and its working fine. i want all other emails from my whmcs to my customers go from no-reply@mydomain.com so the clients can't reply that email only in my Product/Service Messages email i want it go from my gmail email address. so clients can reply that email and its comes to our gmail address but if i use SMTP then all emails from whmcs goes by using the SMTP. i also can see a copy of the emails to my gmail SENT folder. if its happenning than i am scare that gmail could be block our email address as may be once a time whmcs will send about 500 emails every day which is not limit by gmail i contact with whmcs and they said i need a custom HOOK so the plan is i will keep the whmcs settings PHPmail function so it can use the domain emails for any emails so i want to put my gmail smtp settings in the hook file . and hook file need to connect with the Product/Service Messages email templates so when ever we send Product/Service email after client buy product that email will not go by PHPmail. it will be go by SMTP please bid with your amount. the lowest bidder will get the work will provide you the gmail account for test thanks
  10. sokalsondha

    invoice payment link

    hello brian could you please tell me what should i do with this problem? https://whmcs.community/topic/288361-email-issue-smtp/
  11. sokalsondha

    email issue smtp

    Hello everyone thanks for reading my topics. i am having a big problem now with my whmcs. i have connect my gmail in my whmcs with SMTP. and its working fine. i want all other emails from my whmcs to my customers go from no-reply@mydomain.com so the clients can't reply that email only in my product details email i want it go from my gmail email address. so clients can reply that email and its comes to our gmail address but now i can see all emails like password reset order email invoice email all going to my clients from my gmail. if its happenning than i am scare that gmail could be block our email address how can i use SMTP for gmail only for that product details email. and other email need to go from domain email please someone help me do i need to make some hook? or is there any settings? this is my smtp settings http://prntscr.com/jhf2xc this is another setup http://prntscr.com/jhf391 this is my product details email template http://prntscr.com/jhf3uo and this is system emails template http://prntscr.com/jhf46n please someone help me it just one email i want to send out from gmail other all email from domain emails hope someone can help me Thanks in advance Mahim
  12. sokalsondha

    invoice payment link

    Hello Community Its came to my attention that sometimes clients not able to login to whcms with their username and password as like us we dont use whmcs for hosting business so i was thinking how can a client will get a invoice payment link in the email so they click that link from the email and it will take them to direct paypal once they make paid by paypal their invoice will be paid they dont need to login to the whmcs at all i found a post in this community and brian said to put {$invoice_payment_link} in the email template i put this. and in the email its shows a paypal BUTTON. i can click on that paypal button if the email goes to gmail. but if the email goes to cPanel email address i cant access to the paypal button so my question is there any possible we can get a link instead of PAYPAL button so clients can copy and paste the link even in the browser thanks in advance
  13. sokalsondha

    Offline domain registrar

    wow thanks very much i was so stupid anyway the thing is sorted. that the thing i was looking for but i am having this problem after i use the email registrar http://prntscr.com/jg83in i installed whmcs in a shared cpanel can't understand what to do can you please help me
  14. sokalsondha

    Offline domain registrar

    i need a domain registrar module (Offline) what happend is i want to sell a country domain .BD domain so the govt not providing any API for that domain so my clients need to open Ticket for any changes like nameserver changes also will be trouble for us also the renewal as if the client renew from our whmcs we dont know what he renew so i decide to make a domain registrar module when client place a order it will be PENDING by default anyway and then we can activate manually which is fine but if client change the nameserver then i want its open open ticket automaticlly (may be its better if its open ticket internally) so the client dont see this ticket after we change manually the nameserver to our main registrar we will close the ticket this will be same for if client renew the domain so we can renew with our main registrar if not possible ticket open i would like get an email about this domain name something like email that client change the nameserver from ns1.xxx.com to ns1.zzzz.com also when client do renewal i want to get the email aswell that this domain name got another renewal so we can check the invoice how much he paid and we can renew the domain for them thanks in advance
  15. sokalsondha

    Customer Offline Domain Module

    Hello Sir did you get your module done? if you got is it possible i can get a copy? i want to sell .BD domains. but that registrar not providing any API. so all need to do manual. i dont want clients open ticket and ask for changes as its not looks professional. so all need to do manually. thanks anyway

Important Information

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