@tapsilat/tapsilat-js 1.0.7 → 2025.8.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1017,6 +1017,186 @@ function sanitizeMetadata(metadata) {
1017
1017
  }
1018
1018
  return sanitized;
1019
1019
  }
1020
+ // GSM NUMBER VALIDATION
1021
+ // Summary: Validates and cleans Turkish GSM phone numbers
1022
+ // Description: Supports multiple phone number formats and automatically cleans formatting
1023
+ /**
1024
+ * Validates and cleans GSM phone numbers
1025
+ *
1026
+ * @summary Validates and cleans Turkish GSM phone numbers
1027
+ * @description
1028
+ * Supports multiple phone number formats including international (+90), national (0),
1029
+ * and local formats. Automatically removes formatting characters and validates
1030
+ * against Turkish mobile number patterns.
1031
+ *
1032
+ * Supported formats:
1033
+ * - +90 5XX XXX XX XX
1034
+ * - 0 5XX XXX XX XX
1035
+ * - 5XX XXX XX XX
1036
+ * - Various formatting with spaces, dashes, parentheses
1037
+ *
1038
+ * @param {string | number} gsmNumber - GSM number to validate and clean
1039
+ * @returns {GsmValidationResult} Validation result with cleaned number or error
1040
+ */
1041
+ function validateGsmNumber(gsmNumber) {
1042
+ const originalNumber = String(gsmNumber);
1043
+ // Basic validation
1044
+ if (!originalNumber || typeof originalNumber !== 'string') {
1045
+ return {
1046
+ isValid: false,
1047
+ error: "GSM number must be a non-empty string",
1048
+ originalNumber
1049
+ };
1050
+ }
1051
+ // Clean the number - remove all non-digit characters
1052
+ let cleanedNumber = originalNumber.replace(/[^\d]/g, '');
1053
+ // Handle different formats
1054
+ if (cleanedNumber.startsWith('90')) {
1055
+ // International format +90 or 90
1056
+ cleanedNumber = cleanedNumber.substring(2);
1057
+ }
1058
+ else if (cleanedNumber.startsWith('0')) {
1059
+ // National format 0
1060
+ cleanedNumber = cleanedNumber.substring(1);
1061
+ }
1062
+ // Validate Turkish mobile number pattern
1063
+ // Turkish mobile numbers start with 5 and are 10 digits total
1064
+ const turkishMobilePattern = /^5[0-9]{9}$/;
1065
+ if (!turkishMobilePattern.test(cleanedNumber)) {
1066
+ return {
1067
+ isValid: false,
1068
+ error: "Invalid Turkish GSM number format. Must be 10 digits starting with 5",
1069
+ originalNumber
1070
+ };
1071
+ }
1072
+ // Additional validation for known Turkish mobile operators
1073
+ const operatorPrefixes = ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59'];
1074
+ const prefix = cleanedNumber.substring(0, 2);
1075
+ if (!operatorPrefixes.includes(prefix)) {
1076
+ return {
1077
+ isValid: false,
1078
+ error: "Invalid Turkish mobile operator prefix",
1079
+ originalNumber
1080
+ };
1081
+ }
1082
+ return {
1083
+ isValid: true,
1084
+ cleanedNumber: `+90${cleanedNumber}`,
1085
+ originalNumber
1086
+ };
1087
+ }
1088
+ // INSTALLMENTS VALIDATION
1089
+ // Summary: Validates installment values and converts to standardized format
1090
+ // Description: Handles various input formats and validates against business rules
1091
+ /**
1092
+ * Validates installment values and converts to standardized format
1093
+ *
1094
+ * @summary Validates installment values and converts to standardized format
1095
+ * @description
1096
+ * Handles various input formats (string, number, array) and validates against
1097
+ * business rules. Converts single installment values to arrays and validates
1098
+ * that installment numbers are within acceptable ranges.
1099
+ *
1100
+ * Supported inputs:
1101
+ * - Single number: 3 -> [3]
1102
+ * - Comma-separated string: "1,3,6" -> [1,3,6]
1103
+ * - Array of numbers: [1,3,6,12] -> [1,3,6,12]
1104
+ * - Empty/null values default to [1]
1105
+ *
1106
+ * @param {string | number | number[]} installments - Installment values to validate
1107
+ * @returns {InstallmentsValidationResult} Validation result with standardized array
1108
+ */
1109
+ function validateInstallments(installments) {
1110
+ const originalInput = installments;
1111
+ // Handle empty/null/undefined - default to single installment
1112
+ if (!installments || installments === '' || installments === null || installments === undefined || installments === 0) {
1113
+ return {
1114
+ isValid: true,
1115
+ validatedInstallments: [1],
1116
+ originalInput: String(originalInput)
1117
+ };
1118
+ }
1119
+ let installmentArray = [];
1120
+ try {
1121
+ if (typeof installments === 'number') {
1122
+ // Single number
1123
+ installmentArray = [installments];
1124
+ }
1125
+ else if (typeof installments === 'string') {
1126
+ // Handle comma-separated string
1127
+ if (installments.includes(',')) {
1128
+ installmentArray = installments
1129
+ .split(',')
1130
+ .map(item => {
1131
+ const num = parseInt(item.trim(), 10);
1132
+ if (isNaN(num)) {
1133
+ throw new Error(`Invalid installment value: ${item.trim()}`);
1134
+ }
1135
+ return num;
1136
+ });
1137
+ }
1138
+ else {
1139
+ // Single string number
1140
+ const num = parseInt(installments.trim(), 10);
1141
+ if (isNaN(num)) {
1142
+ throw new Error(`Invalid installment value: ${installments}`);
1143
+ }
1144
+ installmentArray = [num];
1145
+ }
1146
+ }
1147
+ else if (Array.isArray(installments)) {
1148
+ // Array of numbers
1149
+ installmentArray = installments.map((item, index) => {
1150
+ if (typeof item !== 'number' || isNaN(item)) {
1151
+ throw new Error(`Invalid installment value at index ${index}: ${item}`);
1152
+ }
1153
+ return item;
1154
+ });
1155
+ }
1156
+ else {
1157
+ return {
1158
+ isValid: false,
1159
+ validatedInstallments: [1],
1160
+ error: "Installments must be a number, string, or array of numbers",
1161
+ originalInput: String(originalInput)
1162
+ };
1163
+ }
1164
+ // Validate installment values
1165
+ for (const installment of installmentArray) {
1166
+ if (!Number.isInteger(installment) || installment < 1) {
1167
+ return {
1168
+ isValid: false,
1169
+ validatedInstallments: [1],
1170
+ error: `Installment values must be positive integers, got: ${installment}`,
1171
+ originalInput: String(originalInput)
1172
+ };
1173
+ }
1174
+ if (installment > 36) {
1175
+ return {
1176
+ isValid: false,
1177
+ validatedInstallments: [1],
1178
+ error: `Installment values cannot exceed 36, got: ${installment}`,
1179
+ originalInput: String(originalInput)
1180
+ };
1181
+ }
1182
+ }
1183
+ // Remove duplicates and sort
1184
+ const uniqueInstallments = [...new Set(installmentArray)].sort((a, b) => a - b);
1185
+ return {
1186
+ isValid: true,
1187
+ validatedInstallments: uniqueInstallments,
1188
+ originalInput: String(originalInput)
1189
+ };
1190
+ }
1191
+ catch (error) {
1192
+ return {
1193
+ isValid: false,
1194
+ validatedInstallments: [1],
1195
+ error: error instanceof Error ? error.message : "Unknown validation error",
1196
+ originalInput: String(originalInput)
1197
+ };
1198
+ }
1199
+ }
1020
1200
 
