Сервис "мобильная коммерция" от AvisoSMS

Версия протокола 1.3

Создание заказа

Все запросы и ответы передаются в формате JSON и кодировке UTF-8 в теле POST запроса. Для инициации платежа необходимо передать запрос на https://api.avisosms.ru/mc/create_order/

При создании платежа или запросе статуса вы должны передать ключ «sign», значение которого соответствует результату хеширования по алгоритму md5 строки, образованной конкатенацией значений phone, service_id, username и SECURE_HASH (высылаемый по почте при создании сервиса в личном кабинете Авизосмс) в указанном порядке.

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

  • username — Ваше имя пользователя в системе AvisoSMS — ivan86
  • sign - Подпись. Генерируется на стороне клиента, проверятся сервером 70b31f5e60b0cb2ca5a00aa8e1533b92
  • service_id — ID сервиса. Указывается в личном кабинете — 1
  • description — Описание заказа. Максимальная длина 100 символов, минимальная - 10 — Билет в кинотеатр Пушкинский 23:30
  • price — Сумма заказа. Дробные числа указываются через точку. Максимум до сотых долей — 100
  • success_message — Сообщение, отправляемое пользователю, в случае успешного завершения оплаты — Благодарим за оплату, ваш код брони 62231
  • phone — Телефон абонента — 79161235467
  • subscribers_fee — Необязательный параметр. Выбор плательщика комиссии. Комиссию за транзакцию платит абонент (true) или магазин (false). По умолчанию false. — false
  • merchant_order_id — Необязательный параметр. ID платежа в системе магазина. До 100 знаков. — ORDR123
  • test — Необязательный параметр. Нужен для тестирования платежей. Булево значение true или false. В личном кабинете, чтобы увидеть тестовые платежи, нажмите в статистике «Показать тестовые платежи.» — True

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

Запрос

{
              "username": "ivan86",
              "sign": "70b31f5e60b0cb2ca5a00aa8e1533b92",
              "description": "Билет в кинотеатр Пушкинский 23:30",
              "price": 100,
              "success_message": "Благодарим за оплату, ваш код брони 62231",
              "phone": "7161234567",
              "service_id": "1",
              "subscribers_fee": false,
              "merchant_order_id": "ORDER1",
              "test": true
}

Ответ

  • status — Статус обработки команды — 0
  • order_id — ID заказа — 4d2c8957f612fc6f3c0003e4
Пример ответа
{
              "order_id": "4d2c8957f612fc6f3c0003e4", 
              "status": 0 
}

Уведомление о статусе

Запрос инициализируется платформой AvisoSMS и передаётся на URL, указанный вами в настройках сервиса.

При уведомлении о статусе платежа Вам передаётся ключ «sign», значение которого соответствует результату хеширования по алгоритму md5 строки, образованной конкатенацией значений phone, order_status, service_id, username и SECURE_HASH сервиса в указанном порядке, в нижнем регистре.

  • sign - Подпись. Генерируется на стороне клиента, проверятся сервером 70b31f5e60b0cb2ca5a00aa8e1533b92
  • order_id — ID заказа — 4d2c8957f612fc6f3c0003e4
  • order_status — Статус заказа — success
  • merchant_order_id — ID платежа в системе мерчанта. До 100 знаков. — ORDR123
  • merchant_price - сумма платежа
  • extended_state - Причина ошибки. Может быть:
  1. failure - Не оплачен
  2. unavailable - Услуга недоступна для абонента
  3. timeout - Время ожидания ответа истекло
  4. cancel - Абонент отказался от покупки
  5. insufficient funds - У абонента недостаточно средств
  • charged_sum - сумма, зачисленная на баланс в результате оплаты
  • phone - номер телефона абонента в международном стандарте

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

Запрос

{
              "sign": "70b31f5e60b0cb2ca5a00aa8e1533b92", 
              "order_id": "4d2c8957f612fc6f3c0003e4", 
              "order_status": "success",
              "phone": "79012345678",
              "merchant_price": "100.00",
              "charged_sum": "87.00",
              "extended_state": "insufficient funds",
              "merchant_order_id": "ORDER1"
}

Ответ

  • status — Статус обработки команды — 0

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

{
              "status": 0 
}

Запрос статуса заказа

Для получения статуса платежа необходимо передать запрос на https://api.avisosms.ru/mc/get_order_info/

При создании платежа или запросе статуса вы должны передать ключ «sign», значение которого соответствует результату хеширования по алгоритму md5 строки, образованной конкатенацией значений phone, service_id, username и SECURE_HASH сервиса в указанном порядке, в нижнем регистре.

  • username — Ваше имя пользователя в системе AvisoSMS — ivan86
  • sign - Подпись. Генерируется на стороне клиента, проверятся сервером 70b31f5e60b0cb2ca5a00aa8e1533b92
  • service_id — ID сервиса. Указывается в личном кабинете — 1
  • order_id — ID заказа — 4d2c8957f612fc6f3c0003e4

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

Запрос

{
              "username": "ivan86",
              "sign": "70b31f5e60b0cb2ca5a00aa8e1533b92",
              "service_id": "1",
              "order_id": "4d2c8957f612fc6f3c0003e4"
}

Ответ

  • status — Статус обработки команды — 0
  • order_status — Статус заказа — success
Пример ответа
{
              "status": 0,
              "order_status": "process" 
}

Возможные статусы заказов

  • success — Заказ успешно оплачен
  • failure — Заказ не был оплачен
  • cancel — Заказ был отменён пользователем со стороны сотового оператора
  • pending — Заказ обрабатывается

Возможные статусы запросов

  • 0 — Нет ошибок. Операция произведена успешно.
  • 1 — Неожиданная ошибка. Этой ошибки быть не должно.
  • 2 — Эта ошибка может возникнуть, если для данного номера не доступна услуга мобильной коммерции.
  • 3 — Некоторые параметры переданы неверно или не переданы.
  • 4 — Ошибка авторизации.
  • 5 - Ошибка проверки цифровой подписи.

PHP класс для работы с мобильной коммерцией

Пример кода на PHP для интеграцией мобильных платежей

mc.txt · Последние изменения: 2012/04/13 17:05 — ash
Вы посетили: start рассылка_sms mc
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Вернуться на сайт AvisoSMS | Сайт программы SMS-Шлюз