This is the template project that's checked out and configured when you run the bando-up command from ljsthw-bandolier. This is where the code really lives.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
bandolier-template/admin/bando/demos/FairPay.svelte.md

1.1 KiB

The FairPay component is more of a demo than an actual component. It shows how to use the Paypal.svelte and BTCPay.svelte components. The FairPay.svelte implements a "pay what you want" style of payments.

Why the $10 increments? There's a form of credit card crime called "carding" where people with stolen numbers test their cards on any purchase that is $1. They'll get large numbers of possibly valid credit cards and they need to test them. The best way to test them is to attempt a very small purchase, and if the purchase works then they mark the card valid.

If you allow people to pay any amount as a donation then carders will raid your purchase form and rack up $1 fraudulent charges. That may not seem to bad, but your payment processor will then charge you $15 or more to handle the charge back. Even if you offer to refund the purchase and they do no work. This means if you receive $100 of fraudulent charges you would owe $1500 in fees.

The easiest way to prevent this is to simply only allow increments of $10. $10 is too high for most carder testers, so this will deter them (at least until everyone does this).