Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

В дополнение ко всем методам в схеме "48 часов" необходимо реализовать:

  1. Закрепить в запросе PACKET причину В случае нехватки денежных средств за , запрос PACKET всегда должен возвращать status = -1
  2. Дополнительные методы от Платформы24: BALANCE и PACKETS
  3. Реализовать методы для оплаты через сохраненные кредитные карты в биллинге и возврата урла на платежную форму в метод возвращающий URL к платежной форме в платежной системе (форма должна быть адаптирована для ТВ устройств).

Описание изменений и новых запросов от Платформы24:

В запросе PACKET необходимо изменить возвращаемый ответ и закрепить случае нехватки денежных средств, запрос PACKET всегда должен возвращать status = -1 за причиной нехватки денежных средств для покупки пакета.

Запрос PACKETS при включении сразу нескольких подписок (при быстрых покупках через ТВ приложение) 

При получении этого запроса в биллинге провайдера необходимо проверить баланс абонента, в случае, если денежных средств хватает, списать их, через API Платформа24 подключить пакеты и вернуть положительный ответ

...

После получения status -1 Платформа24 пришлет запрос на получение актуального баланса абонента.

Запрос BALANCE для получения актуального баланса абонента

Тип запроса: POST

Запрос: http://<Интергационный урл>/balance?user_id=<Provider_uid>

...

Баланс должен быть в формате decimal, с разделителем точка, в случае другого ответа Платформа24 воспримет это как ошибку и будет невозможно произвести платеж.

Запрос на списание денежных средств с привязанной карты абонентов биллинге провайдера.

Для выполнения запросов списания с карты абонента необходимо получить или передать в Платформу24 приватный секретный ключ (PrivateSecurityKey), для вычисления SecurityKey

Тип запроса: POST

Запрос на: http://<Урл для списания с карты в биллинг>

Параметры в запросе:

UserID - ID у провайдера (provider_uid)
TransactionID - ID транзакции Платформы24
OrderDescription - Описание платежа
Amount - сумма платежа, в формате decimal, разделитель - точка. Вычисляется Платформой24 и расчета: стоимость пакетов - баланс абонента полученный из биллинга провайдера запросом balance.
Currency = RUB
SecurityKey - вычисляемое поле

SecurityKey вычисляется по формуле SHA1("UserID={UserID}&Amount={Amount}&Currency={Currency}&OrderDescription={OrderDescription}&TransactionID={TransactionID}&PrivateSecurityKey={PrivateSecurityKey}").hexdigest(), все параметры в кодировке UTF-8.

При получении данного запроса биллингу необходимо проверить, есть ли привязанная карта у абонента для оплаты и ответить в Платформу24, далее в асинхронном режиме произвести списание с карты через платежную систему. Максимальное время ожидание ответа со стороны Платформа24 - 10 секунд.

Положительный ответ в json формате:

 {"status":1}

В случае отсутствия привязанной карты ожидается ответ в json формате:

...

Запрос на получение урла на платежную форму в платежной системе

Для выполнения списания денежных средств с абонента, если у него нет привязанных карт через форму оплаты через тв приложение, Платформа24 сделает запрос в биллинг для получения урла на платежную форму в платежной системе.

...

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

Отправка статуса транзакции в Платформу24

Для выполнения запросов списания с карты абонента необходимо получить или передать в Платформу24 приватный секретный ключ (PrivateSecurityKey), для вычисления SecurityKey

...