@p2pdotme/sdk 1.2.23 → 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 +6 -0
- package/dist/react.d.ts +6 -0
- 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 +2 -1
- package/dist/zkkyc.cjs.map +1 -1
- package/dist/zkkyc.mjs +2 -1
- package/dist/zkkyc.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -162,7 +162,7 @@ All hooks read from the nearest `<SdkProvider>`:
|
|
|
162
162
|
|
|
163
163
|
## Supported currencies
|
|
164
164
|
|
|
165
|
-
`INR` · `IDR` · `BRL` · `ARS` · `MEX` · `VEN` · `BOB` · `EUR` · `NGN` · `USD` · `COP` · `ECU`
|
|
165
|
+
`INR` · `IDR` · `BRL` · `ARS` · `MEX` · `VEN` · `BOB` · `EUR` · `NGN` · `USD` · `COP` · `ECU` · `PEN` · `PHP` · `CUP` · `KES`
|
|
166
166
|
|
|
167
167
|
## Development
|
|
168
168
|
|
package/dist/country.cjs
CHANGED
|
@@ -52,6 +52,8 @@ __export(country_exports, {
|
|
|
52
52
|
validateEcuadorianAccountNumber: () => validateEcuadorianAccountNumber,
|
|
53
53
|
validateEcuadorianCedula: () => validateEcuadorianCedula,
|
|
54
54
|
validateIndonesianPhoneNumber: () => validateIndonesianPhoneNumber,
|
|
55
|
+
validateKenyanPhone: () => validateKenyanPhone,
|
|
56
|
+
validateKenyanTill: () => validateKenyanTill,
|
|
55
57
|
validateMexicanPaymentId: () => validateMexicanPaymentId,
|
|
56
58
|
validateNigerianAccountName: () => validateNigerianAccountName,
|
|
57
59
|
validateNigerianAccountNumber: () => validateNigerianAccountNumber,
|
|
@@ -89,7 +91,8 @@ var CURRENCY = {
|
|
|
89
91
|
CUP: "CUP",
|
|
90
92
|
ECU: "ECU",
|
|
91
93
|
PEN: "PEN",
|
|
92
|
-
PHP: "PHP"
|
|
94
|
+
PHP: "PHP",
|
|
95
|
+
KES: "KES"
|
|
93
96
|
};
|
|
94
97
|
var CURRENCY_CODES = Object.values(CURRENCY);
|
|
95
98
|
|
|
@@ -722,6 +725,62 @@ var INR_COUNTRY_OPTION = {
|
|
|
722
725
|
}
|
|
723
726
|
};
|
|
724
727
|
|
|
728
|
+
// src/country/currencies/kes.ts
|
|
729
|
+
var KES_PHONE_PLACEHOLDER = "0712345678";
|
|
730
|
+
var KES_TILL_PLACEHOLDER = "123456";
|
|
731
|
+
var KES_PHONE_VALIDATION_ERROR = "Please enter a valid M-Pesa phone number";
|
|
732
|
+
var KES_TILL_VALIDATION_ERROR = "Please enter a valid M-Pesa till number";
|
|
733
|
+
function validateKenyanPhone(phone) {
|
|
734
|
+
if (!phone || phone.trim().length === 0) return false;
|
|
735
|
+
const cleaned = phone.trim().replace(/\D/g, "");
|
|
736
|
+
return /^254[17]\d{8}$/.test(cleaned) || /^0[17]\d{8}$/.test(cleaned) || /^[17]\d{8}$/.test(cleaned);
|
|
737
|
+
}
|
|
738
|
+
function validateKenyanTill(till) {
|
|
739
|
+
if (!till || till.trim().length === 0) return false;
|
|
740
|
+
const cleaned = till.trim().replace(/\D/g, "");
|
|
741
|
+
return /^\d{5,7}$/.test(cleaned);
|
|
742
|
+
}
|
|
743
|
+
var KES_PAYMENT_FIELDS = [
|
|
744
|
+
{
|
|
745
|
+
key: "phone",
|
|
746
|
+
label: "PHONE_NUMBER",
|
|
747
|
+
placeholder: KES_PHONE_PLACEHOLDER,
|
|
748
|
+
displayLabel: "Phone Number",
|
|
749
|
+
validate: validateKenyanPhone,
|
|
750
|
+
validationErrorMessage: KES_PHONE_VALIDATION_ERROR,
|
|
751
|
+
optional: true
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
key: "till",
|
|
755
|
+
label: "TILL_NUMBER",
|
|
756
|
+
placeholder: KES_TILL_PLACEHOLDER,
|
|
757
|
+
displayLabel: "Till Number",
|
|
758
|
+
validate: validateKenyanTill,
|
|
759
|
+
validationErrorMessage: KES_TILL_VALIDATION_ERROR,
|
|
760
|
+
optional: true
|
|
761
|
+
}
|
|
762
|
+
];
|
|
763
|
+
var KES_COUNTRY_OPTION = {
|
|
764
|
+
country: "Kenya",
|
|
765
|
+
currency: CURRENCY.KES,
|
|
766
|
+
symbolNative: "KSh",
|
|
767
|
+
locale: "en-KE",
|
|
768
|
+
paymentMethod: "MPESA",
|
|
769
|
+
paymentAddressName: "MPESA_DETAILS",
|
|
770
|
+
timezone: "Africa/Nairobi",
|
|
771
|
+
timezone_name: "EAT",
|
|
772
|
+
flag: "\u{1F1F0}\u{1F1EA}",
|
|
773
|
+
flagUrl: "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f1f0-1f1ea.png",
|
|
774
|
+
phoneCode: "+254",
|
|
775
|
+
telegramSupportChannel: "https://t.me/p2pmekenya",
|
|
776
|
+
twitterUsername: "p2pmekenya",
|
|
777
|
+
smsCountryCodes: ["KE"],
|
|
778
|
+
precision: 2,
|
|
779
|
+
isAlpha: true,
|
|
780
|
+
disabled: false,
|
|
781
|
+
disabledPaymentTypes: ["PAY"]
|
|
782
|
+
};
|
|
783
|
+
|
|
725
784
|
// src/country/currencies/mex.ts
|
|
726
785
|
var MEX_PLACEHOLDER = "012345678901234567";
|
|
727
786
|
var MEX_VALIDATION_ERROR = "Please enter a valid CLABE (18 digits), card number, or phone number";
|
|
@@ -1174,7 +1233,8 @@ var PAYMENT_ID_FIELDS = {
|
|
|
1174
1233
|
CUP: CUP_PAYMENT_FIELDS,
|
|
1175
1234
|
ECU: ECU_PAYMENT_FIELDS,
|
|
1176
1235
|
PEN: PEN_PAYMENT_FIELDS,
|
|
1177
|
-
PHP: PHP_PAYMENT_FIELDS
|
|
1236
|
+
PHP: PHP_PAYMENT_FIELDS,
|
|
1237
|
+
KES: KES_PAYMENT_FIELDS
|
|
1178
1238
|
};
|
|
1179
1239
|
|
|
1180
1240
|
// src/country/countries.ts
|
|
@@ -1193,7 +1253,8 @@ var COUNTRY_OPTIONS = [
|
|
|
1193
1253
|
PEN_COUNTRY_OPTION,
|
|
1194
1254
|
PHP_COUNTRY_OPTION,
|
|
1195
1255
|
EUR_COUNTRY_OPTION,
|
|
1196
|
-
USD_COUNTRY_OPTION
|
|
1256
|
+
USD_COUNTRY_OPTION,
|
|
1257
|
+
KES_COUNTRY_OPTION
|
|
1197
1258
|
];
|
|
1198
1259
|
function getCountryOption(currency) {
|
|
1199
1260
|
if (!currency) return void 0;
|
|
@@ -1253,7 +1314,14 @@ function assignPaymentIdToFieldValues(fields, paymentId) {
|
|
|
1253
1314
|
if (!paymentId) return result;
|
|
1254
1315
|
const { rest } = unpackPackedPaymentId(paymentId);
|
|
1255
1316
|
if (!rest) return result;
|
|
1256
|
-
const
|
|
1317
|
+
const rawParts = deserializeCompoundPaymentId(rest).map((part) => part.trim());
|
|
1318
|
+
if (rawParts.length === fields.length) {
|
|
1319
|
+
fields.forEach((field, i) => {
|
|
1320
|
+
result[field.key] = rawParts[i] ?? "";
|
|
1321
|
+
});
|
|
1322
|
+
return result;
|
|
1323
|
+
}
|
|
1324
|
+
const tokens = rawParts.filter((part) => part.length > 0);
|
|
1257
1325
|
const claimed = /* @__PURE__ */ new Set();
|
|
1258
1326
|
for (const token of tokens) {
|
|
1259
1327
|
const field = fields.find((item) => !claimed.has(item.key) && item.validate(token));
|
|
@@ -1415,6 +1483,8 @@ function formatStoredPaymentIdForDisplay(currency, paymentId) {
|
|
|
1415
1483
|
validateEcuadorianAccountNumber,
|
|
1416
1484
|
validateEcuadorianCedula,
|
|
1417
1485
|
validateIndonesianPhoneNumber,
|
|
1486
|
+
validateKenyanPhone,
|
|
1487
|
+
validateKenyanTill,
|
|
1418
1488
|
validateMexicanPaymentId,
|
|
1419
1489
|
validateNigerianAccountName,
|
|
1420
1490
|
validateNigerianAccountNumber,
|