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

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

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

Все запросы и ответы передаются в формате 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
  • merchant_order_id — Необязательный параметр. ID платежа в системе магазина. До 100 знаков. — ORDR123
  • test — Необязательный параметр. Нужен для тестирования платежей. Булево значение true или false. В личном кабинете, чтобы увидеть тестовые платежи, нажмите в статистике «Показать тестовые платежи.» — True

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

Запрос

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

Ответ

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

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

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

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

  • sign - Подпись. Генерируется на стороне клиента, проверятся сервером 70b31f5e60b0cb2ca5a00aa8e1533b92
  • order_id — ID заказа — 4d2c8957f612fc6f3c0003e4
  • order_status — Статус заказа — failure
  • merchant_order_id — ID платежа в системе мерчанта. До 100 знаков. — ORDR123
  • merchant_price - сумма платежа — 100.00
  • extended_state - развернутое описание причины ошибки (не обязательное поле) — Услуга недоступна для абонента
  • error_code - код ошибки (не обязательное поле) — 10
  • charged_sum - сумма, зачисленная на баланс в результате оплаты — 87.00
  • phone - номер телефона абонента в международном стандарте — 79012345678

Возможные коды ошибки и их описание

  • 1 - Нет ответа от сервера оператора
  • 2 - Ошибка на биллинге оператора
  • 3 - Лимит по количеству платежей за сутки
  • 4 - Лимит по сумме оплаты за сутки
  • 5 - Лимит по сумме оплаты за неделю
  • 6 - Лимит по минимальному остатку на счете
  • 7 - Абонент отказался от покупки
  • 8 - У абонента недостаточно средств
  • 9 - Предыдущий платеж еще не завершен
  • 10 - Услуга недоступна для абонента
  • 11 - Время ожидания подтверждения истекло

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

Запрос

{
              "sign": "70b31f5e60b0cb2ca5a00aa8e1533b92", 
              "order_id": "4d2c8957f612fc6f3c0003e4", 
              "order_status": "failure",
              "phone": "79012345678",
              "merchant_price": "100.00",
              "charged_sum": "87.00",
              "extended_state": "Услуга недоступна для абонента",
              "error_code": 10,
              "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 — Заказ не был оплачен
  • pending — Заказ обрабатывается

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

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

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

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

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