monzi-sdk
Version:
SDK for MonziPay, cryptocurrency payment gateway. SDK para MonziPay, pasarela de pagos de criptomonedas
135 lines (129 loc) • 3.23 kB
text/typescript
interface ItemTransaction {
image?: string;
name: string;
description?: string;
quantity: number;
price: number;
total: number;
}
type NetworkType = 'BSC' | 'BTC' | 'ETH' | 'TRX' | 'MATIC' | 'SOL';
type TokenType = 'USDT' | 'USDC' | 'ETH' | 'BNB' | 'TRX' | 'SOL' | 'BTC';
interface TransactionRequest {
customerNames: string;
customerEmail: string;
externalId: string;
network: NetworkType;
token: TokenType;
amount: number | string;
expiration?: number;
items?: Array<ItemTransaction>;
}
interface TransactionResponse {
uuid: string;
customerName: string;
customerEmail: string;
purchaseId: string;
amount: string;
amountUsd: string;
received: string;
receivedUsd: string;
address: string;
statusUuid: string;
status: {
value: string;
name: string;
};
network: {
name: string;
symbol: string;
logo: string;
};
token: {
name: string;
symbol: string;
logo: string;
decimals: number;
rounded: number;
};
merchant: {
uuid: string;
name: string;
};
createdAt: string;
updatedAt: string;
expiresAt: string;
webhookSent: boolean;
purchaseItems: Array<ItemTransaction>;
}
declare class TransactionsModule {
private client;
constructor(apiKey: string, baseURL: string);
create(data: TransactionRequest): Promise<TransactionResponse>;
show(transactionId: string): Promise<TransactionResponse>;
validate(transactionId: string): Promise<TransactionResponse>;
cancel(transactionId: string): Promise<TransactionResponse>;
}
interface Shipment {
address: string;
amount: number;
}
interface MassPaymentRequest {
name: string;
wallet: string;
notes?: string;
shipments: Array<Shipment>;
sendAt?: string;
}
interface ShipmentResponse extends Shipment {
validated: boolean;
}
interface MassPaymentResponse {
uuid: string;
name: string;
id: number;
statusUuid: string;
walletUuid: string;
sendAt: string | null;
notes: string;
initiatedBy: string;
status: {
uuid: string;
name: string;
value: string;
};
wallet: {
address: string;
balance: string;
balanceUsd: number;
network: {
uuid: string;
name: string;
symbol: string;
logo: string;
};
token: {
uuid: string;
name: string;
symbol: string;
logo: string;
};
};
}
declare class MassPaymentsModule {
private client;
constructor(apiKey: string, baseURL: string);
shedule(data: MassPaymentRequest): Promise<MassPaymentResponse>;
list(data?: {
status?: string;
wallets?: string;
names?: string;
}): Promise<MassPaymentResponse[]>;
show(paymentId: string): Promise<MassPaymentResponse>;
validate(data: MassPaymentRequest): Promise<ShipmentResponse>;
}
declare class Monzi {
transactions: TransactionsModule;
mass: MassPaymentsModule;
constructor(apiKey: string, baseURL?: string);
}
export { Monzi as default };