UNPKG

@muhammedaksam/sipay-node

Version:

Node.js TypeScript SDK for Sipay payment gateway

42 lines 3 kB
/** * Sipay Status Code Utilities * Helper functions for working with Sipay API status codes */ import { SipayStatusCode, SipayStatusCategory } from '../types/status-codes'; /** * Enhanced error information for status codes */ export interface StatusCodeInfo { code: number; description: string; category: SipayStatusCategory; isSuccess: boolean; isError: boolean; isRetryable: boolean; httpEquivalent?: number; } /** * Get comprehensive information about a status code */ export declare function getStatusCodeInfo(statusCode: number): StatusCodeInfo; /** * Common status code groups for easy checking */ export declare const StatusCodeGroups: { readonly SUCCESS: readonly [SipayStatusCode.SUCCESSFUL, SipayStatusCode.REFUND_REQUEST_CREATED, SipayStatusCode.PARTIALLY_SUCCESSFUL]; readonly VALIDATION_ERRORS: readonly [SipayStatusCode.BASIC_VALIDATION, SipayStatusCode.ITEMS_VALIDATION_ERROR, SipayStatusCode.PRICE_TOTAL_MISMATCH, SipayStatusCode.QUANTITY_MUST_BE_INTEGER, SipayStatusCode.INVALID_INVOICE_ID, SipayStatusCode.INVALID_CHARACTER, SipayStatusCode.INVALID_CARD_NUMBER, SipayStatusCode.CANCELLATION_URL_SHOULD_NOT_BE_BLANK]; readonly PAYMENT_ERRORS: readonly [SipayStatusCode.ORDER_FAILED, SipayStatusCode.PAYMENT_TERM_NOT_SET, SipayStatusCode.REFUND_FAILED, SipayStatusCode.TRANSACTION_NOT_FOUND, SipayStatusCode.ORDER_NOT_YET_PROCESSED, SipayStatusCode.TRANSACTION_NOT_APPROVED]; readonly MERCHANT_LIMIT_ERRORS: readonly [SipayStatusCode.CREDIT_CARD_BLOCKED, SipayStatusCode.MERCHANT_DAILY_AMOUNT_LIMIT_EXCEEDED, SipayStatusCode.MERCHANT_MONTHLY_TRANSACTION_LIMIT_EXCEEDED, SipayStatusCode.MERCHANT_MONTHLY_AMOUNT_LIMIT_EXCEEDED, SipayStatusCode.MINIMUM_TRANSACTION_LIMIT_VIOLATED]; readonly CARD_ERRORS: readonly [SipayStatusCode.CREDIT_CARD_BLOCKED, SipayStatusCode.MERCHANT_CARD_TRANSACTION_NOT_ALLOWED, SipayStatusCode.CARD_PROGRAM_MISMATCH, SipayStatusCode.FOREIGN_CARDS_NOT_ALLOWED, SipayStatusCode.NO_FOREIGN_CARD_COMMISSION]; readonly HASH_KEY_ERRORS: readonly [SipayStatusCode.HASH_KEY_VALIDATION_ERROR, SipayStatusCode.INVALID_HASH_KEY, SipayStatusCode.HASH_KEY_MERCHANT_KEY_MISMATCH, SipayStatusCode.HASH_KEY_CUSTOMER_NUMBER_MISMATCH, SipayStatusCode.HASH_KEY_CARD_HOLDER_NAME_MISMATCH, SipayStatusCode.HASH_KEY_CARD_NUMBER_MISMATCH, SipayStatusCode.HASH_KEY_EXPIRY_MONTH_MISMATCH, SipayStatusCode.HASH_KEY_EXPIRY_YEAR_MISMATCH, SipayStatusCode.HASH_KEY_CARD_TOKEN_MISMATCH]; readonly RETRYABLE_ERRORS: readonly [SipayStatusCode.ORDER_NOT_YET_PROCESSED, SipayStatusCode.INVOICE_ID_ALREADY_PROCESSED, SipayStatusCode.INVOICE_ID_ALREADY_PROCESSED_ALT, SipayStatusCode.REFUND_FAILED]; }; /** * Check if status code is in a specific group */ export declare function isStatusInGroup(statusCode: number, group: readonly number[]): boolean; /** * Get suggested actions based on status code */ export declare function getSuggestedAction(statusCode: number): string; //# sourceMappingURL=status-code-helpers.d.ts.map