Question

Customer purchase goes through but their account does not show a purchase record

  • 16 February 2024
  • 2 replies
  • 48 views

Badge +1

I am successfully making a purchase in IOS sandbox environment and returning the customerInfo object shown below. However once the user is automatically logged in i check their subscription status and it is empty.

The user does not show up in my sandbox customer list in revenue cat and the only way i can find them is by manually searching their user ID. 

When i call the login function there is no active purchases so my app will not authenticate them once they try to re login, or if they want to view their active subscriptions. 

I am not sure why I am returning a successful purchase object but their account has no record of a purchase?

Here is the customerInfo object after making the subscription purchase

 

'customer INFO: ', { firstSeen: '2024-02-16T03:51:30Z',

  entitlements: 

   { active: 

      { pro: 

         { willRenew: true,

           ownershipType: 'PURCHASED',

           productIdentifier: 'sportyMonthly899',

           originalPurchaseDateMillis: 1708095600000,

           latestPurchaseDate: '2024-02-16T15:13:26Z',

           billingIssueDetectedAt: null,

           unsubscribeDetectedAtMillis: null,

           identifier: 'pro',

           productPlanIdentifier: null,

           isActive: true,

           unsubscribeDetectedAt: null,

           periodType: 'NORMAL',

           store: 'APP_STORE',

           latestPurchaseDateMillis: 1708096406000,

           isSandbox: true,

           originalPurchaseDate: '2024-02-16T15:00:00Z',

           verification: 'NOT_REQUESTED',

           billingIssueDetectedAtMillis: null,

           expirationDate: '2024-02-16T15:18:26Z',

           expirationDateMillis: 1708096706000 } },

     all: 

      { pro: 

         { billingIssueDetectedAt: null,

           unsubscribeDetectedAtMillis: null,

           latestPurchaseDate: '2024-02-16T15:13:26Z',

           expirationDate: '2024-02-16T15:18:26Z',

           latestPurchaseDateMillis: 1708096406000,

           isSandbox: true,

           originalPurchaseDate: '2024-02-16T15:00:00Z',

           verification: 'NOT_REQUESTED',

           billingIssueDetectedAtMillis: null,

           store: 'APP_STORE',

           identifier: 'pro',

           unsubscribeDetectedAt: null,

           productPlanIdentifier: null,

           isActive: true,

           periodType: 'NORMAL',

           ownershipType: 'PURCHASED',

           willRenew: true,

           expirationDateMillis: 1708096706000,

           originalPurchaseDateMillis: 1708095600000,

           productIdentifier: 'sportyMonthly899' } },

     verification: 'NOT_REQUESTED' },

  allExpirationDates: 

   { sportyAnnual5999: '2024-02-16T10:01:19Z',

     sportyMonthly899: '2024-02-16T15:18:26Z' },

  originalAppUserId: 'hi@there.com210068',

  allPurchaseDatesMillis: 

   { sportyMonthly899: 1708096406000,

     sportyAnnual5999: 1708074079000 },

  allPurchasedProductIdentifiers: [ 'sportyMonthly899', 'sportyAnnual5999' ],

  firstSeenMillis: 1708055490000,

  latestExpirationDate: '2024-02-16T15:18:26Z',

  originalPurchaseDateMillis: 1375340400000,

  allExpirationDatesMillis: 

   { sportyMonthly899: 1708096706000,

     sportyAnnual5999: 1708077679000 },

  requestDateMillis: 1708096659486,

  nonSubscriptionTransactions: [],

  originalPurchaseDate: '2013-08-01T07:00:00Z',

  latestExpirationDateMillis: 1708096706000,

  requestDate: '2024-02-16T15:17:39Z',

  activeSubscriptions: [ 'sportyMonthly899' ],

  originalApplicationVersion: '1.0',

  managementURL: 'https://apps.apple.com/account/subscriptions',

  allPurchaseDates: 

   { sportyAnnual5999: '2024-02-16T09:01:19Z',

     sportyMonthly899: '2024-02-16T15:13:26Z' } }



And here is the customers purchase info based on calling the login function after they have made the subscription purchase above

 

{ created: false,

  customerInfo: 

   { allPurchaseDatesMillis: {},

     requestDate: '2024-02-16T15:18:17Z',

     firstSeen: '2024-02-16T15:18:17Z',

     latestExpirationDateMillis: null,

     originalPurchaseDate: null,

     nonSubscriptionTransactions: [],

     entitlements: { verification: 'NOT_REQUESTED', all: {}, active: {} },

     originalPurchaseDateMillis: null,

     allExpirationDatesMillis: {},

     latestExpirationDate: null,

     requestDateMillis: 1708096697000,

     firstSeenMillis: 1708096697000,

     allPurchasedProductIdentifiers: [],

     managementURL: null,

     allPurchaseDates: {},

     activeSubscriptions: [],

     originalApplicationVersion: null,

     allExpirationDates: {},

     originalAppUserId: 'j@jiff.com924563' } }

 


This post has been closed for comments

2 replies

Badge +1

Looking at it more closely I see that the “originalAppUserId” is not the login i was using to create this most recent transaction. 

 

This was a previously used account to test a purchase. 

 

I always clear purchases from my IOS device before hand, so maybe this is leading to the purchase discrepancy.

Userlevel 5
Badge +9

Hey @jeffrey-connell-7489c5,

It seems when you log in it switches to a new customer profile rather than keeping you on the original customer profile you used to purchase. This is actually expected and documented here: https://www.revenuecat.com/docs/customers/user-ids#login-method-alias-behavior You’re going from one identified user to another, so the purchases stay with the original one that purchased it. You’ll have to restore purchases to get the purchases to transfer to j@jiff.com924563.