Платежная подписка - тестовый обратный вызов
В настоящее время мы изучаем новые подписные платежи Facebook. У нас уже есть рабочая настройка оплаты для Facebook, и URL-адрес обратного вызова установлен правильно. Если я делаю регулярный тестовый платеж, обратный вызов вызывается правильно.
Настройка для тестирования подписки осуществляется в соответствии с этим. Но, если я выбираю всегда успех или всегда терпит неудачу, не происходит обратного вызова к URL-адресу обратного вызова платежей.
Он возвращает объект, который говорит, что подписка активна, и имеет идентификатор.
{status: "active", subscription_id: 204626XXXXXX}
Ответы
Ответ 1
Подписки Facebook не являются обычной покупкой.
Вам нужно будет настроить обновления в реальном времени на объект "payment_subscriptions" и прослушать эти доступные поля: ('status', 'pending_cancel', 'payment_status', 'last_payment'). См. Документацию: http://developers.facebook.com/docs/payments/subscriptions/, есть раздел "Потребление обновлений в реальном времени"
Каждый раз, когда пользователь подписывается или отменяет (или неявное обновление), вы попадаете в соответствующий идентификатор подписки. Затем вы можете запросить API-интерфейс Graph об этом объекте подписки.
Вы также можете получить список подписки для любого пользователя с помощью вызова Graph Api в разделе "/payment.subscriptions"
Все эти вызовы должны выполняться с токеном доступа к приложениям.
Я должен признать, что этот процесс очень раздражает, если вы всегда выполняли "синхронные" покупки. Я действительно выполнял подписки, это было любопытное и болезненное путешествие;)
Надеюсь, что это поможет
Ответ 2
Возможно ли, что вы получили запрос, отправленный на URL обратного вызова, если состояние подписки изменилось, и у вас уже есть активная подписка для пользователя? Я бы подумал, что вы получите ошибку на стороне клиента в этом случае, но я не вижу никаких доказательств того, что для этого есть код ошибки.
Что произойдет, если вы делаете регулярный тестовый платеж несколько раз за ту же учетную запись?
Ответ 3
Подписки сопоставляются с объектами OpenGraph на стороне Facebook, а также с виртуальной валютой, поэтому я подозреваю, что на стороне сервера нет обратного вызова, все, что вы можете сделать, это сделать какой-то пост http (через форму, для пример) insde обратный вызов FB.ui и реализовать метод doPost в сервлете. Это будет способ получить информацию о подписке в некоторый источник данных.
Изменить: относительно обратного вызова платежей, те элементы, которые заказывают информацию, рассчитываются на основе объекта OG, facebook не отправляет запрос payments_get_items, поэтому нет способа получить информацию о заказе после создания подписки. С другой стороны, возможно, что вы получите некоторый payment_status_update в соответствующем сервлете (я говорю о сервлетах, потому что я программист на Java, но общая идея применима к любой технологии, которую вы выберете)