BinKing está listo

BinKing es una herramienta para crear formas reales de aceptar tarjetas bancarias. BinKing le permite obtener el logotipo del banco, los colores, el número de teléfono, el logotipo de la marca y más por número de tarjeta. BinKing también ayuda en la validación de dichos formularios. Utilice BinKing para crear un formulario inteligente y receptivo para aceptar tarjetas bancarias. Aumente la conversión, aumente la lealtad de los usuarios, reduzca la carga de trabajo del departamento de soporte.





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 — . . , .



¿Dónde puedo conseguir el archivo?



Yo tengo. Ahora lo daré barato, me saldrá más caro a medida que lo termine.




All Articles