@paydock/client-sdk
Version:
Paydock client sdk
139 lines • 5.11 kB
TypeScript
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