Top.Mail.Ru

Счета приложения

Однократно выставляемые счета нужны для получения средств от пользователя приложения через систему InSales. Это позволяет владельцу приложения взаимодействовать только с одним контрагентом. InSales в свою очередь за это берет комиссию, которая согласуется и устанавливается при публикации приложения.

Перед установкой приложения пользователь может увидеть стоимость. Пользователь соглашается, приложение выставляет счет и перенаправляет на страницу оплаты. На странице оплаты пользователь видит, что приложение выставило ему счет за его установку. Ему предлагается оплатить или отклонить выставленный счет. После того, как пользователь выполнить одно из этих действий, InSales уведомляет приложение, отправляя запрос на URL, указанный при выставлении счета. Приложение после получения уведомления проверяет состояние счета, оплачен он или отклонен, и в зависимости от этого дает доступ к функционалу.

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

Описание полей:

name - назначение платежа;

price - сумма счета;

return-url - URL по которому будут уведомлять об оплате;

confirmation-url - URL страницы оплаты / отклонения счета (генерируется автоматически при создании);

test - флаг для отладки, если установлен, то для подтверждения платежа не надо его оплачивать. По умолчанию не установлен.

status - статус счета.

Возможные значения:

pending - пользователь еще ничего сделал;
accepted - оплатил счет;
declined - отклонил счет.

  1. Пример
  2. Выставление счета
  3. Проверка состояния
  4. Отклонение
  5. Получение списка отчетов

Пример

1. Создание счета:

POST /admin/application\_charges.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-charge>
       <name>Купи слона</name>
       <price type="decimal">180.0</price>
       <return-url>http://applicaiton.my/check_payment_url/%id_in_my_application%</return-url>
</application-charge>

2. Получение ответа:

<?xml version="1.0" encoding="UTF-8"?>
<application-charge>
<id type="integer">2</id>
<name>Купи слона</name>
<price type="decimal">180.0</price>
<return-url>http://applicaiton.my/check_payment_url/%id_in_my_application%</return-url>
<status>pending</status>
<test type="boolean">false</test>
<confirmation-url>http://some-shop.myinsales.ru/admin/invoices/6539</confirmation-url>
<created-at type="datetime">2013-12-02T22:34:59+04:00</created-at>
<updated-at type="datetime">2013-12-02T22:34:59+04:00</updated-at>
</application-charge>

3. Далее необходимо запомнить соответствие между id_in_my_application и id (2 в данном случае).

4. Перенаправление клиента на confirmation-url, в данном случае: http://some-shop.myinsales.ru/admin/invoices/6539.

5. Получение уведомления на http://applicaiton.my/check_payment_url/id_in_my_application

По id_in_my_application нужно определить id и проверить статус application_charge.

6. Запрос:

GET /admin/application\_charges/2.xml

Получение ответа:

<application-charge>
<id type="integer">2</id>
<name>Купи слона</name>
<price type="decimal">180.0</price>
<return-url>http://applicaiton.my/check_payment_url/%id_in_my_application%</return-url>
<status>accepted</status>
<test type="boolean">false</test>
<confirmation-url>http://some-shop.myinsales.ru/admin/invoices/6539</confirmation-url>
<created-at type="datetime">2013-12-02T22:34:59+04:00</created-at>
<updated-at type="datetime">2013-12-02T22:40:59+04:00</updated-at>
</application-charge>

Выставление счета

Создается счет отправкой POST-запроса по адресу:

/admin/application_charges.xml

Пример запроса:

<?xml version="1.0" encoding="UTF-8"?>
<application-charge>
<name>Sms 200</name>
<price type="decimal">180.0</price>
<return-url>http://host/url</return-url>
</application-charge>

Пример ответа:

<?xml version="1.0" encoding="UTF-8"?>
<application-charge>
<id type="integer">1</id>
<name>Sms 200</name>
<price type="decimal">180.0</price>
<status>pending</status>
<return-url>http://host/url</return-url>
<confirmation-url>http://host.myinsales.ru/admin/invoices/6539</confirmation-url>
<test type="boolean">false</test>
<created-at type="datetime">2013-07-18T22:34:59+04:00</created-at>
<updated-at type="datetime">2013-07-18T22:34:59+04:00</updated-at>
</application-charge>

Проверка состояния

GET запрос по адресу:

/admin/application_charges/%id%.xml

Пример ответа:

<?xml version="1.0" encoding="UTF-8"?>
<application-charge>
<created-at type="datetime">2013-07-18T22:34:59+04:00</created-at>
<id type="integer">1</id>
<name>Sms 200</name>
<price type="decimal">180.0</price>
<return-url>http://host/url</return-url>
<status>pending</status>
<test type="boolean">false</test>
<updated-at type="datetime">2013-07-18T22:34:59+04:00</updated-at>
<confirmation-url>http://host.myinsales.ru/admin/invoices/2</confirmation-url>
</application-charge>

Отклонение

Для отклонения счёта нужно отправить POST-запрос по адресу:

/admin/application_charges/%id%/decline.xml.

В ответ возвращается информация о состоянии счета. Отклонить можно только еще не оплаченный счет.

Получение списка отчетов

Отправив GET-запрос по адресу:

/admin/application_charges.xml

можно получить информацию о счетах, выставленных приложением. Поддерживаемые форматы: xml, json.

Пример xml документа:

<?xml version="1.0" encoding="UTF-8"?>
<application-charges type="array">
<application-charge>
<created-at type="datetime">2013-07-18T22:34:59+04:00</created-at>
<id type="integer">1</id>
<name>Sms 200</name>
<price type="decimal">180.0</price>
<return-url>http://host/url</return-url>
<status>pending</status>
<test type="boolean">false</test>
<updated-at type="datetime">2013-07-18T22:34:59+04:00</updated-at>
<confirmation-url>http://host.myinsales.ru/admin/invoices/2</confirmation-url>
</application-charge>
<application-charge>
<created-at type="datetime">2013-05-23T18:46:51+04:00</created-at>
<id type="integer">3</id>
<name>Sms 200</name>
<price type="decimal">180.0</price>
<return-url>http://host/url</return-url>
<status>accepted</status>
<test type="boolean">false</test>
<updated-at type="datetime">2013-05-27T11:27:37+04:00</updated-at>
<confirmation-url>http://host.myinsales.ru/admin/invoices/4</confirmation-url>
</application-charge>
</application-charges>

Оставить оценку

Оценка успешно отправлена.
Она будет проверена администратором перед публикацией.
Перед публикацией все оценки проходят модерацию

Оценки: 0

Остались вопросы?
Отправь тикет в техподдержку!
Еще нет своего магазина?
Создайте интернет-магазин на платформе InSales
Всё для продаж уже внутри!
Недавно просмотренные статьи