Платежный объект FB без пользовательского поля

Кто-нибудь знает, почему ответ Graph для объекта платежа может быть без поля user?

Я пытаюсь сделать этот запрос:

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

где PAYMENT_ID — правильный идентификатор, APP_ACCESS_TOKEN — правильный токен

И я получаю это:

{
   "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
      }
   ]
}

где PAYMENT_* - правильные значения, они скрыты по соображениям безопасности. Я пробовал с версией API: v2.5, v2.6, v2.7, v2.8.

Это происходит не со всеми моими платежами, только с некоторыми из них.

У меня есть только одна идея, почему это происходит - пользователь удалил мое приложение сразу после покупки (WTF?). Но в любом случае - Facebook должен хранить и предоставлять полные данные об объекте платежа.

Кстати: я искал все вопросы с тегами: [facebook-payments] или [facebook] и [payments].


person Victor Perov    schedule 23.11.2016    source источник


Ответы (1)


Я получил ответ от службы поддержки FB и хочу поделиться им с вами, дорогой пользователь stackoverflow.

Это может произойти, когда пользователь деактивирует свою учетную запись Facebook. Для получения дополнительной информации вы можете проверить его: https://developers.facebook.com/docs/games_payments/fulfillment

Но есть и другие недокументированные причины, например, когда пользователь блокирует приложение или его отключают службы безопасности Facebook.

Резюме: Убедитесь, что ваш код создан для обработки нулевых или пустых значений для этого свойства.

person Victor Perov    schedule 25.11.2016