machinomy
Version:
Micropayments powered by Ethereum
44 lines (43 loc) • 1.99 kB
TypeScript
import { RequestResponse } from 'request';
import Payment from './payment';
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 { PaymentRequiredRequest } from './PaymentRequiredRequest';
import { PaymentRequiredResponse } from './PaymentRequiredResponse';
export declare const STATUS_CODES: {
PAYMENT_REQUIRED: number;
OK: number;
};
export interface GetWithTokenCallbacks {
onWillLoad?: Function;
onDidLoad?: Function;
}
export interface RequestTokenOpts {
onWillSendPayment?: Function;
onDidSendPayment?: Function;
}
export declare class Transport {
/**
* Request URI sending a paywall token.
* @return {Promise<object>}
*/
getWithToken(uri: string, token: string, opts?: GetWithTokenCallbacks): Promise<RequestResponse>;
get(uri: string, headers?: object): Promise<RequestResponse>;
/**
* Request token from the server's gateway
* @param {string} uri - Full url to the gateway.
* @param {Payment} payment
* @param {{uri: string, headers: object, onWillPreflight: function, onDidPreflight: function, onWillOpenChannel: function, onDidOpenChannel: function, onWillSendPayment: function, onDidSendPayment: function, onWillLoad: function, onDidLoad: function}} opts
* @return {Promise<string>}
*/
requestToken(uri: string, payment: Payment, opts?: RequestTokenOpts): Promise<string>;
doPayment(paymentRequest: AcceptPaymentRequest, gateway: string): Promise<AcceptPaymentResponse>;
doVerify(tokenRequest: AcceptTokenRequest, gateway: string): Promise<AcceptTokenResponse>;
paymentRequired(paymentRequiredRequest: PaymentRequiredRequest, gateway: string): Promise<PaymentRequiredResponse>;
}
/**
* Build Transport instance.
*/
export declare const build: () => Transport;