Если вы разрабатываете приложения, в которых используются платежи на Facebook и платные подписки, то вы можете воспользоваться функцией "Платежи на Facebook", чтобы получать от нас отчеты за конкретный день с разбивкой по платежам в приложениях. |
В этом документе содержится подробная информация о содержании таких отчетов, их формате и API для их запроса.
В отчетах по платежам содержится только информация о покупках в приложении. Информация о доходах от Facebook Audience Network не добавляется. Информацию о том, как сгенерировать отчет по платежам для приложений Audience Network, см. к справочной документации по API для отчетов Audience Network.
Чтобы скачать ежедневный отчет для ваших приложений, администратора компании может перейти на страницу настроек компании, выбрать нужную компанию и открыть вкладку "Отчеты". На этой странице можно выбрать дату отчета в календаре, а также тип отчета в раскрывающемся меню.
Кроме того, перейти в настройки компании можно следующими способами:
Выберите нужные параметры и нажмите Скачать, чтобы скачать ежедневный отчет для своей компании.
Отчеты для моментальных игр показываются по отдельности как Сводка по моментальным играм и Информация о моментальных играх.
Отчет для моментальных игр также используется и для облачных игр.
Каждый отчет охватывает одни сутки с 00:00 до 23:59:59 по американскому тихоокеанскому времени (UTC-8/UTC-7) и содержит информацию о транзакциях с выплатой одной и той же компании, проведенных во всех приложениях в этот день.
Для каждого дня можно запросить отчеты двух разных типов:
detail
содержит одну запись для каждой отдельной транзакции, т. е. для каждой продажи, возврата и т. п. В подробных отчетах учитывается оплата с точки зрения Facebook.digest
представляет собой сводку всех транзакций определенного типа в том или ином приложении.Отчеты для моментальных игр аналогичны, но называются иначе:
ig_detail
содержит одну запись для каждой отдельной транзакции, т. е. для каждой продажи, возврата и т. п. ig_digest
представляет собой сводку всех транзакций определенного типа в той или иной моментальной игре.В настоящее время отчеты по платежам состоят из двух разделов, однако при написании синтаксического анализатора учитывайте, что формат отчетов может расширяться.
Один раздел, credits_digest
или credits_detail
(в зависимости от того, какой отчет вы читаете), содержит все транзакции с использованием функции купонов Facebook, а также все внутриигровые покупки, сделанные через действие buy_item
в диалоге платежа. Этот раздел упразднен, поскольку разработчики больше не получают платежи в купонах Facebook.
Мы создаем новые отчеты раз в день. Они становятся доступны в 12 часов дня по тихоокеанскому времени (UTC-8/UTC-7), поэтому самый последний отчет из доступных на момент запроса, как правило, содержит информацию за предыдущий день. Для моментальных игр действует задержка в два дня.
Отчеты по платежам можно скачать в течение 45 дней.
Отчеты по платежам доступны через сетевой API, поэтому можно запросить как сводный, так и очень подробный отчет по транзакциям за выбранный день.
Получение отчетов происходит в 3 этапа:
Прежде чем продолжить, убедитесь, что вы включили функцию платежей в приложении, а также настроили получение платежей для компании.
Если это так, вы увидите ID и секрет своей компании на странице настроек компании (вкладка Идентификационные данные).
Для одной компании требуется всего одна пара из ID и секрета. Она используется во всех приложениях этой компании. Эти идентификационные данные потребуются, чтобы получить access_token
, необходимый для скачивания ежедневных отчетов по вашим приложениям.
Company Access Token
Company Access Token
позволяет получить доступ к отчетам для всех приложений, связанных с компанией, от имени которой выдан маркер. Чтобы получить его, отправьте запрос GET к конечной точке
https://graph.facebook.com/oauth/access_token?
и укажите следующие параметры:
Имя | Тип | Значение |
---|---|---|
| Целое число | ID вашей компании. |
| Строка | Секрет вашей компании. |
| Строка | `client_credentials |
Срок действия этого маркера истекает только в случае сброса секрета компании, поэтому его нужно хранить и использовать повторно, а не генерировать заново при каждом запросе отчетов.
access_token
компанииПример запроса:
https://graph.facebook.com/oauth/access_token? client_id=COMPANY_ID& client_secret=COMPANY_SECRET& grant_type=client_credentials
Образец ответа от Facebook:
access_token=230001349987723|aBc_dEFaEUZberrtkrp8pbtwXyZ
Получив access_token
компании, вы можете использовать его для запроса файлов ежедневных отчетов по всем приложениям вашей компании. Как упоминалось выше, можно сгенерировать отчеты двух типов:
digest
содержит по строке данных для каждой пары "транзакция — тип приложения" и представляет собой сводку продаж, возвратов и других событий, связанных с транзакциями, для каждого приложения.detail
, как можно понять из его названия, содержит по строке для каждой отдельной транзакции.Чтобы скачать файлы отчетов за определенный день, отправьте запрос GET к конечной точке
https://paymentreports.facebook.com/COMPANY_ID/report?
и укажите следующие параметры:
Имя | Тип | Значение |
---|---|---|
| Строка | День, за который нужно скачать отчет, в формате ГГГГ-ММ-ДД. |
| Строка | Значение |
| Строка |
Как упоминалось выше, запросить отчет date
за текущий день нельзя. Отчеты за текущий день становятся доступны на следующий день после 8:00 по американскому тихоокеанскому времени (UTC-7/UTC-8).
Пример запроса ежедневного отчета detail
от разработчика:
wget "https://paymentreports.facebook.com/23459934998762/report? date=2012-05-15& type=detail& access_token=234599349987627|aBc_dEFaEUZbqpatkrp8pbtwXyZ"
В ответ на такой запрос вы получите файл с именем 23459934998762_detail_2012-05-15.csv.zip
.
Пример запроса отчета digest
от разработчика:
wget "https://paymentreports.facebook.com/23459934998762/report? date=2012-05-15& type=digest& access_token=23459934998762|aBc_dEFaEUZbqpatkrp8pbtwXyZ"
В ответ на такой запрос вы получите файл с именем 23459934998762_digest_2012-05-15.csv.zip
.
Все отчеты имеют единую структуру:
\n
" (новая строка);RH
);SH
);CH
);SD
);SF
);RF
).Эту структуру можно визуализировать следующим образом:
RH, ... SH, ... CH, ... SD, ... [More section data rows] SF, ... SH, ... CH, ... SD, ... [More section data rows] SF, ... [Possibly more sections] RF, ...
Примечание. Отступы и пробелы в примере выше добавлены исключительно для удобства чтения. В настоящих отчетах отступов нет, а пробелы употребляются, только когда они содержатся в данных полей.
Примеры с заполненными полями можно найти в разделе с примерами файлов в конце этого документа.
RH
)Первая строка — это заголовок отчета. Она содержит данные, которые относятся ко всем последующим строкам вплоть до нижнего колонтитула отчета, обозначающего конец отчета. Строки RH
содержат следующие поля:
Имя | Описание |
---|---|
company_id | ID компании разработчика. |
report_type | Тип отчета. В настоящее время это |
start_time | Время начала отчетного периода в формате "ГГГГ-ММ-ДД |
end_time | Время окончания отчетного периода в формате "ГГГГ-ММ-ДД |
format_version |
|
Пример строки:
RH,213030545409781,daily_detail,2011-11-21 00:00:00 PST,2011-11-21 23:59:59 PST,1
Как следует читать этот пример строки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: заголовок отчета. |
2 |
| ID компании. |
3 |
| Указывает на то, что это отчет |
4 |
| Время начала для отчета. |
5 |
| Время окончания. |
6 |
| Версия схемы отчета. |
SH
)Все строки между заголовком и нижним колонтитулом отчета являются частями раздела. Каждый раздел в отчете начинается с заголовка и заканчивается нижним колонтитулом раздела. Строки SH
содержат следующие поля:
Имя | Значение |
---|---|
company_id | ID компании разработчика. |
section_type | В настоящее время это |
Пример строки:
SH,213030545409781,payment_detail
Как следует читать этот пример строки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: заголовок раздела. |
2 |
| ID компании. |
3 |
| Заголовок раздела |
CH
)После каждого заголовка раздела следует заголовок колонки с именами полей для строк данных этого раздела. Разделы разных типов содержат разные поля. Важно ознакомиться со строками заголовков колонок, чтобы знать названия полей в каждом разделе. Формат отчета можно легко расширить. Для этого достаточно обновить его описание, изменив порядок колонок или спецификацию разделов таким образом. По этой причине любое решение для синтаксического анализа с жестко закодированной структурой отчетов может стать недействительным.
Пример строки CH
из раздела payment_detail
:
CH,app_id,payment_type,product_type,payment_id,time_completed,recv_currency,recv_amount,fx_batch_id,fx_rate,settle_currency,reference_id,tax_country
Пример строки CH
из раздела payment_digest
:
CH,app_id,app_name,payment_type,product_type,recv_currency, ,fx_batch_id,fx_rate,settle_currency,settle_amount
SD
)За заголовком колонки раздела следует некоторое (может быть нулевое) количество строк section data
, названия полей которых берутся из строки CH
. Содержание строк зависит от типа раздела: в разделах detail
каждая строка представляет собой отдельную транзакцию, а в разделах digest
каждая строка содержит сумму всех транзакций определенного типа в том или ином приложении (например, "все продажи для ID приложения 276999562313463", "все возвраты в японских иенах за отмену подписки для ID приложения 276899562313544"). В настоящее время существует 4 типа разделов. Они описаны ниже.
Разделы credits_detail
и credits_digest
упразднены, поскольку в приложениях больше нет возможности создавать платежи с использованием купонов Facebook.
SD
payment_detail
Поля:
Имя | Описание |
---|---|
| ID приложения, в котором произведена транзакция. |
| Один из следующих кодов:
При расчете дохода используются следующие соответствующие коэффициенты: S => 1, R => -1, C => -1, D => 0, K => 1, J => 0, N => -1 |
| |
| Уникальный ID платежа, аналогично |
| Метка времени завершения транзакции в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС часовой пояс". |
| Трехбуквенный вод валюты, в которой клиент произвел оплату, по стандарту ISO 4217 |
| Чистая сумма в единицах в этой валюте, включая сумму налога. Это может быть не та сумма, которую получит разработчик, поскольку доля доходов Facebook еще должна вычтена. Финальный размер оплаты можно проверить в отчетах по выплатам. |
| Уникальный ID пакета обменного курса, в котором обработана транзакция. |
| Обменный курс, по которому в пакете с |
| Трехбуквенный вод валюты, в которой получил оплату разработчик, по стандарту ISO 4217. В настоящее время это всегда доллары США (USD). |
| ID соглашения о выставлении счетов для подписки и request_id (ID запроса) для платежей. |
| Двухбуквенный код страны, в которой клиент совершил покупку, по стандарту ISO 3166-1 alpha-2. |
| Фактическая сумма НДС или налога с продаж, перечисленная Facebook от вашего имени в валюте транзакции. |
| Только для отчетов
|
| Только для отчетов Это плата, которую взимают платформы, не относящиеся к Facebook. Для Facebook по-прежнему применяется соглашение о доле дохода, которая не включается сюда. |
Пример строки для подписки:
SD,266989143414,S,S,267668373345994,2012-07-22 00:07:23 PDT,USD,19.99,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000007,US,0.99
Как читать пример строки для подписки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: данные раздела. |
2 |
|
|
3 |
| Транзакция связана с продажей. |
4 |
| Проданный продукт — подписка. |
5 |
| ID продажи. |
6 |
| Время завершения обработки платежа. |
7 |
| Покупатель произвел оплату в долларах США. |
8 |
| Клиент заплатил 19,99 долл. США. |
9 |
| ID пакета обменного курса. |
10 |
| Курс обмена доллара США на доллар США. |
11 |
| Разработчик получил оплату в долларах США. |
12 |
| Платеж является частью |
13 |
| Покупатель находится в США. |
14 |
| Фактическая сумма НДС, перечисленная от вашего имени. |
Пример строки для платежей:
SD,480369938658210,S,P,362736900505327,2013-06-12 16:33:52 PDT,USD,1,6E5D989082A04A68AA801DB17A30721A,1,USD,QQ6C7XaxeMyCW4RdZXFGwKTQM1IkMBIOpeWtFFJelHUdSC9NaeYlBXEMJd3LO17k,US,0.09
Как следует читать пример строки для платежа:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: данные раздела. |
2 |
|
|
3 |
| Транзакция связана с продажей. |
4 |
| Транзакция связана с платежом. |
5 |
| ID платежа для продажи. |
6 |
| Время завершения обработки платежа. |
7 |
| Покупатель произвел оплату в долларах США. |
8 |
| Клиент заплатил 1,00 долл. США. |
9 |
| ID пакета обменного курса. |
10 |
| Курс обмена доллара США на доллар США. |
11 |
| Разработчик получил оплату в долларах США. |
12 |
|
|
13 |
| Покупатель находится в США. |
14 |
| Фактическая сумма НДС, перечисленная от вашего имени. |
SD
payment_digest
Поля:
Имя | Описание |
---|---|
|
|
| Название приложения. |
| Один из следующих кодов:
|
| S означает подписку, P — платеж. |
| Трехбуквенный код суммируемой валюты плательщика по стандарту ISO 4217 |
| Общая сумма в этой валюте, связанная с платежами этого типа в рамках определенного пакета обмена валют. |
| ID такого пакета. |
| Обменный курс, по которому в пакете с |
| Трехбуквенный вод валюты, в которой получил оплату разработчик, по стандарту ISO 4217. |
| Общая сумма в этой валюте для соответствующего приложения, типа платежа, типа продукта, валюты и пакета обмена валют в отчетном периоде. |
| Фактическая сумма НДС или налога с продаж, перечисленная Facebook от вашего имени. |
Пример строки для подписки:
SD,200000000000002,Game2,S,S,CNY,5000.0,FXBATCHID1,0.2,USD,1000.0,9.99
Как читать пример строки для подписки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: данные раздела. |
2 |
| Для приложения с ID 200000000000002 |
3 |
| …под названием Game2 |
4 |
| …для всех продаж, |
5 |
| …связанных с подписками, |
6 |
| …оплаченных в китайских юанях (жэньминьби) |
7 |
| …на общую сумму 5000 CNY, |
8 |
| …конвертированную с применением пакета FXBATCHID1 |
9 |
| …по курсу 1 CNY = 0,2 USD. |
10 |
| Разработчик получил оплату в долларах США. |
11 |
| Итого: "Сумма продаж Game2 за отчетный период составила 1000 долл. США, если считать всех пользователей, купивших подписку в китайских юанях (жэньминьби) в период действия пакета FXBATCHID1". |
12 |
| Сумма НДС, перечисленная от вашего имени, составила 9,99. |
Пример строки для платежей:
SD,900000000000009,Game9,S,P,CNY,5000.0,FXBATCHID1,0.2,USD,1000.0,9.99
Как следует читать пример строки для платежа:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: данные раздела. |
2 |
| Для приложения с ID 900000000000009 |
3 |
| …под названием Game9 |
4 |
| …для всех продаж, |
5 |
| …связанных с платежами, |
6 |
| …запрошенных в китайских юанях (жэньминьби) |
7 |
| …на общую сумму 5000 CNY, |
8 |
| …конвертированную с применением пакета FXBATCHID1 |
9 |
| …по курсу 1 CNY = 0,2 USD. |
10 |
| Разработчик получил оплату в долларах США. |
11 |
| Итого: "Сумма продаж Game2 за отчетный период составила 1 000 долл. США, если считать всех пользователей, которые купили товары в приложении, совершив платежи в китайских юанях (жэньминьби) в период действия пакета FXBATCHID1". |
12 |
| Сумма НДС, перечисленная от вашего имени, составила 9,99. |
SF
)Каждый раздел заканчивается строкой нижнего колонтитула раздела, за которым может следовать новый раздел со строкой SH
или строка нижнего колонтитула отчета, обозначающего конец отчета. Единственная колонка данных, идущая за полем типа, содержит:
Имя | Описание |
---|---|
| Общее количество строк данных раздела в этом разделе отчета. |
Пример строки:
SF,7
Как следует читать этот пример строки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: нижний колонтитул раздела |
2 |
| Этот раздел содержит 7 строк |
RF
)Отчет заканчивается строкой нижнего колонтитула отчета. Она должна быть последней в файле. Эта строка содержит 2 части сводных данных, следующих после колонки ее типа:
Имя | Описание |
---|---|
| Общее количество строк заголовков разделов в этом отчете. |
| Общее количество строк данных разделов во всех разделах этого отчета. |
Пример строки:
RF,2,7
Как следует читать этот пример строки:
Колонка | Значение | Описание |
---|---|---|
1 |
| Тип строки: нижний колонтитул отчета. |
2 |
| Этот отчет содержит 2 строки |
3 |
| Этот отчет содержит 7 строк |
Эти примеры следует читать в соответствии с инструкциями выше. Кроме того, учтите следующее:
credits_detail
или _digest
;payment_detail
или payment_digest
;detail
RH,10808080808080808,daily_detail,2012-04-24 00:00:00 PDT,2012-04-24 23:59:59 PDT,1 SH,10808080808080808,credits_detail CH,app_id,txn_type,txn_id,order_id,txn_time,value,credits SH,10808080808080808,payment_detail CH,app_id,payment_type,product_type,payment_id,time_completed,recv_currency,recv_amount,fx_batch_id,fx_rate,settle_currency,reference_id,tax_country SD,266989143414,S,S,267668373345994,2012-07-22 00:07:23 PDT,USD,19.99,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000007,US SD,266989143414,S,S,272014936246430,2012-07-22 00:08:18 PDT,USD,21.09,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000008,US SD,266989143414,S,S,272990136150221,2012-07-22 00:09:18 PDT,USD,22.99,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000009,CY SD,266989143414,S,S,278092248972451,2012-07-22 00:08:34 PDT,USD,19.99,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000010,US SD,266989143414,S,P,376727629107629,2012-07-22 00:08:34 PDT,USD,19.99,123456789ABCDEF00123456789ABCDEF,1.0000000000,USD,20000000010,US SF,4 RF,2,13
digest
RH,108080808080808,daily_digest,2012-04-25 00:00:00 PDT,2012-04-25 23:59:59 PDT,1 SH,108080808080808,credits_digest CH,app_id,app_name,txn_type,value,credits SH,108080808080808,payment_digest CH,app_id,app_name,payment_type,product_type,recv_currency,recv_amount,fx_batch_id,fx_rate,settle_currency,settle_amount SD,200000000000002,Game2,S,S,CNY,5000.0,FXBATCHID1,0.2,USD,1000.0 SD,200000000000002,Game2,R,S,CNY,2000.0,FXBATCHID1,0.2,USD,400.0 SD,200000000000002,Game2,S,P,CNY,1000.0,FXBATCHID1,0.2,USD,200.0 SF,2 RF,2,5
Для расчета чистого дохода разработчика используйте следующую информацию.
Они соответствуют транзакциям в отчете ig_detail
, параметр platform
которых имеет значение "F", или всем транзакциям в отчете detail
.
Предположим, что значение tax_country, равное "US", означает, что покупка не облагается налогом, и расчет производится по следующей формуле:net_developer_revenue = (recv_amount - tax_amount) * fx_rate * rev_share
В противном случае предположим, что покупка делается с учетом налогов и расчет производится по следующей формуле:net_developer_revenue = (recv_amount * fx_rate) * rev_share - (tax_amount * fx_rate)
Они соответствуют транзакциям в отчете ig_detail
, параметр platform
которых имеет значение "G".
Расчет производится по следующей формуле:net_developer_revenue = recv_amount * fx_rate
Примечание: это лишь приблизительная оценка, основанная на данных о выплатах. До выплаты могут взиматься дополнительные сборы. В будущем обновлении отчетов этот расчет станет более точным и простым.