UNPKG

anypay-ts

Version:

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

48 lines (47 loc) 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaymentService = void 0; const axios_1 = __importDefault(require("axios")); const form_data_1 = __importDefault(require("form-data")); const crypto_1 = require("../utils/crypto"); const errorHandler_1 = require("../utils/errorHandler"); class PaymentService { constructor(apiId, apiKey) { this.apiId = apiId; this.apiKey = apiKey; } async createPayment(params) { try { const sign = (0, crypto_1.generateCreatePaymentSign)(this.apiId, params, this.apiKey); const form = new form_data_1.default(); Object.entries({ ...params, sign }).forEach(([key, value]) => { if (value !== undefined && value !== null) form.append(key, value); }); const response = await axios_1.default.post(`https://anypay.io/api/create-payment/${this.apiId}`, form, { headers: form.getHeaders() }); return response.data; } catch (err) { (0, errorHandler_1.handleAxiosError)(err); } } async getPayments(params) { try { const sign = (0, crypto_1.generatePaymentsListSign)(this.apiId, this.apiKey, params.project_id); const form = new form_data_1.default(); Object.entries({ ...params, sign }).forEach(([key, value]) => { if (value !== undefined && value !== null) form.append(key, value); }); const response = await axios_1.default.post(`https://anypay.io/api/payments/${this.apiId}`, form, { headers: form.getHeaders() }); return response.data; } catch (err) { (0, errorHandler_1.handleAxiosError)(err); } } } exports.PaymentService = PaymentService;