Very cool! But unfortunately the reality is most startups never capture the first 6 numbers of credit cards if they are using a payment gateway (stripe, recurly, etc). Do you have ideas on how we can access the BIN without compromising security if we're using said services?
If you use any payment gateway, you need to send the full credit card number from the client so the gateway can return a token that identifies the card in their vault.
You can do the same and write some JS to get the first 6 numbers and send a GET request to our API without compromising security. The BIN (first 6 numbers of credit cards) is not considered the primary account number so it's safe to send (and even store).
Think most startups collect BINs. Its easily to have javascript grab the first 6 digits. You already have code that validates the card with luhn check and also determine card type, grab the first 6 characters and stick it in a hidden field.
We built this internally for our needs, then decided to give it out to any service that needs similar functionality. The first six cards of any card tells us some interesting information on the identity of the card, such as type (debit/credit), brand (amex, visa), country (US, ES, GA), and issuer bank (chase, wells), etc.
This would be of good use if you want to do things like, block international cards, charge less for debit cards, or generate more analytics about how you get paid.
We're giving it away for free for most practical purposes, up to 1,000 requests a day. If you want more, just shoot us an email, hany@ribbon.co