machinomy
Version:
Micropayments powered by Ethereum
28 lines (27 loc) • 1.64 kB
TypeScript
/// <reference types="@types/node" />
import { EventEmitter } from 'events';
import { Transport } from './transport';
import Payment from './payment';
import IChannelManager from './IChannelManager';
import { AcceptPaymentRequest } from './accept_payment_request';
import { AcceptPaymentResponse } from './accept_payment_response';
import { AcceptTokenRequest } from './accept_token_request';
import { AcceptTokenResponse } from './accept_token_response';
import { PaymentRequiredResponse } from './PaymentRequiredResponse';
export default interface Client extends EventEmitter {
doPreflight(sender: string, gateway: string, datetime?: number): Promise<PaymentRequiredResponse>;
doPayment(payment: Payment, gateway: string, purchaseMeta?: any): Promise<AcceptPaymentResponse>;
acceptPayment(req: AcceptPaymentRequest): Promise<AcceptPaymentResponse>;
doVerify(token: string, gateway: string): Promise<AcceptTokenResponse>;
acceptVerify(req: AcceptTokenRequest): Promise<AcceptTokenResponse>;
}
export declare class ClientImpl extends EventEmitter implements Client {
private transport;
private channelManager;
constructor(transport: Transport, channelManager: IChannelManager);
doPreflight(sender: string, gateway: string, datetime?: number): Promise<PaymentRequiredResponse>;
doPayment(payment: Payment, gateway: string, purchaseMeta?: any): Promise<AcceptPaymentResponse>;
acceptPayment(req: AcceptPaymentRequest): Promise<AcceptPaymentResponse>;
doVerify(token: string, gateway: string): Promise<AcceptTokenResponse>;
acceptVerify(req: AcceptTokenRequest): Promise<AcceptTokenResponse>;
}