SEOClerks

How to avoid chargebacks to your website and bank account



Write the reason you're deleting this FAQ

How to avoid chargebacks to your website and bank account

I want to say this first off, there's no way to absolutely negate all chargebacks from happening. People who do chargebacks with either use their card and report it stolen in order to get their money back or they will actually steal someones card and hope they payment goes through without the card holder noticing prior to receiving the items.

I've dealt with my fair share of fraudulent purchases resulting in chargebacks and I can tell you that they are not fun. The little $10 chargebacks are pretty annoying, but the main ones you'll see are for the larger packages or items you sell.


Now then, here are some ways to deter people who plan on purchasing from you with a stolen credit card or use their own but intend to report it as stolen so they get their money back.

  • Registration - Make it so that your users have to register on your website prior to purchasing. This won't guarantee that people willa avoid your website, but it will deter a few scammers from trying to purchase and file a charge back after they recieve your items.
  • Captchas - Again, this won't guarantee anything but it will deter the dumb people who can't get past the security test lol How to avoid chargebacks to your website and bank account
  • Check the buyer and shipping locations - Usually if the two are very different, it's because there is fraud involved. Now I have had a few orders that spring some red flags for me because the addresses are very far apart, but some people buy for their kids, grand kids, etc. If you're worried about a sale like this just call the person and ask why the addresses are different. They aren't expecting you to call them, so when you do, they usually don't have a solid story of why they're different. You have to judge their response on your own and figure out if it's a genuine response.
  • Third party fraud detection - These services will integrate with almost any website. You can pay a monthly fee for these fraud monitoring services and just put a script on your website which will block certain IPs from purchasing from you. The IPs are usually tied into fraudulent purchases. If you use Shopify, they have a good fraud monitoring system built right into their dashboard.



Does anyone have anything else they'd like to add?



Follow me How to avoid chargebacks to your website and bank account
https://www.seoclerks.com/user/Razzy



Thanks!

Razzy

Comments

Please login or sign up to leave a comment

Join
idealmike
Interesting you mention hiring 3rd party fraud detection. I know there are several WP plugins that claim to do that like Epom and some other anti-click fraud monitoring plugins too that I've looked at before both free and paid to prevent or try to minimize charge backs. Of course, your other methods are worth making use of to prevent automated fraud where people use bots and networks to try and create fake accounts and purchase with stolen details. Those are the networks and IP's that those plugins and other 3rd party solutions block as they are discovered. You'll never be able to fully protect yourself from that no matter how hard you baton down the hatches and how many loops you make people jump through before they can finally checkout and make payment. It's like a constant cat and mouse game. They generate and use new IP's and relay networks using systems like Tor uses and try it all over again until they get reported enough and then blocked again and so it goes on. It's the same for the systems and procedures you put in place on your site for when making payment. These are all hoops they have to jump through where you can only collect so much information from them without them thinking sod this I'm off because you're asking for photo ID, retina eye scan, fingerprint scan and DNA samples before they can make payment and not many people are up for that! lol.

So what do you do? You don't want to make it too hard for people to pay and check out on your site. You want to make it easy for them and also want to provide different payment methods available for people who don't have PayPal or even a credit/debit card or another card type. You don't want to ask too many questions about them other than their name and address but you also need to collect as much information as possible on your sites buyers so you may need it if they decide to do an unauthorized charge back claim and which case your card payment processor whoever they are will likely bend at the knees at them asking for the credits back and there's not much you can do about that unless you are using a payment processor that will defend that purchase and need the info you collected on them to fight it out in court if it comes to that. PayPal are now able to do more and have more power when it comes to this and card companies are fighting back against it too.

So at the minimum you would want to have at least their IP address for starters.
Their name and address or any delivery/billing names or addresses given.
Their payment details of course and all of that.
Their browser user agent and screen size but can be mocked.
Their visitor activity paths on your site in your server or traffic stat logs.

When the addresses are far apart that's definitely a red flag. Like when the purchasers address is in America but the delivery address is in Nigeria or somewhere like that. Especially when the surnames aren't the same as well. The thing is, sometimes you can get purchases like this on your site, and sometimes they turn out to be completely legitimate as well. It's a crazy bite the bullet world! How to avoid chargebacks to your website and bank account



Are you sure you want to delete this post?

Lynne
Thanks for these tips Razzy. I was expecting to one day get a chargeback or fraudulent transaction on my online store... but thankfully I never encountered that ever in the few years I had my store.

