@p2pdotme/sdk 1.2.20 → 1.2.22

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.
@@ -141,6 +141,14 @@ declare function validateBolivianQr(payload: string): boolean;
141
141
  * `getPayQrPayload` may still re-draw a stored blob without `merchantId`.
142
142
  */
143
143
  declare function validateVenezuelanQr(payload: string): boolean;
144
+ /**
145
+ * PAY display: Fonepay (Nepal NPQR) EMVCo QR. INR PAY orders accept these
146
+ * through the NPCI–Fonepay cross-border link, so the payer's UPI app can scan
147
+ * the exact merchant QR. Detected by the `fonepay.com` reverse-domain marker
148
+ * and country tag 58 = NP. SELL INR is a plain UPI ID, not a QR.
149
+ * CRC is not required here — Scan & Pay already gated it on create.
150
+ */
151
+ declare function isNepalFonepayQr(payload: string): boolean;
144
152
 
145
153
  /** Validates a 20-digit Peruvian CCI (spaces ignored). */
146
154
  declare function validatePeruvianCci(value: string): boolean;
@@ -330,4 +338,4 @@ declare function assignStoredPaymentIdToFieldValues(currency: CurrencyCode, paym
330
338
  */
331
339
  declare function formatStoredPaymentIdForDisplay(currency: CurrencyCode, paymentId: string): string;
332
340
 
333
- 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, 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 };
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 };
package/dist/country.d.ts CHANGED
@@ -141,6 +141,14 @@ declare function validateBolivianQr(payload: string): boolean;
141
141
  * `getPayQrPayload` may still re-draw a stored blob without `merchantId`.
142
142
  */
143
143
  declare function validateVenezuelanQr(payload: string): boolean;
144
+ /**
145
+ * PAY display: Fonepay (Nepal NPQR) EMVCo QR. INR PAY orders accept these
146
+ * through the NPCI–Fonepay cross-border link, so the payer's UPI app can scan
147
+ * the exact merchant QR. Detected by the `fonepay.com` reverse-domain marker
148
+ * and country tag 58 = NP. SELL INR is a plain UPI ID, not a QR.
149
+ * CRC is not required here — Scan & Pay already gated it on create.
150
+ */
151
+ declare function isNepalFonepayQr(payload: string): boolean;
144
152
 
145
153
  /** Validates a 20-digit Peruvian CCI (spaces ignored). */
146
154
  declare function validatePeruvianCci(value: string): boolean;
@@ -330,4 +338,4 @@ declare function assignStoredPaymentIdToFieldValues(currency: CurrencyCode, paym
330
338
  */
331
339
  declare function formatStoredPaymentIdForDisplay(currency: CurrencyCode, paymentId: string): string;
332
340
 
333
- 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, 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 };
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 };
package/dist/country.mjs CHANGED
@@ -168,6 +168,10 @@ function isPhilippinePayQr(payload) {
168
168
  if (!payload.startsWith("0002")) return false;
169
169
  return payload.includes("5802PH") && payload.includes("5303608");
170
170
  }
171
+ function isNepalFonepayQr(payload) {
172
+ if (!payload.startsWith("0002")) return false;
173
+ return payload.includes("fonepay.com") && payload.includes("5802NP");
174
+ }
171
175
  function isBolivianPayQr(payload) {
172
176
  if (!payload || payload.includes(PACKED_PAYMENT_ID_SEP)) return false;
173
177
  if (payload.startsWith("0002") && payload.includes("5802BO") && payload.includes("5303068")) {
@@ -213,7 +217,7 @@ var BOB_COUNTRY_OPTION = {
213
217
  flag: "\u{1F1E7}\u{1F1F4}",
214
218
  flagUrl: "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f1e7-1f1f4.png",
215
219
  phoneCode: "+591",
216
- telegramSupportChannel: "https://t.me/p2pmebolivia",
220
+ telegramSupportChannel: "https://t.me/p2pme_bolivia_merchants",
217
221
  twitterUsername: "p2pmebolivia",
218
222
  smsCountryCodes: ["BO"],
219
223
  precision: 2,
@@ -636,7 +640,11 @@ var INR_COUNTRY_OPTION = {
636
640
  precision: 2,
637
641
  isAlpha: false,
638
642
  disabled: false,
639
- disabledPaymentTypes: []
643
+ disabledPaymentTypes: [],
644
+ getPayQrPayload: (paymentId) => {
645
+ const candidate = payQrCandidate(paymentId);
646
+ return isNepalFonepayQr(candidate) ? candidate : null;
647
+ }
640
648
  };
641
649
 
642
650
  // src/country/currencies/mex.ts
@@ -1313,6 +1321,7 @@ export {
1313
1321
  getPayQrPayload,
1314
1322
  getStoredQrPayload,
1315
1323
  getTransferWarning,
1324
+ isNepalFonepayQr,
1316
1325
  packStoredPaymentId,
1317
1326
  serializeCompoundPaymentId,
1318
1327
  unpackPackedPaymentId,