BinKing está pronto

BinKing é uma ferramenta para criar formas reais de aceitação de cartões bancários. BinKing permite obter o logotipo do banco, cores, número de telefone, logotipo da marca e muito mais pelo número do cartão. O BinKing também ajuda na validação de tais formulários. Use BinKing para criar um formulário de aceitação de cartão inteligente e responsivo. Aumente a conversão, aumente a fidelidade do usuário, reduza a carga de trabalho do departamento de suporte.





API ( , ) . BinKing. .



JSFiddle. . , , , . , . .



API (, + ), , , (Visa, MasterCard, ..) 6 . BinKing , , UX (, , ) .



. . : , , . . , . , , .



, , . ? 7 7 ( , , ) — 200 000 ₽. 200 000 ₽ . , 200 000 ₽.



BinKing , ., . , BinKing . . .





, BinKing -. , .



BinKing . API , .





, API . Node.js express. API API, .



const express = require('express')
const fs = require('fs')
const path = require('path')

const app = express()
const banks = fs.fileReadSync(path.resolve(__dirname, 'path/to/data/banks-all.json'))
const bins = fs.fileReadSync(path.resolve(__dirname, 'path/to/data/bins-all.json'))

const withLogos = bank => {
  return {
    ...bank,
    bankLogoBigOriginalSvg: bank.bankAlias + '-big-original.svg',
    bankLogoBigInvertedSvg: bank.bankAlias + '-big-inverted.svg',
    bankLogoSmallOriginalSvg: bank.bankAlias + '-small-original.svg',
    bankLogoSmallInvertedSvg: bank.bankAlias + '-small-inverted.svg',
    formBankLogoBigSvg: bank.bankAlias + '-big-' + bank.formLogoScheme + '.svg',
    formBankLogoSmallSvg: bank.bankAlias + '-small-' + bank.formLogoScheme + '.svg',
  }
}

app.get('/form', (req, res) => {
  const { cardNumber } = req.query
  const cardNumberCuted = cardNumber.replace(/D/g, '').substr(0, 6)
  const bankAlias = bins[cardNumberCuted]
  const bank = banks[bankAlias]
  if (!bank) return res.send('null')
  res.send(withLogos(bank))
})

app.get('/bank', (req, res) => {
  const { bankAlias } = req.query
  const bank = banks[bankAlias]
  if (!bank) return res.send('null')
  res.send(withLogos(bank))
})

app.get('/banks', (req, res) => {
  const { banksAliases } = req.query
  const result = banksAliases.split(',').map(bankAlias => {
    const bank = banks[bankAlias]
    return bank ? withLogos(bank) : null
  })
  res.send(result)
})




-. habr.com/users/iserdmi/posts. . IT-, . , , , .



. , .: , , . , ( , , , ), , : , . , . 2 , , . , : 1 , . ., .



. , . , , . . , .



- , , github.com/iserdmi/card-info/blob/master/README.ru.md, , , habr.com/post/324738 , .



? - . , , , KPI, , , , , . .



. , . . , API, , . , , API. , , , , .



? . , . , , .



CardInfo?



CardInfo — . . , .



Onde posso obter o arquivo?



Eu tenho. Agora vou dar barato, vai ficar mais caro quando eu terminar.




All Articles