I guess maybe the baby product niche is not full of people wanting to commit fraud? They are probably so tired from their new babies that they wouldn't know how to commit fraud... lucky for me.

However I did wonder how other large online stores dealt with this and how often it happened.

Great tips that you and Mike have given here, thanks.



Are you sure you want to delete this post?

jaymish2
I want to start an E-commerce store. One of the reasons I have not done so is chargebacks. This can get you banned from sites like paypal, yet its really never your fault. They should be a mechanism to prevent this. In most cases the client has received the product and does not intend to return it back to you. I know that online shopping is still an evolving process, but I hope someone comes up with a way to curb this kind of fraud.



Are you sure you want to delete this post?

Order Now
Process Time: 0.57168102264404

Possible Duplicate queries found!
MatchCountSQLScript
SELECT * FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='19715'1SELECT q.*, c.seo as CatSEO, c.name as CatName, c.parentid FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='19715'

/opt/clerks-staging/docroot/viewfaq.php 496 () ()

SELECT * FROM seoclerks.members WHERE USERID='19821'1SELECT * FROM seoclerks.members WHERE USERID='19821'

/opt/clerks-staging/docroot/include/functions/includes/member.php 445 GetAllUserDetails() ()

SELECT * FROM categories_faq WHERE CATID='42'1SELECT CATID, seo, name, metatitle, h2header, metakeywords, metadescription, metaheader, parentid, image_name FROM categories_faq WHERE CATID='42'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() GetCategorySeoFromType()

SELECT * FROM seoclerks.members WHERE USERID=198211SELECT googleplus_profile FROM seoclerks.members WHERE USERID=19821

/opt/clerks-staging/docroot/include/functions/main.php 16914 GetGooglePlusProfileFromId() ()

SELECT * FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=19715 LIMIT 51SELECT m.username FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=19715 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='19715' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc1SELECT a.answer, a.USERID, a.upvotes, a.downvotes, a.ansid, a.parentid, a.combined_votes, a.date_answered, b.username, b.userlevel, b.profilepicture FROM answers a, seoclerks.members b WHERE a.quesid='19715' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc

/opt/clerks-staging/docroot/viewfaq.php 1245 () ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=107700 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=107700 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=107763 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=107763 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=168455 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=168455 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

UPDATE questions SET total_views = total_views + 1 WHERE quesid='19715'1UPDATE questions SET total_views = total_views + 1 WHERE quesid='19715'

/opt/clerks-staging/docroot/include/functions/main.php 1765 update_Faqviewcount() ()

SELECT * FROM questions WHERE quesid!='19715' AND status='1' AND (question like '%How avoid chargebacks website bank account%' OR question like '%avoid%' OR question like '%chargebacks%' OR question like '%website%' OR question like '%bank%' OR question like '%account%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='19715' AND status='1' AND (question like '%How avoid chargebacks website bank account%' OR question like '%avoid%' OR question like '%chargebacks%' OR question like '%website%' OR question like '%bank%' OR question like '%account%') -- ORDER BY RAND() LIMIT 15

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM seoclerks.members WHERE USERID='1607' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='1607' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='1576' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='1576' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='1177' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='1177' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='3489' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='3489' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='337' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='337' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=19715%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID 1SELECT USERID, username FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=19715%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM categories1SELECT * FROM categories

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() parseRedundantQueriesCache()

select * from categories_software order by name asc1select * from categories_software order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetSoftwareCategories()

select * from categories_wanttobuy order by name asc1select * from categories_wanttobuy order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_wantcategories()

select * from categories_wanttotrade order by name asc1select * from categories_wanttotrade order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_tradecategories()

SELECT * FROM seoclerks.members WHERE USERID='272.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='272.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='306632.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='306632.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

select * from categories_faq order by name asc1select * from categories_faq order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetFaqCategories()

Invalid SQL

count(*)sql1error_msg

Expensive SQL

Tuning the following SQL could reduce the server load substantially
LoadCountSQLMaxMin

Suspicious SQL

The following SQL have high average execution times
Avg TimeCountSQLMaxMin
0.2957161SELECT A.*, B.seo, B.name as categoryname, C.username, C.userlevel, C.lastlogin, C.ip, C.profilepicture FROM wanttobuy A, categories_wanttobuy B, seoclerks.members C WHERE A.active = 1 AND A.category = B.CATID AND A.USERID = C.USERID ORDER BY A.bdays desc LIMIT 0,400.2957160.295716