alfabank
v1.0.0-alpha.15
Published
Pay API for alfa-biz.by (alfabank belarus)
Readme
- axios
- composition api like
- written on typescript (autocomplete filed)
- [x]
register.do - [x]
register.dowithorderBundle - [x]
getOrderStatus.do - [x]
getOrderStatusExtended.do - [x]
addParams.do - [x]
refund.do
- [x]
based on merchant manual - ru
Installing
Install alfabank package
npm i alfabank
# or
yarn add alfabankimport
import { useAlfaBank, toBynPenny } from 'alfabank'Usage
toBynPenny
convert human amount to minimum unit of measure
toBynPenny(10.5)
// Result: 1050useAlfaBank
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: '[email protected]',
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",
// ...
}
}