UNPKG

@paydock/client-sdk

Version:

Paydock client sdk

131 lines 4.07 kB
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