UNPKG

anypay-ts

Version:

TypeScript библиотека для работы с платёжной системой AnyPay

79 lines (78 loc) 3.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateCreatePaymentSign = generateCreatePaymentSign; exports.generatePaymentsListSign = generatePaymentsListSign; exports.generateBalanceSign = generateBalanceSign; exports.generateRatesSign = generateRatesSign; exports.generateCommissionsSign = generateCommissionsSign; exports.generateIpNotificationSign = generateIpNotificationSign; exports.generateCreatePayoutSign = generateCreatePayoutSign; exports.generatePayoutsSign = generatePayoutsSign; const crypto_1 = __importDefault(require("crypto")); /** * Генерация подписи для создания нового платежа * Формат хэша: SHA256('create-payment[API_ID][project_id][pay_id][amount][currency][desc][method][API_KEY]') */ function generateCreatePaymentSign(apiId, params, apiKey) { const str = `create-payment${apiId}${params.project_id}${params.pay_id}${params.amount}${params.currency}${params.desc}${params.method}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса списка транзакций * Формат хэша: SHA256('payments[API_ID][project_id][API_KEY]') */ function generatePaymentsListSign(apiId, apiKey, projectId) { const str = `payments${apiId}${projectId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса баланса проекта * Формат хэша: SHA256('balance[API_ID][API_KEY]') */ function generateBalanceSign(apiId, apiKey) { const str = `balance${apiId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса курсов конвертации валют * Формат хэша: SHA256('rates[API_ID][API_KEY]') */ function generateRatesSign(apiId, apiKey) { const str = `rates${apiId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса списка комиссий проекта * Формат хэша: SHA256('commissions[API_ID][project_id][API_KEY]') */ function generateCommissionsSign(apiId, projectId, apiKey) { const str = `commissions${apiId}${projectId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса актуальных IP адресов уведомлений * Формат хэша: SHA256('ip-notification[API_ID][API_KEY]') */ function generateIpNotificationSign(apiId, apiKey) { const str = `ip-notification${apiId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для создания выплаты * Формат хэша: SHA256('create-payout[API_ID][payout_id][payout_type][amount][wallet][API_KEY]') */ function generateCreatePayoutSign(apiId, payoutId, payoutType, amount, wallet, apiKey) { const str = `create-payout${apiId}${payoutId}${payoutType}${amount}${wallet}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); } /** * Генерация подписи для запроса списка выплат * Формат хэша: SHA256('payouts[API_ID][API_KEY]') */ function generatePayoutsSign(apiId, apiKey) { const str = `payouts${apiId}${apiKey}`; return crypto_1.default.createHash('sha256').update(str).digest('hex'); }