@paydock/client-sdk
Version:
Paydock client sdk
131 lines • 4.07 kB
TypeScript
import { Container } from "../../components/container";
import { IWalletMeta, IShippingOption, WALLET_TYPE } from "../../components/param";
import { EventEmitter } from "../../helper/event-emitter";
export interface IWalletButtonsAvailability {
apple_pay: boolean;
google_pay: boolean;
}
export interface IWalletServiceMeta extends IWalletMeta {
amount: number;
currency: string;
capture?: boolean;
id?: string;
gateway_mode?: string;
credentials?: object;
reference?: string;
success_url?: string;
error_url?: string;
}
export interface IWalletServiceUpdateData {
amount: number;
shipping_options?: IShippingOption[];
}
export interface IWalletServiceUpdate {
success: boolean;
body?: IWalletServiceUpdateData;
}
export interface IPaymentMethod {
payment_method_id?: string;
device?: string;
customer: {
payer_name: string;
payer_email: string;
payer_phone: string;
payment_source: {
wallet_type: WALLET_TYPE;
card_name: string;
type: string;
card_scheme: string;
card_number_last4: string;
expire_month: number;
expire_year: number;
address_line1: string;
address_line2: string;
address_city: string;
address_postcode: string;
address_state: string;
address_country: string;
ref_token?: string;
};
};
shipping?: {
method?: string;
options?: IShippingOption[];
address_line1?: string;
address_line2?: string;
address_city?: string;
address_postcode?: string;
address_state?: string;
address_country?: string;
address_company?: string;
address_origin_postcode?: string;
contact?: {
first_name?: string;
last_name?: string;
email?: string;
phone?: string;
phone2?: string;
};
};
}
export declare const WALLET_EVENT: {
UNAVAILABLE: string;
UPDATE: string;
PAYMENT_METHOD_SELECTED: string;
PAYMENT_SUCCESS: string;
PAYMENT_IN_REVIEW: string;
PAYMENT_ERROR: string;
CALLBACK: string;
AUTH_TOKENS_CHANGED: string;
BUTTON_CLICK: string;
CHECKOUT_OPEN: string;
CHECKOUT_CLOSE: string;
};
export interface IUnavailableWalletEventBody {
}
export interface IPaymentMethodSelectedWalletEventBody {
data: IPaymentMethod;
onSuccess: () => void;
onError: (message?: string) => void;
}
export interface ICallbackData {
request_type: string;
}
export interface ICallbackSuccessData {
id: string;
status: string;
callback_method: string;
callback_rel: string;
callback_url: string;
}
export interface IWalletCallbackEventBody {
data: ICallbackData;
onSuccess: (data?: ICallbackSuccessData) => void;
onError: (message?: string, code?: string) => void;
}
export interface IWalletService {
load(container: Container): Promise<void>;
close?(): void;
update(data: IWalletServiceUpdate): void;
enable(): void;
disable(): void;
setEnv(env: string): any;
on(eventName: string, cb?: (data: IUnavailableWalletEventBody | IPaymentMethodSelectedWalletEventBody | any) => void): any;
}
export declare abstract class WalletService {
protected publicKey: string;
protected meta: IWalletServiceMeta;
protected env: string;
protected childWallets: IWalletService[];
protected eventEmitter: EventEmitter;
constructor(publicKey: string, meta: IWalletServiceMeta);
protected initializeChildWallets(): void;
protected getGatewayName(): string;
setEnv(env: string): this;
load(container: Container): Promise<void>;
update(data: IWalletServiceUpdate): void;
enable(): void;
disable(): void;
on(eventName: string, cb?: (data: IUnavailableWalletEventBody | IPaymentMethodSelectedWalletEventBody) => void): Promise<unknown> | (() => void);
}
//# sourceMappingURL=wallet-service.d.ts.map