MaxTitovitch / alfabank

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🅰️🏦 Node.JS API ALFA-BANK ✅

Node.JS API library for Alfa-Bank: acquiring, remote payments (VISA, MASTERCARD, MASTERCARD, APPLE PAY, SAMSUNG PAY). Integration with CMS - node.js vue.js, react, angular

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

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

d v

  • axios
  • composition api like
  • written on typescript (autocomplete filed)
    • register.do
    • register.do with orderBundle
    • getOrderStatus.do
    • getOrderStatusExtended.do
    • addParams.do

based on merchant manual - ru

Installing

Install alfabank package

npm i alfabank
# or
yarn 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

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)
}

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

About

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

License:MIT License


Languages

Language:TypeScript 95.4%Language:HTML 4.6%