Chris74 Posted November 21, 2019 Share Posted November 21, 2019 (edited) Since upgrading to 7.8 I've noticed a lot of customers now have problems paying. We've only ever used Stripe for card payments so I'm not sure what the problem is exactly. One thing I notice is that some clients now have a payment method listed as Visa with Card-XXXX as the last four digits. They are unable to remove this card. We can do it from the admin side. I suppose my questions are... 1. Anyone else experiencing this issue? 2. How can we identify these problem cards and remove them on mass? Additionally, what exactly happens if I use the " Delete Encrypted Credit Card Data" option in the security section of the config? Will this only remove old stored card data "pre stripe"? Or will it remove all the tokens and current customer cards? Edited November 21, 2019 by Chris74 0 Quote Link to comment Share on other sites More sharing options...
wsa Posted November 21, 2019 Share Posted November 21, 2019 I see this also on a couple my clients 0 Quote Link to comment Share on other sites More sharing options...
WHMCS Support Manager WHMCS John Posted December 2, 2019 WHMCS Support Manager Share Posted December 2, 2019 Hi @Chris74, The Card Type value of the Pay Method will be set to "Card" if there is no card type in the source data (tblclients.cardtype). This could occur if the card expiry date passed whilst running v7.7 or earlier. Provided there is a valid Stripe token then payments should still be processed successfully. 0 Quote Link to comment Share on other sites More sharing options...
Chris74 Posted December 3, 2019 Author Share Posted December 3, 2019 Thanks @WHMCS John Two problems with that... 1. If the card expiry date passed, the card cannot be used anyway. 2. Customer cannot remove these cards - there is a PHP error when they try. We can do it from admin - but they can't remove it. As per my original question, I'd like to remove all of these XXXX cards - can you provide a possible solution? I assume I can do this in PHPmyadmin? Could you provide a database query to identify them and let me know which record(s) needs deleting? Also, can you possibly answer my other question? What exactly happens if I use the " Delete Encrypted Credit Card Data" option in the security section of the config? Will this affect Stripe card data? 0 Quote Link to comment Share on other sites More sharing options...
WHMCS Support Manager WHMCS John Posted December 3, 2019 WHMCS Support Manager Share Posted December 3, 2019 What is the error you're encountering in the client area please? We'd certainly want to get that reproduced, reported and fixed. What problem are these kind of cards causing? are they not being charged successfully? I would not recommend deleting the data from the database directly, please use the UI. One would need to delete the card data from both tblcreditcards and tblpaymethods where tblcreditcards.pay_method_id = tblpaymethods.id. The "Delete Encrypted Credit Card Data" option will not delete remote gateway tokens (eg. Stripe) 0 Quote Link to comment Share on other sites More sharing options...
Chris74 Posted December 6, 2019 Author Share Posted December 6, 2019 (edited) Thanks again @WHMCS John but so far I haven't got anywhere with this. Just to iterate what I want to achieve.... 1. I need to identify these rogue cards that you have set to XXXX I need to find them all. 2. I need to delete them all. Most of them appear to have an expiry date at least ten years into the future. EDIT - they ALL have an expiry date of 2029-12-31 00:00:00 So I've done a search in phpmyadmin and found 228 of these in tblcreditcards Can you please confirm the correct method / syntax to safely remove these cards. Edited December 6, 2019 by Chris74 0 Quote Link to comment Share on other sites More sharing options...
Chris74 Posted December 6, 2019 Author Share Posted December 6, 2019 Here's your PHP error... RuntimeException: Remote Storage Failed in /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Payment/PayMethod/Adapter/RemoteCreditCard.php:0 Stack trace: #0 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Payment/PayMethod/Adapter/RemoteCreditCard.php(0): WHMCS\Payment\PayMethod\Adapter\RemoteCreditCard->storeRemote('delete') #1 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/ClientArea/Account/PaymentMethodsController.php(0): WHMCS\Payment\PayMethod\Adapter\RemoteCreditCard->deleteRemote() #2 [internal function]: WHMCS\ClientArea\Account\PaymentMethodsController->delete(Object(WHMCS\Http\Message\ServerRequest)) #3 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/CallableHandler.php(26): call_user_func_array(Array, Array) #4 /home/USERNAME/public_html/clients/vendor/middlewares/fast-route/src/FastRoute.php(96): Middlewares\Utils\CallableHandler::execute(Array, Array) #5 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/HandleProcessor.php(0): Middlewares\FastRoute->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #6 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\HandleProcessor->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #7 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\HandleProcessor->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #8 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #9 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #10 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/DelegatingMiddlewareTrait.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #11 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Security/Middleware/Authorization.php(0): WHMCS\Security\Middleware\Authorization->delegateProcess(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #12 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/AbstractProxyMiddleware.php(0): WHMCS\Security\Middleware\Authorization->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #13 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\AbstractProxyMiddleware->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #14 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\AbstractProxyMiddleware->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #15 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #16 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #17 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(56): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #18 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/BackendDispatch.php(0): Middlewares\Utils\Dispatcher->dispatch(Object(WHMCS\Http\Message\ServerRequest)) #19 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\BackendDispatch->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #20 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\BackendDispatch->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #21 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #22 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #23 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/RoutePathMatch.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #24 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\RoutePathMatch->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #25 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\RoutePathMatch->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #26 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #27 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #28 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/WhitelistFilter.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #29 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/DelegatingMiddlewareTrait.php(0): WHMCS\Route\Middleware\WhitelistFilter->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #30 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\WhitelistFilter->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #31 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #32 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #33 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/RoutableClientModuleRequest.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #34 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\RoutableClientModuleRequest->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #35 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\RoutableClientModuleRequest->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #36 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #37 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #38 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/RoutableAdminRequestUri.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #39 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\RoutableAdminRequestUri->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #40 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\RoutableAdminRequestUri->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #41 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #42 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #43 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/RoutableRequestUri.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #44 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\RoutableRequestUri->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #45 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\RoutableRequestUri->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #46 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #47 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #48 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/RoutableRequestQueryUri.php(0): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #49 /home/USERNAME/public_html/clients/vendor/whmcs/whmcs-foundation/lib/Route/Middleware/Strategy/AssumingMiddlewareTrait.php(0): WHMCS\Route\Middleware\RoutableRequestQueryUri->_process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #50 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(76): WHMCS\Route\Middleware\RoutableRequestQueryUri->process(Object(WHMCS\Http\Message\ServerRequest), Object(Middlewares\Utils\Delegate)) #51 [internal function]: Middlewares\Utils\Dispatcher->Middlewares\Utils\{closure}(Object(WHMCS\Http\Message\ServerRequest)) #52 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Delegate.php(31): call_user_func(Object(Closure), Object(WHMCS\Http\Message\ServerRequest)) #53 /home/USERNAME/public_html/clients/vendor/middlewares/utils/src/Dispatcher.php(56): Middlewares\Utils\Delegate->process(Object(WHMCS\Http\Message\ServerRequest)) #54 /home/USERNAME/public_html/clients/index.php(0): Middlewares\Utils\Dispatcher->dispatch(Object(WHMCS\Http\Message\ServerRequest)) #55 {main} 0 Quote Link to comment Share on other sites More sharing options...
Chris74 Posted December 6, 2019 Author Share Posted December 6, 2019 (edited) Looking at the data in these tables - it's a complete mess. There are quite a lot of cards that are listed as American Express - but we don't accept Amex cards and we never have. The WHMCS settings are configured not to accept Amex. Something has happened during the upgrade to 7.8 which has completely messed up all the card data. There are a few problems relating to the "MyWorks Paypal billing" module that has also caused a mess. Customers now have in some cases three or four cards, when they only had one previously - in some cases at least two instances of the paypal billing "card" and normal card, and one with last four xxxx. I don't know where to start cleaning this up - other than to remove all payment methods and ask the clients to start again - but I really don't want to do that. Edited December 6, 2019 by Chris74 0 Quote Link to comment Share on other sites More sharing options...
WHMCS Support Manager WHMCS John Posted December 6, 2019 WHMCS Support Manager Share Posted December 6, 2019 Hi @Chris74, The MyWorks PayPal Billing module has been known to cause a number of problem with Pay mMthods in 7.8, please do ensure you've applied their latest update which should help avoid problems moving forward. Our technical support team can then investigate and most likely get your locally stored cards back in order. Please do open a ticket with WHMCS Admin and database access credentials so we can assist: https://www.whmcs.com/submit-a-ticket/ Please do PM your Ticket ID to me afterwards and I can monitor it personally. 0 Quote Link to comment Share on other sites More sharing options...
Chris74 Posted December 6, 2019 Author Share Posted December 6, 2019 @WHMCS John I'm not opening a ticket - your support is terrible and always results in you asking for access to my server. I'd rather gouge my eyes out with a spoon than pass on any sensitive data to your staff. I don't have any confidence that you will be able to help me via your helpdesk. I'd rather rely on community help than use your support. Sorry but that's the honest truth. 1 Quote Link to comment Share on other sites More sharing options...
WHMCS Support Manager WHMCS John Posted December 6, 2019 WHMCS Support Manager Share Posted December 6, 2019 Hi @Chris74, Yes we will need to review the data in your WHMCS installation's MySQL database to assist in resolving the issues you are facing here. Should you change your mind, my offer stands. 0 Quote Link to comment Share on other sites More sharing options...
aext Posted November 19, 2020 Share Posted November 19, 2020 We have a similar sounding problem, we use that paypal module as well. We temp removed the rows for now like this: We copied/backed-up the table and deleted the XXXX rows in the live table for now, because most importantly it was causing usability issues for users (stripe was messed-up on checkout page if invalid XXXX CC data). We also deleted the associated rows in tblpaymethods (the id of tblpaymethods equals the column paymethod_id in tblcreditcards). Doing these deletions 'fixed' the end-user issues. The real difficult question is, how if possible, to recover the credit card rows? When I have a solution for recovery of the old rows, I will then restore the old table and follow the steps. Please advise on recovery steps if it is at all possible. Thank you. 0 Quote Link to comment Share on other sites More sharing options...
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.