@p2pdotme/sdk 1.2.22 → 1.2.24
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/README.md +1 -1
- package/dist/country.cjs +74 -4
- package/dist/country.cjs.map +1 -1
- package/dist/country.d.cts +13 -1
- package/dist/country.d.ts +13 -1
- package/dist/country.mjs +72 -4
- package/dist/country.mjs.map +1 -1
- package/dist/fraud-engine.cjs +2 -1
- package/dist/fraud-engine.cjs.map +1 -1
- package/dist/fraud-engine.mjs +2 -1
- package/dist/fraud-engine.mjs.map +1 -1
- package/dist/index.cjs +3 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/orders.cjs +2 -1
- package/dist/orders.cjs.map +1 -1
- package/dist/orders.d.cts +2 -0
- package/dist/orders.d.ts +2 -0
- package/dist/orders.mjs +2 -1
- package/dist/orders.mjs.map +1 -1
- package/dist/prices.cjs +2 -1
- package/dist/prices.cjs.map +1 -1
- package/dist/prices.d.cts +1 -0
- package/dist/prices.d.ts +1 -0
- package/dist/prices.mjs +2 -1
- package/dist/prices.mjs.map +1 -1
- package/dist/profile.cjs +2 -1
- package/dist/profile.cjs.map +1 -1
- package/dist/profile.d.cts +2 -0
- package/dist/profile.d.ts +2 -0
- package/dist/profile.mjs +2 -1
- package/dist/profile.mjs.map +1 -1
- package/dist/qr-parsers.cjs +26 -2
- package/dist/qr-parsers.cjs.map +1 -1
- package/dist/qr-parsers.d.cts +1 -0
- package/dist/qr-parsers.d.ts +1 -0
- package/dist/qr-parsers.mjs +26 -2
- package/dist/qr-parsers.mjs.map +1 -1
- package/dist/react.cjs +2 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +7 -1
- package/dist/react.d.ts +7 -1
- package/dist/react.mjs +2 -1
- package/dist/react.mjs.map +1 -1
- package/dist/stake.cjs +2 -1
- package/dist/stake.cjs.map +1 -1
- package/dist/stake.d.cts +1 -0
- package/dist/stake.d.ts +1 -0
- package/dist/stake.mjs +2 -1
- package/dist/stake.mjs.map +1 -1
- package/dist/zkkyc.cjs +30 -24
- package/dist/zkkyc.cjs.map +1 -1
- package/dist/zkkyc.d.cts +31 -13
- package/dist/zkkyc.d.ts +31 -13
- package/dist/zkkyc.mjs +30 -24
- package/dist/zkkyc.mjs.map +1 -1
- package/package.json +1 -1
package/dist/country.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ declare const CURRENCY: {
|
|
|
21
21
|
readonly ECU: "ECU";
|
|
22
22
|
readonly PEN: "PEN";
|
|
23
23
|
readonly PHP: "PHP";
|
|
24
|
+
readonly KES: "KES";
|
|
24
25
|
};
|
|
25
26
|
/** Union of supported currency codes. */
|
|
26
27
|
type CurrencyCode = (typeof CURRENCY)[keyof typeof CURRENCY];
|
|
@@ -257,6 +258,17 @@ declare function validateIndonesianPhoneNumber(phoneNumber: string): boolean;
|
|
|
257
258
|
*/
|
|
258
259
|
declare function validateUPIId(upiId: string): boolean;
|
|
259
260
|
|
|
261
|
+
/**
|
|
262
|
+
* Validates a Kenyan M-Pesa phone number (Send Money). Accepts the
|
|
263
|
+
* `07XXXXXXXX`, `01XXXXXXXX`, `2547XXXXXXXX`, `2541XXXXXXXX`, or bare
|
|
264
|
+
* `7XXXXXXXX`/`1XXXXXXXX` forms.
|
|
265
|
+
*/
|
|
266
|
+
declare function validateKenyanPhone(phone: string): boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Validates a Kenyan M-Pesa Buy Goods till number (5–7 digits).
|
|
269
|
+
*/
|
|
270
|
+
declare function validateKenyanTill(till: string): boolean;
|
|
271
|
+
|
|
260
272
|
/**
|
|
261
273
|
* Validates Mexican payment IDs (CLABE, card number, or phone number).
|
|
262
274
|
* CLABE: 18 digits. Card: 16 digits. Phone: 10 digits.
|
|
@@ -338,4 +350,4 @@ declare function assignStoredPaymentIdToFieldValues(currency: CurrencyCode, paym
|
|
|
338
350
|
*/
|
|
339
351
|
declare function formatStoredPaymentIdForDisplay(currency: CurrencyCode, paymentId: string): string;
|
|
340
352
|
|
|
341
|
-
export { COUNTRY_OPTIONS, CURRENCY, CURRENCY_CODES, type CountryOption, type CurrencyCode, PACKED_PAYMENT_ID_SEP, PAYMENT_ID_FIELDS, type PaymentIdFieldConfig, type PeruvianPaymentIdParts, type VenezuelanPaymentIdParts, assignPaymentIdToFieldValues, assignStoredPaymentIdToFieldValues, deserializeCompoundPaymentId, formatCompoundPaymentIdForDisplay, formatStoredPaymentIdForDisplay, getCountryOption, getPayQrPayload, getStoredQrPayload, getTransferWarning, isNepalFonepayQr, packStoredPaymentId, serializeCompoundPaymentId, unpackPackedPaymentId, uploadsPaymentQR, usesCatalogPaymentForm, usesPackedPaymentId, validateArgentinePaymentId, validateBolivianAccount, validateBolivianQr, validateCatalogPaymentDraft, validateColombianPaymentId, validateCubanCardNumber, validateCubanPhoneNumber, validateEcuadorianAccountName, validateEcuadorianAccountNumber, validateEcuadorianCedula, validateIndonesianPhoneNumber, validateMexicanPaymentId, validateNigerianAccountName, validateNigerianAccountNumber, validatePIXId, validatePaymentIdFields, validatePeruvianCci, validatePeruvianPaymentId, validatePeruvianPaymentKey, validatePeruvianPhone, validatePeruvianQr, validatePhilippinePhoneNumber, validateRevolutId, validateStoredPaymentId, validateUPIId, validateVenezuelanPaymentId, validateVenezuelanPhoneNumber, validateVenezuelanQr, validateVenezuelanRif };
|
|
353
|
+
export { COUNTRY_OPTIONS, CURRENCY, CURRENCY_CODES, type CountryOption, type CurrencyCode, PACKED_PAYMENT_ID_SEP, PAYMENT_ID_FIELDS, type PaymentIdFieldConfig, type PeruvianPaymentIdParts, type VenezuelanPaymentIdParts, assignPaymentIdToFieldValues, assignStoredPaymentIdToFieldValues, deserializeCompoundPaymentId, formatCompoundPaymentIdForDisplay, formatStoredPaymentIdForDisplay, getCountryOption, getPayQrPayload, getStoredQrPayload, getTransferWarning, isNepalFonepayQr, packStoredPaymentId, serializeCompoundPaymentId, unpackPackedPaymentId, uploadsPaymentQR, usesCatalogPaymentForm, usesPackedPaymentId, validateArgentinePaymentId, validateBolivianAccount, validateBolivianQr, validateCatalogPaymentDraft, validateColombianPaymentId, validateCubanCardNumber, validateCubanPhoneNumber, validateEcuadorianAccountName, validateEcuadorianAccountNumber, validateEcuadorianCedula, validateIndonesianPhoneNumber, validateKenyanPhone, validateKenyanTill, validateMexicanPaymentId, validateNigerianAccountName, validateNigerianAccountNumber, validatePIXId, validatePaymentIdFields, validatePeruvianCci, validatePeruvianPaymentId, validatePeruvianPaymentKey, validatePeruvianPhone, validatePeruvianQr, validatePhilippinePhoneNumber, validateRevolutId, validateStoredPaymentId, validateUPIId, validateVenezuelanPaymentId, validateVenezuelanPhoneNumber, validateVenezuelanQr, validateVenezuelanRif };
|
package/dist/country.mjs
CHANGED
|
@@ -14,7 +14,8 @@ var CURRENCY = {
|
|
|
14
14
|
CUP: "CUP",
|
|
15
15
|
ECU: "ECU",
|
|
16
16
|
PEN: "PEN",
|
|
17
|
-
PHP: "PHP"
|
|
17
|
+
PHP: "PHP",
|
|
18
|
+
KES: "KES"
|
|
18
19
|
};
|
|
19
20
|
var CURRENCY_CODES = Object.values(CURRENCY);
|
|
20
21
|
|
|
@@ -647,6 +648,62 @@ var INR_COUNTRY_OPTION = {
|
|
|
647
648
|
}
|
|
648
649
|
};
|
|
649
650
|
|
|
651
|
+
// src/country/currencies/kes.ts
|
|
652
|
+
var KES_PHONE_PLACEHOLDER = "0712345678";
|
|
653
|
+
var KES_TILL_PLACEHOLDER = "123456";
|
|
654
|
+
var KES_PHONE_VALIDATION_ERROR = "Please enter a valid M-Pesa phone number";
|
|
655
|
+
var KES_TILL_VALIDATION_ERROR = "Please enter a valid M-Pesa till number";
|
|
656
|
+
function validateKenyanPhone(phone) {
|
|
657
|
+
if (!phone || phone.trim().length === 0) return false;
|
|
658
|
+
const cleaned = phone.trim().replace(/\D/g, "");
|
|
659
|
+
return /^254[17]\d{8}$/.test(cleaned) || /^0[17]\d{8}$/.test(cleaned) || /^[17]\d{8}$/.test(cleaned);
|
|
660
|
+
}
|
|
661
|
+
function validateKenyanTill(till) {
|
|
662
|
+
if (!till || till.trim().length === 0) return false;
|
|
663
|
+
const cleaned = till.trim().replace(/\D/g, "");
|
|
664
|
+
return /^\d{5,7}$/.test(cleaned);
|
|
665
|
+
}
|
|
666
|
+
var KES_PAYMENT_FIELDS = [
|
|
667
|
+
{
|
|
668
|
+
key: "phone",
|
|
669
|
+
label: "PHONE_NUMBER",
|
|
670
|
+
placeholder: KES_PHONE_PLACEHOLDER,
|
|
671
|
+
displayLabel: "Phone Number",
|
|
672
|
+
validate: validateKenyanPhone,
|
|
673
|
+
validationErrorMessage: KES_PHONE_VALIDATION_ERROR,
|
|
674
|
+
optional: true
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
key: "till",
|
|
678
|
+
label: "TILL_NUMBER",
|
|
679
|
+
placeholder: KES_TILL_PLACEHOLDER,
|
|
680
|
+
displayLabel: "Till Number",
|
|
681
|
+
validate: validateKenyanTill,
|
|
682
|
+
validationErrorMessage: KES_TILL_VALIDATION_ERROR,
|
|
683
|
+
optional: true
|
|
684
|
+
}
|
|
685
|
+
];
|
|
686
|
+
var KES_COUNTRY_OPTION = {
|
|
687
|
+
country: "Kenya",
|
|
688
|
+
currency: CURRENCY.KES,
|
|
689
|
+
symbolNative: "KSh",
|
|
690
|
+
locale: "en-KE",
|
|
691
|
+
paymentMethod: "MPESA",
|
|
692
|
+
paymentAddressName: "MPESA_DETAILS",
|
|
693
|
+
timezone: "Africa/Nairobi",
|
|
694
|
+
timezone_name: "EAT",
|
|
695
|
+
flag: "\u{1F1F0}\u{1F1EA}",
|
|
696
|
+
flagUrl: "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f1f0-1f1ea.png",
|
|
697
|
+
phoneCode: "+254",
|
|
698
|
+
telegramSupportChannel: "https://t.me/p2pmekenya",
|
|
699
|
+
twitterUsername: "p2pmekenya",
|
|
700
|
+
smsCountryCodes: ["KE"],
|
|
701
|
+
precision: 2,
|
|
702
|
+
isAlpha: true,
|
|
703
|
+
disabled: false,
|
|
704
|
+
disabledPaymentTypes: ["PAY"]
|
|
705
|
+
};
|
|
706
|
+
|
|
650
707
|
// src/country/currencies/mex.ts
|
|
651
708
|
var MEX_PLACEHOLDER = "012345678901234567";
|
|
652
709
|
var MEX_VALIDATION_ERROR = "Please enter a valid CLABE (18 digits), card number, or phone number";
|
|
@@ -1099,7 +1156,8 @@ var PAYMENT_ID_FIELDS = {
|
|
|
1099
1156
|
CUP: CUP_PAYMENT_FIELDS,
|
|
1100
1157
|
ECU: ECU_PAYMENT_FIELDS,
|
|
1101
1158
|
PEN: PEN_PAYMENT_FIELDS,
|
|
1102
|
-
PHP: PHP_PAYMENT_FIELDS
|
|
1159
|
+
PHP: PHP_PAYMENT_FIELDS,
|
|
1160
|
+
KES: KES_PAYMENT_FIELDS
|
|
1103
1161
|
};
|
|
1104
1162
|
|
|
1105
1163
|
// src/country/countries.ts
|
|
@@ -1118,7 +1176,8 @@ var COUNTRY_OPTIONS = [
|
|
|
1118
1176
|
PEN_COUNTRY_OPTION,
|
|
1119
1177
|
PHP_COUNTRY_OPTION,
|
|
1120
1178
|
EUR_COUNTRY_OPTION,
|
|
1121
|
-
USD_COUNTRY_OPTION
|
|
1179
|
+
USD_COUNTRY_OPTION,
|
|
1180
|
+
KES_COUNTRY_OPTION
|
|
1122
1181
|
];
|
|
1123
1182
|
function getCountryOption(currency) {
|
|
1124
1183
|
if (!currency) return void 0;
|
|
@@ -1178,7 +1237,14 @@ function assignPaymentIdToFieldValues(fields, paymentId) {
|
|
|
1178
1237
|
if (!paymentId) return result;
|
|
1179
1238
|
const { rest } = unpackPackedPaymentId(paymentId);
|
|
1180
1239
|
if (!rest) return result;
|
|
1181
|
-
const
|
|
1240
|
+
const rawParts = deserializeCompoundPaymentId(rest).map((part) => part.trim());
|
|
1241
|
+
if (rawParts.length === fields.length) {
|
|
1242
|
+
fields.forEach((field, i) => {
|
|
1243
|
+
result[field.key] = rawParts[i] ?? "";
|
|
1244
|
+
});
|
|
1245
|
+
return result;
|
|
1246
|
+
}
|
|
1247
|
+
const tokens = rawParts.filter((part) => part.length > 0);
|
|
1182
1248
|
const claimed = /* @__PURE__ */ new Set();
|
|
1183
1249
|
for (const token of tokens) {
|
|
1184
1250
|
const field = fields.find((item) => !claimed.has(item.key) && item.validate(token));
|
|
@@ -1339,6 +1405,8 @@ export {
|
|
|
1339
1405
|
validateEcuadorianAccountNumber,
|
|
1340
1406
|
validateEcuadorianCedula,
|
|
1341
1407
|
validateIndonesianPhoneNumber,
|
|
1408
|
+
validateKenyanPhone,
|
|
1409
|
+
validateKenyanTill,
|
|
1342
1410
|
validateMexicanPaymentId,
|
|
1343
1411
|
validateNigerianAccountName,
|
|
1344
1412
|
validateNigerianAccountNumber,
|