When trying to upgrade an existing Play Store subscription in our React Native mobile app, I often get a "The device or user is not allowed to make the purchase" error, and the upgrade fails. Eventually, using another payment method, the upgrade succeeds. I’m unsure if this is an error with my payment method, RevenueCat code, or something else.
Steps taken on a Samsung Galaxy A14 in a live production app with real purchases:
- Purchase sakura_gold_v1a:monthly-5-autorenewing subscription with Apple Card credit card info entered into Play Store - succeeds.
- Upgrade to sakura_diamond_v1a:montly-19-autorenewing subscription with Apple Card - fails. Retry - fails.
- Apple card shows no declined transactions that require approval
- Play Store app is up to date
- Play Store “Require authentication for purchases” is on
- Google payments activity shows Declined transaction
-
Error logged in app:
code: 3,
message: The device or user is not allowed to make the purchase.,
name: Error,
nativeStackAndroid: S],
stack:
Error: The device or user is not allowed to make the purchase.
at promiseMethodWrapper (address at /data/user/0/fm.sakura.app/files/.expo-internal/8040753f6b5948fc51d31657dac2a821:1:68785)
... - Upgrade to sakura_diamond_v1a:montly-19-autorenewing subscription with Paypal - succeeds.
- Snippet of receipt from Play Store
RevenueCat upgrade code (used for successful and failed upgrades):
const upgradeInfo: UpgradeInfo = {
oldSKU: oldSku,
prorationMode: isUpgrade
? PRORATION_MODE.IMMEDIATE_AND_CHARGE_PRORATED_PRICE
: PRORATION_MODE.IMMEDIATE_WITH_TIME_PRORATION,
}
const res = await Purchases.purchaseProduct(
productId.android,
upgradeInfo,
PURCHASE_TYPE.SUBS
)
Has anyone run into this issue before? Would like to understand what the cause is here to be sure other users don’t have this issue.
Thank you!