BinKing est prêt

BinKing est un outil pour créer des formes royales d'acceptation des cartes bancaires. BinKing vous permet d'obtenir le logo de la banque, les couleurs, le numéro de téléphone, le logo de la marque et plus encore par numéro de carte. BinKing aide également à la validation de ces formulaires. Utilisez BinKing pour créer un formulaire intelligent et réactif d'acceptation des cartes bancaires. Augmenter la conversion, fidéliser les utilisateurs, réduire la charge de travail du service support.





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



Où puis-je obtenir les archives?



J'ai. Maintenant, je vais le donner pas cher, ce sera plus cher au fur et à mesure que je le terminerai.




All Articles