/** * Hash Generation Utilities */ /** * Generate current timestamp in PayWay format (YYYYMMDDHHmmss) * @returns UTC timestamp string * @example * const timestamp = generateReqTime(); * console.log(timestamp); // "20250213084236" */ export declare function generateReqTime(): string; /** * Generate unique transaction ID * @returns Transaction ID based on current timestamp in milliseconds * @example * const tranId = generateTransactionId(); * console.log(tranId); // "1739427769300" */ export declare function generateTransactionId(): string; /** * Generate HMAC SHA-512 hash * @param data - Data to hash * @param apiKey - API key for HMAC * @returns Base64 encoded hash * @throws {Error} If API key is not provided * @example * const hash = generateHash("20250213084236ec00000217394277693", "your-api-key"); */ export declare function generateHash(data: string, apiKey: string): string; /** * Generate hash for purchase request * Concatenates all fields in the specific order required by PayWay API * * @param params - Purchase request parameters * @param apiKey - API key for HMAC * @returns Base64 encoded hash */ export declare function generatePurchaseHash(params: { req_time: string; merchant_id: string; tran_id: string; amount: number | string; items?: string; shipping?: number | string; firstname?: string; lastname?: string; email?: string; phone?: string; type?: string; payment_option?: string; return_url?: string; cancel_url?: string; continue_success_url?: string; return_deeplink?: string; currency?: string; custom_fields?: string; return_params?: string; payout?: string; lifetime?: number | string; additional_params?: string; google_pay_token?: string; skip_success_page?: number | string; }, apiKey: string): string; /** * Generate hash for QR request * According to PayWay API documentation, the hash should include these fields in order: * req_time, merchant_id, tran_id, amount, items, firstname, lastname, email, phone, * purchase_type, payment_option, callback_url, return_deeplink, currency, custom_fields, * return_params, payout, lifetime, qr_image_template * * @param params - QR request parameters * @param apiKey - API key for HMAC * @returns Base64 encoded hash */ export declare function generateQRHash(params: { req_time: string; merchant_id: string; tran_id: string; amount: number | string; items?: string; first_name?: string; last_name?: string; email?: string; phone?: string; purchase_type?: string; payment_option: string; callback_url?: string; return_deeplink?: string; currency?: string; custom_fields?: string; return_params?: string; payout?: string; lifetime: number | string; qr_image_template: string; }, apiKey: string): string; /** * Generate hash for token purchase request * Hash includes: req_time, merchant_id, tran_id, amount, items, shipping, ctid, pwt, * firstname, lastname, email, phone, type, return_url, currency, custom_fields, * return_params, payout * * @param params - Token purchase request parameters * @param apiKey - API key for HMAC * @returns Base64 encoded hash */ export declare function generateTokenPurchaseHash(params: { req_time: string; merchant_id: string; tran_id: string; amount: number | string; items?: string; shipping?: number | string; ctid?: string | null; pwt?: string | null; firstname?: string; lastname?: string; email?: string; phone?: string; type?: string; return_url?: string; currency?: string; custom_fields?: string; return_params?: string; payout?: string; }, apiKey: string): string;