Jump to content

Card-XXXX


Chris74

Recommended Posts

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 by Chris74
Link to comment
Share on other sites

  • 2 weeks later...
  • WHMCS Support Manager

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • WHMCS Support Manager

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)

Link to comment
Share on other sites

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 by Chris74
Link to comment
Share on other sites

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}

 

Link to comment
Share on other sites

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 by Chris74
Link to comment
Share on other sites

  • WHMCS Support Manager

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.

Link to comment
Share on other sites

@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.

 

Link to comment
Share on other sites

  • 11 months later...

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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