UNPKG

@paydock/client-sdk

Version:

Paydock client sdk

139 lines 5.11 kB
import { Container } from '../components/container'; import { CHECKOUT_MODE, GATEWAY_TYPE } from './checkout-button.interface'; import { Background } from '../components/background'; import { EventEmitter } from '../helper/event-emitter'; import { IPayPalMeta, IAfterpayMeta, IZipmoneyMeta } from '../components/param'; import { AdditionalParams, IContextualRunner, IRedirectRunner } from './runner'; import { CheckoutContextualHandler } from './checkout-contextual-handler'; /** * Class CheckoutButton transform usual button into checkout * * @constructor * * @param {string} selector - Selector of html element. * @param {string} aceessToken - PayDock access token or users public key * @param {string} [gatewayId=default] - PayDock's gatewayId. By default or if put 'default', it will use the selected default gateway * @param {string} [type=PaypalClassic] - Type of gateway (PaypalClassic, Zipmoney) * @example * var widget = new CheckoutButton('#button', 'accessToken','gatewayId'); */ declare class CheckoutButton { protected accessToken: string; protected gatewayId: string; protected gatewayType: GATEWAY_TYPE; protected mode: CHECKOUT_MODE; protected window: Window; protected eventEmitter: EventEmitter; protected container: Container; protected meta: IPayPalMeta; protected runner: IContextualRunner | IRedirectRunner; protected background?: Background; protected checkoutHandler?: CheckoutContextualHandler; protected env: string; protected alias?: string; /** @constructs */ constructor(selector: string, accessToken: string, gatewayId?: string, gatewayType?: GATEWAY_TYPE, mode?: CHECKOUT_MODE); protected chooseRunner(gatewayType: GATEWAY_TYPE, mode: CHECKOUT_MODE): void; protected buildAdditionalParams(): AdditionalParams; protected initCheckout(container: Container): void; /** * This callback will be called for each event in payment source widget * * @callback listener */ /** * Listen to events of widget * * @example * * widget.on('click', function () { * * }); * @param {string} eventName - Available event names [CHECKOUT_BUTTON_EVENT]{@link CHECKOUT_BUTTON_EVENT} * @param {listener} cb */ on<T = object>(name: string, handler: (data: T) => void): void; /** * Close popup window forcibly. * Only for 'contextual' mode. * */ close(): void; /** * After finish event of checkout button, data (dataType) will be insert to input (selector) * * @param {string} selector - css selector . [] # * @param {string} dataType - data type of IEventCheckoutFinishData [IEventCheckoutFinishData]{@link #IEventCheckoutFinishData}. */ onFinishInsert(selector: string, dataType: string): void; /** * Method for setting meta information for checkout page * * @example * button.setMeta({ brand_name: 'paydock', reference: '15', email: 'wault@paydock.com' }); * * @param {(IPayPalMeta|IAfterpayMeta|IZipmoneyMeta)} meta - Data which can be shown on checkout page [IPayPalMeta]{@link IPayPalMeta} [IZipmoneyMeta]{@link IZipmoneyMeta} [IAfterpayMeta]{@link IAfterpayMeta} */ setMeta(meta: IPayPalMeta | IAfterpayMeta | IZipmoneyMeta): void; /** * Method for setting backdrop description. * Only for 'contextual' mode. * * @example * button.setBackdropDescription('Custom description'); * * @param {string} text - description which can be shown in overlay of back side checkout page */ setBackdropDescription(text: string): void; /** * Method for setting backdrop title. * Only for 'contextual' mode. * * @example * button.setBackdropTitle('Custom title'); * * @param {text} string - title which can be shown in overlay of back side checkout page */ setBackdropTitle(text: string): void; /** * Method for setting suspended redirect uri. Redirect after referred checkout. * Only for 'contextual' mode. * * @param {uri} string - uri for redirect (by default) */ setSuspendedRedirectUri(uri: string): void; /** * Method for setting the merchant redirect URL. * Merchant's customers redirect after successfull checkout. * Only for 'redirect' mode. * * @param {url} string - redirect url */ setRedirectUrl(url: string): void; getSuccessRedirectUri(): string; /** * Method for disable backdrop on the page. * Only for 'contextual' mode. * * @example * button.turnOffBackdrop(); * */ turnOffBackdrop(): void; protected turnOffControlBackdrop(): void; protected turnOffLoaderBackdrop(): void; setEnv(env: string, alias?: string): void; getEnv(): string; private getRunnerByMode; private assertMethodSupport; } /** * @interface IEventCheckoutFinishData * * @param {string} [payment_source_token] */ export { CheckoutButton }; //# sourceMappingURL=checkout-button.d.ts.map