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].
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.