react-native-iap 14.7.18 → 14.7.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/ios/HybridRnIap.swift +9 -0
- package/lib/module/utils/error.js +3 -0
- package/lib/module/utils/error.js.map +1 -1
- package/lib/module/utils/errorMapping.js +13 -1
- package/lib/module/utils/errorMapping.js.map +1 -1
- package/lib/typescript/src/utils/error.d.ts +1 -0
- package/lib/typescript/src/utils/error.d.ts.map +1 -1
- package/lib/typescript/src/utils/errorMapping.d.ts +7 -0
- package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/utils/error.ts +6 -0
- package/src/utils/errorMapping.ts +14 -0
package/ios/HybridRnIap.swift
CHANGED
|
@@ -22,6 +22,7 @@ class HybridRnIap: HybridRnIapSpec {
|
|
|
22
22
|
private var deliveredPurchaseEventKeys: Set<String> = []
|
|
23
23
|
private var deliveredPurchaseEventOrder: [String] = []
|
|
24
24
|
private let purchaseEventDedupLimit = 128
|
|
25
|
+
private static let duplicatePurchaseCode = "duplicate-purchase"
|
|
25
26
|
private var purchasePayloadById: [String: [String: Any]] = [:]
|
|
26
27
|
// Thread safety lock for listener arrays and error dedup state
|
|
27
28
|
private let listenerLock = NSLock()
|
|
@@ -1042,6 +1043,14 @@ class HybridRnIap: HybridRnIapSpec {
|
|
|
1042
1043
|
|
|
1043
1044
|
if isDuplicate {
|
|
1044
1045
|
RnIapLog.warn("Duplicate purchase update skipped for \(purchase.productId)")
|
|
1046
|
+
let error = NitroPurchaseResult(
|
|
1047
|
+
responseCode: -1,
|
|
1048
|
+
debugMessage: nil,
|
|
1049
|
+
code: HybridRnIap.duplicatePurchaseCode,
|
|
1050
|
+
message: "Duplicate purchase update skipped for \(purchase.productId). Use restorePurchases or getAvailablePurchases to recover.",
|
|
1051
|
+
purchaseToken: nil
|
|
1052
|
+
)
|
|
1053
|
+
sendPurchaseError(error, productId: purchase.productId)
|
|
1045
1054
|
return
|
|
1046
1055
|
}
|
|
1047
1056
|
|
|
@@ -77,4 +77,7 @@ export function isUserCancelledError(error) {
|
|
|
77
77
|
// Alternative spelling
|
|
78
78
|
errorObj.responseCode === 1; // Android BillingClient.BillingResponseCode.USER_CANCELED
|
|
79
79
|
}
|
|
80
|
+
|
|
81
|
+
// Re-export from errorMapping for public API convenience
|
|
82
|
+
export { isDuplicatePurchaseError, DUPLICATE_PURCHASE_CODE } from "./errorMapping.js";
|
|
80
83
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ErrorCode","parseErrorStringToJsonObj","errorString","Error","message","code","Unknown","parsed","JSON","parse","colonIndex","indexOf","potentialCode","substring","trim","startsWith","test","isUserCancelledError","error","errorObj","UserCancelled","responseCode"],"sourceRoot":"../../../src","sources":["utils/error.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,SAAQA,SAAS,QAAO,aAAU;AAWlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCC,WAAqC,EAC3B;EACV;EACA,IAAIA,WAAW,YAAYC,KAAK,EAAE;IAChCD,WAAW,GAAGA,WAAW,CAACE,OAAO;EACnC;;EAEA;EACA,IAAI,OAAOF,WAAW,KAAK,QAAQ,EAAE;IACnC,OAAO;MACLG,IAAI,EAAEL,SAAS,CAACM,OAAO;MACvBF,OAAO,EAAE;IACX,CAAC;EACH;;EAEA;EACA,IAAI;IACF,MAAMG,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACP,WAAW,CAAC;IACtC,IAAI,OAAOK,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;MACjD;MACA,OAAO;QACLF,IAAI,EAAEE,MAAM,CAACF,IAAI,IAAIL,SAAS,CAACM,OAAO;QACtCF,OAAO,EAAEG,MAAM,CAACH,OAAO,IAAIF,WAAW;QACtC,GAAGK;MACL,CAAC;IACH;EACF,CAAC,CAAC,MAAM;IACN;EAAA;;EAGF;EACA,MAAMG,UAAU,GAAGR,WAAW,CAACS,OAAO,CAAC,GAAG,CAAC;EAC3C,IAAID,UAAU,GAAG,CAAC,IAAIA,UAAU,GAAG,EAAE,EAAE;IACrC;IACA,MAAME,aAAa,GAAGV,WAAW,CAACW,SAAS,CAAC,CAAC,EAAEH,UAAU,CAAC,CAACI,IAAI,CAAC,CAAC;IACjE;IACA,IAAIF,aAAa,CAACG,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,CAACC,IAAI,CAACJ,aAAa,CAAC,EAAE;MACrE,OAAO;QACLP,IAAI,EAAEO,aAAa;QACnBR,OAAO,EAAEF,WAAW,CAACW,SAAS,CAACH,UAAU,GAAG,CAAC,CAAC,CAACI,IAAI,CAAC;MACtD,CAAC;IACH;EACF;;EAEA;EACA,OAAO;IACLT,IAAI,EAAEL,SAAS,CAACM,OAAO;IACvBF,OAAO,EAAEF;EACX,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASe,oBAAoBA,CAClCC,KAA0C,EACjC;EACT,MAAMC,QAAQ,GACZ,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,MAAM,IAAIA,KAAK,GACzDA,KAAK,GACNjB,yBAAyB,CAACiB,KAAK,CAAC;EAEtC,OACEC,QAAQ,CAACd,IAAI,KAAKL,SAAS,CAACoB,aAAa,IACzCD,QAAQ,CAACd,IAAI,KAAK,iBAAiB;EAAI;EACvCc,QAAQ,CAACE,YAAY,KAAK,CAAC,CAC3B,CAAC;AACL","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ErrorCode","parseErrorStringToJsonObj","errorString","Error","message","code","Unknown","parsed","JSON","parse","colonIndex","indexOf","potentialCode","substring","trim","startsWith","test","isUserCancelledError","error","errorObj","UserCancelled","responseCode","isDuplicatePurchaseError","DUPLICATE_PURCHASE_CODE"],"sourceRoot":"../../../src","sources":["utils/error.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,SAAQA,SAAS,QAAO,aAAU;AAWlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCC,WAAqC,EAC3B;EACV;EACA,IAAIA,WAAW,YAAYC,KAAK,EAAE;IAChCD,WAAW,GAAGA,WAAW,CAACE,OAAO;EACnC;;EAEA;EACA,IAAI,OAAOF,WAAW,KAAK,QAAQ,EAAE;IACnC,OAAO;MACLG,IAAI,EAAEL,SAAS,CAACM,OAAO;MACvBF,OAAO,EAAE;IACX,CAAC;EACH;;EAEA;EACA,IAAI;IACF,MAAMG,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACP,WAAW,CAAC;IACtC,IAAI,OAAOK,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;MACjD;MACA,OAAO;QACLF,IAAI,EAAEE,MAAM,CAACF,IAAI,IAAIL,SAAS,CAACM,OAAO;QACtCF,OAAO,EAAEG,MAAM,CAACH,OAAO,IAAIF,WAAW;QACtC,GAAGK;MACL,CAAC;IACH;EACF,CAAC,CAAC,MAAM;IACN;EAAA;;EAGF;EACA,MAAMG,UAAU,GAAGR,WAAW,CAACS,OAAO,CAAC,GAAG,CAAC;EAC3C,IAAID,UAAU,GAAG,CAAC,IAAIA,UAAU,GAAG,EAAE,EAAE;IACrC;IACA,MAAME,aAAa,GAAGV,WAAW,CAACW,SAAS,CAAC,CAAC,EAAEH,UAAU,CAAC,CAACI,IAAI,CAAC,CAAC;IACjE;IACA,IAAIF,aAAa,CAACG,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,CAACC,IAAI,CAACJ,aAAa,CAAC,EAAE;MACrE,OAAO;QACLP,IAAI,EAAEO,aAAa;QACnBR,OAAO,EAAEF,WAAW,CAACW,SAAS,CAACH,UAAU,GAAG,CAAC,CAAC,CAACI,IAAI,CAAC;MACtD,CAAC;IACH;EACF;;EAEA;EACA,OAAO;IACLT,IAAI,EAAEL,SAAS,CAACM,OAAO;IACvBF,OAAO,EAAEF;EACX,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASe,oBAAoBA,CAClCC,KAA0C,EACjC;EACT,MAAMC,QAAQ,GACZ,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,MAAM,IAAIA,KAAK,GACzDA,KAAK,GACNjB,yBAAyB,CAACiB,KAAK,CAAC;EAEtC,OACEC,QAAQ,CAACd,IAAI,KAAKL,SAAS,CAACoB,aAAa,IACzCD,QAAQ,CAACd,IAAI,KAAK,iBAAiB;EAAI;EACvCc,QAAQ,CAACE,YAAY,KAAK,CAAC,CAC3B,CAAC;AACL;;AAEA;AACA,SACEC,wBAAwB,EACxBC,uBAAuB,QAClB,mBAAgB","ignoreList":[]}
|
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { ErrorCode } from "../types.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Error code for duplicate purchase events detected on iOS.
|
|
13
|
+
* Defined here because it originates from react-native-iap's dedup logic,
|
|
14
|
+
* not from the OpenIAP upstream that generates src/types.ts.
|
|
15
|
+
*/
|
|
16
|
+
export const DUPLICATE_PURCHASE_CODE = 'duplicate-purchase';
|
|
10
17
|
const ERROR_CODE_ALIASES = {
|
|
11
18
|
E_USER_CANCELED: ErrorCode.UserCancelled,
|
|
12
19
|
USER_CANCELED: ErrorCode.UserCancelled,
|
|
@@ -193,13 +200,16 @@ function extractCode(error) {
|
|
|
193
200
|
export function isUserCancelledError(error) {
|
|
194
201
|
return extractCode(error) === ErrorCode.UserCancelled;
|
|
195
202
|
}
|
|
203
|
+
export function isDuplicatePurchaseError(error) {
|
|
204
|
+
return extractCode(error) === DUPLICATE_PURCHASE_CODE;
|
|
205
|
+
}
|
|
196
206
|
export function isNetworkError(error) {
|
|
197
207
|
const networkErrors = [ErrorCode.NetworkError, ErrorCode.RemoteError, ErrorCode.ServiceError, ErrorCode.ServiceDisconnected, ErrorCode.BillingUnavailable];
|
|
198
208
|
const code = extractCode(error);
|
|
199
209
|
return !!code && networkErrors.includes(code);
|
|
200
210
|
}
|
|
201
211
|
export function isRecoverableError(error) {
|
|
202
|
-
const recoverableErrors = [ErrorCode.NetworkError, ErrorCode.RemoteError, ErrorCode.ServiceError, ErrorCode.Interrupted, ErrorCode.ServiceDisconnected, ErrorCode.BillingUnavailable, ErrorCode.QueryProduct, ErrorCode.InitConnection, ErrorCode.SyncError, ErrorCode.ConnectionClosed];
|
|
212
|
+
const recoverableErrors = [ErrorCode.NetworkError, ErrorCode.RemoteError, ErrorCode.ServiceError, ErrorCode.Interrupted, ErrorCode.ServiceDisconnected, ErrorCode.BillingUnavailable, ErrorCode.QueryProduct, ErrorCode.InitConnection, ErrorCode.SyncError, ErrorCode.ConnectionClosed, DUPLICATE_PURCHASE_CODE];
|
|
203
213
|
const code = extractCode(error);
|
|
204
214
|
return !!code && recoverableErrors.includes(code);
|
|
205
215
|
}
|
|
@@ -226,6 +236,8 @@ export function getUserFriendlyErrorMessage(error) {
|
|
|
226
236
|
return 'Selected offer does not match the SKU';
|
|
227
237
|
case ErrorCode.DeferredPayment:
|
|
228
238
|
return 'Payment is pending approval';
|
|
239
|
+
case DUPLICATE_PURCHASE_CODE:
|
|
240
|
+
return 'This purchase has already been processed. Try restoring purchases.';
|
|
229
241
|
case ErrorCode.NotPrepared:
|
|
230
242
|
return 'In-app purchase is not ready. Please try again later.';
|
|
231
243
|
case ErrorCode.ServiceError:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ErrorCode","ERROR_CODE_ALIASES","E_USER_CANCELED","UserCancelled","USER_CANCELED","E_USER_CANCELLED","USER_CANCELLED","RECEIPT_FAILED","PurchaseVerificationFailed","E_RECEIPT_FAILED","RECEIPT_FINISHED","PurchaseVerificationFinished","E_RECEIPT_FINISHED","RECEIPT_FINISHED_FAILED","PurchaseVerificationFinishFailed","E_RECEIPT_FINISHED_FAILED","toKebabCase","str","includes","split","map","word","toLowerCase","join","replace","normalizePlatform","platform","COMMON_ERROR_CODE_MAP","Unknown","UserError","ItemUnavailable","RemoteError","NetworkError","ServiceError","ReceiptFailed","ReceiptFinished","ReceiptFinishedFailed","NotPrepared","NotEnded","AlreadyOwned","DeveloperError","BillingResponseJsonParseError","DeferredPayment","Interrupted","IapNotAvailable","PurchaseError","SyncError","TransactionValidationFailed","ActivityUnavailable","AlreadyPrepared","Pending","ConnectionClosed","InitConnection","ServiceDisconnected","QueryProduct","SkuNotFound","SkuOfferMismatch","ItemNotOwned","BillingUnavailable","FeatureNotSupported","EmptySkuList","ErrorCodeMapping","ios","android","OPENIAP_ERROR_CODE_SET","Set","Object","values","createPurchaseError","props","errorCode","code","ErrorCodeUtils","fromPlatformCode","undefined","error","Error","message","name","responseCode","debugMessage","productId","createPurchaseErrorFromPlatform","errorData","normalizedPlatform","getNativeErrorCode","platformCode","_platform","has","startsWith","withoutE","substring","kebabCase","upperCase","toUpperCase","toPlatformCode","isValidForPlatform","ERROR_CODES","normalizeErrorCode","camelCased","trimmed","camelTrimmed","extractCode","isUserCancelledError","isNetworkError","networkErrors","isRecoverableError","recoverableErrors","getUserFriendlyErrorMessage","normalizeErrorCodeFromNative","upper","alias","lowerAlias","slice","kebab","lower"],"sourceRoot":"../../../src","sources":["utils/errorMapping.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ErrorCode","DUPLICATE_PURCHASE_CODE","ERROR_CODE_ALIASES","E_USER_CANCELED","UserCancelled","USER_CANCELED","E_USER_CANCELLED","USER_CANCELLED","RECEIPT_FAILED","PurchaseVerificationFailed","E_RECEIPT_FAILED","RECEIPT_FINISHED","PurchaseVerificationFinished","E_RECEIPT_FINISHED","RECEIPT_FINISHED_FAILED","PurchaseVerificationFinishFailed","E_RECEIPT_FINISHED_FAILED","toKebabCase","str","includes","split","map","word","toLowerCase","join","replace","normalizePlatform","platform","COMMON_ERROR_CODE_MAP","Unknown","UserError","ItemUnavailable","RemoteError","NetworkError","ServiceError","ReceiptFailed","ReceiptFinished","ReceiptFinishedFailed","NotPrepared","NotEnded","AlreadyOwned","DeveloperError","BillingResponseJsonParseError","DeferredPayment","Interrupted","IapNotAvailable","PurchaseError","SyncError","TransactionValidationFailed","ActivityUnavailable","AlreadyPrepared","Pending","ConnectionClosed","InitConnection","ServiceDisconnected","QueryProduct","SkuNotFound","SkuOfferMismatch","ItemNotOwned","BillingUnavailable","FeatureNotSupported","EmptySkuList","ErrorCodeMapping","ios","android","OPENIAP_ERROR_CODE_SET","Set","Object","values","createPurchaseError","props","errorCode","code","ErrorCodeUtils","fromPlatformCode","undefined","error","Error","message","name","responseCode","debugMessage","productId","createPurchaseErrorFromPlatform","errorData","normalizedPlatform","getNativeErrorCode","platformCode","_platform","has","startsWith","withoutE","substring","kebabCase","upperCase","toUpperCase","toPlatformCode","isValidForPlatform","ERROR_CODES","normalizeErrorCode","camelCased","trimmed","camelTrimmed","extractCode","isUserCancelledError","isDuplicatePurchaseError","isNetworkError","networkErrors","isRecoverableError","recoverableErrors","getUserFriendlyErrorMessage","normalizeErrorCodeFromNative","upper","alias","lowerAlias","slice","kebab","lower"],"sourceRoot":"../../../src","sources":["utils/errorMapping.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,4 +27,5 @@ export declare function parseErrorStringToJsonObj(errorString: string | Error |
|
|
|
27
27
|
* @returns true if the error is a user cancellation
|
|
28
28
|
*/
|
|
29
29
|
export declare function isUserCancelledError(error: IapError | string | Error | unknown): boolean;
|
|
30
|
+
export { isDuplicatePurchaseError, DUPLICATE_PURCHASE_CODE, } from './errorMapping';
|
|
30
31
|
//# sourceMappingURL=error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GACpC,QAAQ,CAgDV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GACzC,OAAO,CAWT"}
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GACpC,QAAQ,CAgDV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GACzC,OAAO,CAWT;AAGD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
* and constructing structured purchase errors.
|
|
5
5
|
*/
|
|
6
6
|
import { ErrorCode, type IapPlatform } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Error code for duplicate purchase events detected on iOS.
|
|
9
|
+
* Defined here because it originates from react-native-iap's dedup logic,
|
|
10
|
+
* not from the OpenIAP upstream that generates src/types.ts.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DUPLICATE_PURCHASE_CODE: "duplicate-purchase";
|
|
7
13
|
export interface PurchaseErrorProps {
|
|
8
14
|
message?: string;
|
|
9
15
|
responseCode?: number;
|
|
@@ -36,6 +42,7 @@ type ErrorLike = string | {
|
|
|
36
42
|
message?: string;
|
|
37
43
|
};
|
|
38
44
|
export declare function isUserCancelledError(error: unknown): boolean;
|
|
45
|
+
export declare function isDuplicatePurchaseError(error: unknown): boolean;
|
|
39
46
|
export declare function isNetworkError(error: unknown): boolean;
|
|
40
47
|
export declare function isRecoverableError(error: unknown): boolean;
|
|
41
48
|
export declare function getUserFriendlyErrorMessage(error: ErrorLike): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorMapping.d.ts","sourceRoot":"","sources":["../../../../src/utils/errorMapping.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"errorMapping.d.ts","sourceRoot":"","sources":["../../../../src/utils/errorMapping.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAC;AAmCrE,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAmDD,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAIX,eAAO,MAAM,mBAAmB,GAC9B,OAAO,kBAAkB,KACxB,aAiBF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,kBAAkB,EAC7B,UAAU,WAAW,KACpB,aAgBF,CAAC;AAEF,eAAO,MAAM,cAAc;oCACO,SAAS,KAAG,MAAM;qCAIlC,MAAM,GAAG,MAAM,aAClB,WAAW,KACrB,SAAS;gCAgCC,SAAS,aACT,WAAW,KACrB,MAAM,GAAG,MAAM;oCAIL,SAAS,YACV,WAAW,KACpB,OAAO;CAGX,CAAC;AAMF,KAAK,SAAS,GAAG,MAAM,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAyDxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiB1D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA6DpE;AAED,eAAO,MAAM,4BAA4B,GAAI,MAAM,OAAO,KAAG,SAuE5D,CAAC"}
|
package/package.json
CHANGED
package/src/utils/error.ts
CHANGED
|
@@ -95,3 +95,9 @@ export function isUserCancelledError(
|
|
|
95
95
|
errorObj.responseCode === 1
|
|
96
96
|
); // Android BillingClient.BillingResponseCode.USER_CANCELED
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
// Re-export from errorMapping for public API convenience
|
|
100
|
+
export {
|
|
101
|
+
isDuplicatePurchaseError,
|
|
102
|
+
DUPLICATE_PURCHASE_CODE,
|
|
103
|
+
} from './errorMapping';
|
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
import {ErrorCode, type IapPlatform} from '../types';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Error code for duplicate purchase events detected on iOS.
|
|
11
|
+
* Defined here because it originates from react-native-iap's dedup logic,
|
|
12
|
+
* not from the OpenIAP upstream that generates src/types.ts.
|
|
13
|
+
*/
|
|
14
|
+
export const DUPLICATE_PURCHASE_CODE = 'duplicate-purchase' as const;
|
|
15
|
+
|
|
9
16
|
const ERROR_CODE_ALIASES: Record<string, ErrorCode> = {
|
|
10
17
|
E_USER_CANCELED: ErrorCode.UserCancelled,
|
|
11
18
|
USER_CANCELED: ErrorCode.UserCancelled,
|
|
@@ -271,6 +278,10 @@ export function isUserCancelledError(error: unknown): boolean {
|
|
|
271
278
|
return extractCode(error) === ErrorCode.UserCancelled;
|
|
272
279
|
}
|
|
273
280
|
|
|
281
|
+
export function isDuplicatePurchaseError(error: unknown): boolean {
|
|
282
|
+
return extractCode(error) === DUPLICATE_PURCHASE_CODE;
|
|
283
|
+
}
|
|
284
|
+
|
|
274
285
|
export function isNetworkError(error: unknown): boolean {
|
|
275
286
|
const networkErrors: ErrorCode[] = [
|
|
276
287
|
ErrorCode.NetworkError,
|
|
@@ -296,6 +307,7 @@ export function isRecoverableError(error: unknown): boolean {
|
|
|
296
307
|
ErrorCode.InitConnection,
|
|
297
308
|
ErrorCode.SyncError,
|
|
298
309
|
ErrorCode.ConnectionClosed,
|
|
310
|
+
DUPLICATE_PURCHASE_CODE,
|
|
299
311
|
];
|
|
300
312
|
|
|
301
313
|
const code = extractCode(error);
|
|
@@ -326,6 +338,8 @@ export function getUserFriendlyErrorMessage(error: ErrorLike): string {
|
|
|
326
338
|
return 'Selected offer does not match the SKU';
|
|
327
339
|
case ErrorCode.DeferredPayment:
|
|
328
340
|
return 'Payment is pending approval';
|
|
341
|
+
case DUPLICATE_PURCHASE_CODE:
|
|
342
|
+
return 'This purchase has already been processed. Try restoring purchases.';
|
|
329
343
|
case ErrorCode.NotPrepared:
|
|
330
344
|
return 'In-app purchase is not ready. Please try again later.';
|
|
331
345
|
case ErrorCode.ServiceError:
|