UNPKG

nodejs-cryptomus

Version:

A comprehensive Node.js client for the Cryptomus API

65 lines (64 loc) 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PayoutService = void 0; const helpers_1 = require("../utils/helpers"); /** * Payout service for managing payouts */ class PayoutService { /** * Create a new payout service * * @param client - Cryptomus API client */ constructor(client) { this.client = client; } /** * Create a new payout * * @param params - Payout creation parameters * @returns Created payout information */ async createPayout(params) { const payload = { ...params, amount: (0, helpers_1.ensureString)(params.amount) }; const response = await this.client.requestPayout('POST', '/payout', payload); return response.result; } /** * Get payout information by UUID or order ID * * @param params - Parameters containing UUID or order ID * @returns Payout information */ async getPayoutInfo(params) { if (!params.uuid && !params.order_id) { throw new Error('Either uuid or order_id must be provided'); } const response = await this.client.requestPayout('POST', '/payout/info', (0, helpers_1.filterUndefined)(params)); return response.result; } /** * Get payout history * * @param params - History request parameters * @returns List of payouts */ async getPayoutHistory(params = {}) { const response = await this.client.requestPayout('POST', '/payout/list', (0, helpers_1.filterUndefined)(params)); return response.result; } /** * Get list of available payout services * * @returns List of available payout services */ async getServices() { const response = await this.client.requestPayout('GET', '/payout/services'); return response.result; } } exports.PayoutService = PayoutService;