anypay-ts
Version:
TypeScript библиотека для работы с платёжной системой AnyPay
48 lines (47 loc) • 1.99 kB
JavaScript
;
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;