/alfabank

Node.JS API библиотека для Альфа-Банк: эквайринг, удаленные платежи (VISA, MASTERCARD, MASTERCARD, APPLE PAY, SAMSUNG PAY). Интеграция с CMS - node.js vue.js, react, angular

Primary LanguageTypeScriptMIT LicenseMIT

🅰️🏦 Node.JS API ALFA-BANK ✅

Node.JS API library for Alfa-Bank in Belarus: acquiring, remote payments (VISA, MASTERCARD)

(Unnoficial)

Node.JS API библиотека для Альфа-Банк в Беларуси: эквайринг, удаленные платежи (VISA, MASTERCARD)

(Не оффициально)

official site

Node.JS API библиотека для Альфа-Банк

d v

Features

  • axios
  • Composition api style
  • Written on typescript (autocomplete filed)
    • register.do
    • register.do with orderBundle
    • getOrderStatus.do
    • getOrderStatusExtended.do
    • addParams.do
    • refund.do

based on documentation merchant manual - ru

Installing

Install alfabank package

npm i alfabank

# or
yarn add alfabank

# or
pnpm add alfabank

import

import { useAlfaBank, toBynPenny } from 'alfabank'

Usage

toBynPenny

convert human amount to minimum unit of measure

toBynPenny(10.5)
// Result: 1050

useAlfaBank

instance for action

Options

token - (string) Token (request in bank support)

userName - (string) Login for integration

password - (string) Password for integration

language - (string, default: ru) language for all requests

const alfaBank = useAlfaBank({
  token: 'your token'

  // or
  userName: 'your name',
  password: ' yor',

  language: 'en'
})

Autorization example, for storage use .env variables

Methods

register - Register order

const result = await alfaBank.register({
  amount: toBynPenny(115 * 2),
  orderNumber: '1234',
  returnUrl: `https://mysite/order/status`,
  jsonParams: {
    email: 'test@mail.ru',
    phone: '+375251001100',
  },
  orderBundle: {
    cartItems: {
      items: [
        {
          name: 'Apple iPhone XR 64GB',
          positionId: 1,
          quantity: {
            measure: 'pieces',
            value: 2,
          },
          itemCode: '2',
        },
      ],
    },
  },
})

if (result?.orderId) {
  console.log(result.formUrl, result.orderId)
} else if (result?.errorCode) {
  throw new Error(result.errorMessage)
}

refund - Order payment refund

const refundData = await alfaBank.refund({
  amount: toBynPenny(115 * 2),
  orderId: '291c4b92-4c38-70db-b265-5a2000c91c61',
})
console.log(refundData)

getOrderStatus - get order status

getOrderStatusExtended - get extended order status

mutate response:

params - field with value converted merchantOrderParams array to object like {"key": "value"}

paid - boolean - syntax sugar for check is order paid

{

  // ...
  merchantOrderParams: [
    {
      name: "browser_language_param",
      value: "ru"
    },
  ],

  params: {
    browser_language_param: "ru",

    // ...
  }
}

addParams - add params to order

await alfaBank.addParams({
  orderId: "291c4b92-4c38-70db-b265-5a2000c91c61",
  params: {
    cutom_field1: "sample"
  }
})

License

MIT License © 2022 reslear