nodejs-cryptomus
Version:
A comprehensive Node.js client for the Cryptomus API
65 lines (64 loc) • 1.95 kB
JavaScript
;
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;