1021
1201
  /**
1022
1202
  * @category Configuration
@@ -1764,7 +1944,261 @@ class TapsilatSDK {
1764
1944
  getConfigManager() {
1765
1945
  return this.configManager;
1766
1946
  }
1947
+ // PAYMENT TERM MANAGEMENT
1948
+ // Summary: Create, update, delete, and manage payment terms for orders
1949
+ // Description: Full lifecycle management of payment terms including installments and refunds
1950
+ /**
1951
+ * Creates a new payment term for an existing order
1952
+ *
1953
+ * @summary Create payment term for installment or partial payment
1954
+ * @description
1955
+ * Creates a new payment term for an existing order, enabling installment payments
1956
+ * or partial payment collection. Payment terms allow splitting order amounts
1957
+ * across multiple payments with specific due dates and requirements.
1958
+ *
1959
+ * @param {OrderPaymentTermCreateDTO} termData - Payment term creation data
1960
+ * @param {string} termData.order_id - Reference ID of the existing order
1961
+ * @param {string} termData.term_reference_id - Unique identifier for this payment term
1962
+ * @param {number} termData.amount - Amount for this payment term
1963
+ * @param {string} termData.due_date - Due date for this payment (ISO 8601 format)
1964
+ * @param {number} termData.term_sequence - Sequence number for this term
1965
+ * @param {boolean} termData.required - Whether this payment term is required
1966
+ * @param {string} termData.status - Initial status of the payment term
1967
+ * @param {string} [termData.data] - Additional metadata for the term
1968
+ * @param {string} [termData.paid_date] - Date when payment was completed
1969
+ *
1970
+ * @returns {Promise<PaymentTermResponse>} Promise resolving to created payment term details
1971
+ * @throws {TapsilatValidationError} When input validation fails
1972
+ * @throws {TapsilatError} When API returns an error response
1973
+ */
1974
+ async createOrderTerm(termData) {
1975
+ // Validate required fields
1976
+ if (!isNonEmptyString(termData.order_id)) {
1977
+ throw new TapsilatValidationError("Order ID is required and must be a non-empty string", { provided: termData.order_id });
1978
+ }
1979
+ if (!isNonEmptyString(termData.term_reference_id)) {
1980
+ throw new TapsilatValidationError("Term reference ID is required and must be a non-empty string", { provided: termData.term_reference_id });
1981
+ }
1982
+ if (!isPositiveNumber(termData.amount)) {
1983
+ throw new TapsilatValidationError("Amount must be a positive number", {
1984
+ provided: termData.amount,
1985
+ });
1986
+ }
1987
+ if (!hasValidDecimalPlaces(termData.amount)) {
1988
+ throw new TapsilatValidationError("Amount must have maximum 2 decimal places", { provided: termData.amount });
1989
+ }
1990
+ if (!isNonEmptyString(termData.due_date)) {
1991
+ throw new TapsilatValidationError("Due date is required and must be a non-empty string", { provided: termData.due_date });
1992
+ }
1993
+ if (!isInteger(termData.term_sequence)) {
1994
+ throw new TapsilatValidationError("Term sequence must be an integer", {
1995
+ provided: termData.term_sequence,
1996
+ });
1997
+ }
1998
+ if (typeof termData.required !== "boolean") {
1999
+ throw new TapsilatValidationError("Required field must be a boolean", {
2000
+ provided: termData.required,
2001
+ });
2002
+ }
2003
+ if (!isNonEmptyString(termData.status)) {
2004
+ throw new TapsilatValidationError("Status is required and must be a non-empty string", { provided: termData.status });
2005
+ }
2006
+ try {
2007
+ const createTermResponse = await this.httpClient.post("/order/term/create", termData);
2008
+ return handleResponse(createTermResponse, "Payment term creation");
2009
+ }
2010
+ catch (error) {
2011
+ return handleError(error, "payment term creation");
2012
+ }
2013
+ }
2014
+ /**
2015
+ * Updates an existing payment term
2016
+ *
2017
+ * @summary Update payment term details
2018
+ * @description
2019
+ * Updates an existing payment term with new information such as amount,
2020
+ * due date, status, or other metadata. This allows for flexible management
2021
+ * of installment payments and payment schedules.
2022
+ *
2023
+ * @param {OrderPaymentTermUpdateDTO} updateData - Payment term update data
2024
+ * @param {string} updateData.term_reference_id - Reference ID of the term to update
2025
+ * @param {number} [updateData.amount] - New amount for the payment term
2026
+ * @param {string} [updateData.due_date] - New due date (ISO 8601 format)
2027
+ * @param {string} [updateData.paid_date] - Date when payment was completed
2028
+ * @param {boolean} [updateData.required] - Whether this payment term is required
2029
+ * @param {string} [updateData.status] - New status of the payment term
2030
+ * @param {number} [updateData.term_sequence] - New sequence number
2031
+ *
2032
+ * @returns {Promise<PaymentTermResponse>} Promise resolving to updated payment term details
2033
+ * @throws {TapsilatValidationError} When input validation fails
2034
+ * @throws {TapsilatError} When API returns an error response
2035
+ */
2036
+ async updateOrderTerm(updateData) {
2037
+ // Validate required fields
2038
+ if (!isNonEmptyString(updateData.term_reference_id)) {
2039
+ throw new TapsilatValidationError("Term reference ID is required and must be a non-empty string", { provided: updateData.term_reference_id });
2040
+ }
2041
+ // Validate optional amount if provided
2042
+ if (updateData.amount !== undefined) {
2043
+ if (!isPositiveNumber(updateData.amount)) {
2044
+ throw new TapsilatValidationError("Amount must be a positive number", {
2045
+ provided: updateData.amount,
2046
+ });
2047
+ }
2048
+ if (!hasValidDecimalPlaces(updateData.amount)) {
2049
+ throw new TapsilatValidationError("Amount must have maximum 2 decimal places", { provided: updateData.amount });
2050
+ }
2051
+ }
2052
+ // Validate optional term sequence if provided
2053
+ if (updateData.term_sequence !== undefined) {
2054
+ if (!isInteger(updateData.term_sequence)) {
2055
+ throw new TapsilatValidationError("Term sequence must be an integer", {
2056
+ provided: updateData.term_sequence,
2057
+ });
2058
+ }
2059
+ }
2060
+ // Validate optional required field if provided
2061
+ if (updateData.required !== undefined &&
2062
+ typeof updateData.required !== "boolean") {
2063
+ throw new TapsilatValidationError("Required field must be a boolean", {
2064
+ provided: updateData.required,
2065
+ });
2066
+ }
2067
+ try {
2068
+ const updateTermResponse = await this.httpClient.post("/order/term/update", updateData);
2069
+ return handleResponse(updateTermResponse, "Payment term update");
2070
+ }
2071
+ catch (error) {
2072
+ return handleError(error, "payment term update");
2073
+ }
2074
+ }
2075
+ /**
2076
+ * Deletes a payment term
2077
+ *
2078
+ * @summary Delete payment term
2079
+ * @description
2080
+ * Permanently deletes a payment term from an order. This action cannot be undone.
2081
+ * Only unpaid payment terms can be deleted.
2082
+ *
2083
+ * @param {PaymentTermDeleteRequest} deleteData - Payment term deletion data
2084
+ * @param {string} deleteData.term_reference_id - Reference ID of the term to delete
2085
+ *
2086
+ * @returns {Promise<PaymentTermResponse>} Promise resolving to deleted payment term details
2087
+ * @throws {TapsilatValidationError} When input validation fails
2088
+ * @throws {TapsilatError} When API returns an error response
2089
+ */
2090
+ async deleteOrderTerm(deleteData) {
2091
+ // Validate required fields
2092
+ if (!isNonEmptyString(deleteData.term_reference_id)) {
2093
+ throw new TapsilatValidationError("Term reference ID is required and must be a non-empty string", { provided: deleteData.term_reference_id });
2094
+ }
2095
+ try {
2096
+ const deleteTermResponse = await this.httpClient.post("/order/term/delete", deleteData);
2097
+ return handleResponse(deleteTermResponse, "Payment term deletion");
2098
+ }
2099
+ catch (error) {
2100
+ return handleError(error, "payment term deletion");
2101
+ }
2102
+ }
2103
+ /**
2104
+ * Refunds a specific payment term
2105
+ *
2106
+ * @summary Refund payment term
2107
+ * @description
2108
+ * Processes a refund for a specific payment term. This allows partial refunds
2109
+ * at the payment term level rather than the entire order level.
2110
+ *
2111
+ * @param {OrderTermRefundRequest} refundData - Payment term refund data
2112
+ * @param {string} refundData.term_id - ID of the term to refund
2113
+ * @param {number} refundData.amount - Amount to refund
2114
+ * @param {string} [refundData.reference_id] - Optional reference ID
2115
+ * @param {string} [refundData.term_payment_id] - Optional term payment ID
2116
+ *
2117
+ * @returns {Promise<PaymentTermRefundResponse>} Promise resolving to refund details
2118
+ * @throws {TapsilatValidationError} When input validation fails
2119
+ * @throws {TapsilatError} When API returns an error response
2120
+ */
2121
+ async refundOrderTerm(refundData) {
2122
+ // Validate required fields
2123
+ if (!isNonEmptyString(refundData.term_id)) {
2124
+ throw new TapsilatValidationError("Term ID is required and must be a non-empty string", { provided: refundData.term_id });
2125
+ }
2126
+ if (!isPositiveNumber(refundData.amount)) {
2127
+ throw new TapsilatValidationError("Amount must be a positive number", {
2128
+ provided: refundData.amount,
2129
+ });
2130
+ }
2131
+ if (!hasValidDecimalPlaces(refundData.amount)) {
2132
+ throw new TapsilatValidationError("Amount must have maximum 2 decimal places", { provided: refundData.amount });
2133
+ }
2134
+ try {
2135
+ const refundTermResponse = await this.httpClient.post("/order/term/refund", refundData);
2136
+ return handleResponse(refundTermResponse, "Payment term refund");
2137
+ }
2138
+ catch (error) {
2139
+ return handleError(error, "payment term refund");
2140
+ }
2141
+ }
2142
+ /**
2143
+ * Terminates a payment term
2144
+ *
2145
+ * @summary Terminate payment term
2146
+ * @description
2147
+ * Terminates an active payment term, preventing further payments.
2148
+ * This is useful for canceling installment plans or payment schedules.
2149
+ *
2150
+ * @param {PaymentTermTerminateRequest} terminateData - Payment term termination data
2151
+ * @param {string} terminateData.term_reference_id - Reference ID of the term to terminate
2152
+ * @param {string} [terminateData.reason] - Optional reason for termination
2153
+ *
2154
+ * @returns {Promise<PaymentTermResponse>} Promise resolving to terminated term details
2155
+ * @throws {TapsilatValidationError} When input validation fails
2156
+ * @throws {TapsilatError} When API returns an error response
2157
+ */
2158
+ async terminateOrderTerm(terminateData) {
2159
+ // Validate required fields
2160
+ if (!isNonEmptyString(terminateData.term_reference_id)) {
2161
+ throw new TapsilatValidationError("Term reference ID is required and must be a non-empty string", { provided: terminateData.term_reference_id });
2162
+ }
2163
+ try {
2164
+ const terminateTermResponse = await this.httpClient.post("/order/term/terminate", terminateData);
2165
+ return handleResponse(terminateTermResponse, "Payment term termination");
2166
+ }
2167
+ catch (error) {
2168
+ return handleError(error, "payment term termination");
2169
+ }
2170
+ }
2171
+ /**
2172
+ * Terminates an entire order
2173
+ *
2174
+ * @summary Terminate order
2175
+ * @description
2176
+ * Terminates an entire order, canceling all associated payment terms and
2177
+ * preventing any further payment processing. This is a more comprehensive
2178
+ * action than canceling individual payment terms.
2179
+ *
2180
+ * @param {OrderTerminateRequest} terminateData - Order termination data
2181
+ * @param {string} terminateData.reference_id - Reference ID of the order to terminate
2182
+ * @param {string} [terminateData.reason] - Optional reason for termination
2183
+ *
2184
+ * @returns {Promise<OrderTerminateResponse>} Promise resolving to terminated order details
2185
+ * @throws {TapsilatValidationError} When input validation fails
2186
+ * @throws {TapsilatError} When API returns an error response
2187
+ */
2188
+ async terminateOrder(terminateData) {
2189
+ // Validate required fields
2190
+ if (!isNonEmptyString(terminateData.reference_id)) {
2191
+ throw new TapsilatValidationError("Reference ID is required and must be a non-empty string", { provided: terminateData.reference_id });
2192
+ }
2193
+ try {
2194
+ const terminateOrderResponse = await this.httpClient.post("/order/terminate", terminateData);
2195
+ return handleResponse(terminateOrderResponse, "Order termination");
2196
+ }
2197
+ catch (error) {
2198
+ return handleError(error, "order termination");
2199
+ }
2200
+ }
1767
2201
  }
1768
2202
 
1769
- export { ConfigManager, TapsilatAuthenticationError, TapsilatError, TapsilatNetworkError, TapsilatRateLimitError, TapsilatSDK, TapsilatValidationError, isValidCurrency, isValidPaymentMethod, isValidUrl, sanitizeMetadata, validateEmail, validatePaymentRequest };
2203
+ export { ConfigManager, TapsilatAuthenticationError, TapsilatError, TapsilatNetworkError, TapsilatRateLimitError, TapsilatSDK, TapsilatValidationError, isValidCurrency, isValidPaymentMethod, isValidUrl, sanitizeMetadata, validateEmail, validateGsmNumber, validateInstallments, validatePaymentRequest };
1770
2204
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/errors/TapsilatError.ts","../src/http/interceptors.ts","../src/http/HttpClient.ts","../src/utils/validators.ts","../src/config/ConfigManager.ts","../src/utils/response.ts","../src/utils/verify.ts","../src/TapsilatSDK.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/errors/TapsilatError.ts","../src/http/interceptors.ts","../src/http/HttpClient.ts","../src/utils/validators.ts","../src/config/ConfigManager.ts","../src/utils/response.ts","../src/utils/verify.ts","../src/TapsilatSDK.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}