@muhammedaksam/sipay-node
Version:
Node.js TypeScript SDK for Sipay payment gateway
125 lines • 4.32 kB
TypeScript
/**
* Sipay API Status Codes
* Based on official API documentation
*/
export declare enum SipayHttpStatusCode {
OK = 200,
CREATED = 201,
ACCEPTED = 202,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
FORBIDDEN = 403,
NOT_FOUND = 404,
METHOD_NOT_ALLOWED = 405,
CONFLICT = 409,
PRECONDITION_FAILED = 412,
PAYLOAD_TOO_LARGE = 413,
INTERNAL_SERVER_ERROR = 500,
NOT_IMPLEMENTED = 501,
SERVICE_UNAVAILABLE = 503
}
export declare enum SipayStatusCode {
BASIC_VALIDATION = 1,
INVOICE_ID_ALREADY_PROCESSED = 3,
ITEMS_VALIDATION_ERROR = 12,
PRICE_TOTAL_MISMATCH = 13,
MERCHANT_NOT_FOUND = 14,
INVALID_CREDENTIALS = 30,
TRANSACTION_NOT_FOUND = 31,
INVALID_INVOICE_ID = 32,
QUANTITY_MUST_BE_INTEGER = 33,
PAYMENT_INTEGRATION_NOT_ALLOWED = 34,
CREDIT_CARD_PAYMENT_NOT_DEFINED = 35,
POS_NOT_FOUND = 36,
MERCHANT_POS_COMMISSION_NOT_SET = 37,
MERCHANT_COMMISSION_NOT_DETERMINED = 38,
COMMISSION_NOT_FOUND = 39,
INSTALLMENT_NOT_FOUND = 40,
ORDER_FAILED = 41,
PAYMENT_FAILED = 41,// Same code as ORDER_FAILED
PRODUCT_PRICE_LESS_THAN_COMMISSION = 42,
PAYMENT_TERM_NOT_SET = 43,
CREDIT_CARD_BLOCKED = 44,
MERCHANT_DAILY_TRANSACTION_LIMIT_EXCEEDED = 44,// Same code as CREDIT_CARD_BLOCKED
MERCHANT_DAILY_AMOUNT_LIMIT_EXCEEDED = 45,
MERCHANT_MONTHLY_TRANSACTION_LIMIT_EXCEEDED = 46,
MERCHANT_MONTHLY_AMOUNT_LIMIT_EXCEEDED = 47,
MINIMUM_TRANSACTION_LIMIT_VIOLATED = 48,
REFUND_FAILED = 49,
MAXIMUM_TRANSACTION_LIMIT_VIOLATED = 49,// Same code as REFUND_FAILED
RECURRING_PAYMENT_VALIDATION_ERROR = 55,
INVALID_SALE_WEBHOOK_KEY = 56,
MERCHANT_CARD_TRANSACTION_NOT_ALLOWED = 60,
HASH_KEY_VALIDATION_ERROR = 68,
ORDER_NOT_YET_PROCESSED = 69,
CARD_PROGRAM_MISMATCH = 70,
RECURRING_PLAN_UPDATE_FAILED = 71,
FAILED_TO_DELETE = 72,
FAILED_TO_ADD_DUPLICATE_PLAN_CARD = 73,
FOREIGN_CARDS_NOT_ALLOWED = 76,
NO_FOREIGN_CARD_COMMISSION = 77,
MERCHANT_NOT_ALLOWED_TOKEN_PAYMENT = 79,
SUB_MERCHANT_NOT_FOUND = 80,
CURRENCY_CONVERSION_FAILED = 81,
INVALID_CHARACTER = 85,
CARD_TOKEN_SAVE_FAILED = 86,
INVALID_TOKEN_OR_CLIENT_NUMBER = 87,
FAILED_TO_DELETE_CARD_TOKEN = 88,
FAILED_TO_UPDATE_CARD_TOKEN = 89,
INVALID_HASH_KEY = 90,
HASH_KEY_MERCHANT_KEY_MISMATCH = 91,
HASH_KEY_CUSTOMER_NUMBER_MISMATCH = 92,
HASH_KEY_CARD_HOLDER_NAME_MISMATCH = 93,
HASH_KEY_CARD_NUMBER_MISMATCH = 94,
HASH_KEY_EXPIRY_MONTH_MISMATCH = 95,
HASH_KEY_EXPIRY_YEAR_MISMATCH = 96,
HASH_KEY_CARD_TOKEN_MISMATCH = 97,
UNKNOWN_ERROR = 99,
SUCCESSFUL = 100,
REFUND_REQUEST_CREATED = 101,
POS_NOT_DEFINED = 102,
PAYBY_TOKEN_COMMISSION_NOT_ESTABLISHED = 103,
RETURN_TRANSACTION_ID_MUST_BE_UNIQUE = 104,
TRANSACTION_NOT_APPROVED = 105,
INVALID_MERCHANT_TYPE = 106,
FAILED_TO_VERIFY_API_OPT = 107,
INVALID_CARD_NUMBER = 108,
FILE_PROCESSING_ERROR = 109,
PARTIAL_RETURNS_NOT_ALLOWED = 110,
PARTIALLY_SUCCESSFUL = 112,
INVOICE_ID_ALREADY_PROCESSED_ALT = 117,
CANCELLATION_URL_SHOULD_NOT_BE_BLANK = 404
}
export declare const SipayStatusDescriptions: Record<SipayStatusCode, string>;
export declare enum SipayStatusCategory {
SUCCESS = "success",
VALIDATION_ERROR = "validation_error",
AUTHENTICATION_ERROR = "authentication_error",
PAYMENT_ERROR = "payment_error",
MERCHANT_ERROR = "merchant_error",
CARD_ERROR = "card_error",
HASH_ERROR = "hash_error",
RECURRING_ERROR = "recurring_error",
SYSTEM_ERROR = "system_error"
}
/**
* Categorize status codes for better error handling
*/
export declare function getStatusCategory(statusCode: number): SipayStatusCategory;
/**
* Check if a status code indicates success
*/
export declare function isSuccessStatus(statusCode: number): boolean;
/**
* Check if a status code indicates an error
*/
export declare function isErrorStatus(statusCode: number): boolean;
/**
* Get human-readable description for a status code
*/
export declare function getStatusDescription(statusCode: number): string;
/**
* Check if status code is retryable (temporary errors)
*/
export declare function isRetryableStatus(statusCode: number): boolean;
//# sourceMappingURL=status-codes.d.ts.map