FB payment object without user field

153 views Asked by At

Is anybody knows why the Graph response for Payment Object can be without field user?

I'm trying to make this query:

https://graph.facebook.com/PAYMENT_ID?fields=id,user,items,application&access_token=APP_ACCESS_TOKEN

where PAYMENT_ID is correct id, APP_ACCESS_TOKEN is correct token

And I receive this:

{
   "id": PAYMENT_ID,
   "application": {
      "category": "Games",
      "link": PAYMENT_APP_LINK,
      "name": PAYMENT_APP_LINK,
      "namespace": PAYMENT_APP_NAMESPACE,
      "id": PAYMENT_APP_ID
   },
   "items": [
      {
         "type": "IN_APP_PURCHASE",
         "product": PAYMENT_PRODUCT_ITEM_LINK,
         "quantity": 1
      }
   ]
}

where PAYMENT_* - correct values, they are hidden for secure reason. I've tried with api version: v2.5, v2.6, v2.7, v2.8

This is not happens with all my payments, just with a bit of them.

I have only one idea why this happen - user has deleted my app right after purchase (WTF?). But any way - Facebook should store and provide complete data about payment object.

BTW: I've searched all question that tagged: [facebook-payments] or [facebook] and [payments].

1

There are 1 answers

0
Victor Perov On BEST ANSWER

I've received response from FB Support Team and want to share it with you, dear stackoverflow user.

It can happen, when user de-activates their Facebook account. For more information you can check it: https://developers.facebook.com/docs/games_payments/fulfillment

But, there are other undocumented reasons such as when a user blocks the app or is disabled by Facebook Security Teams.

Summarize: Please make sure that your code is built to handle null or empty values for this property.