Онлайн-касса

Онлайн-касса — это построенная нами веб-страница, на которой можно принимать оплату онлайн. Для принятия оплаты создайте счёт.

На странице кассы пользователь увидит счёт и форму для ввода реквизитов метода оплаты счёта. После успешной оплаты (и в случае невозможности оплаты), клиенту API может быть отправлен вебхук с информацией об оплате счёта.

Попробуйте оплату счёта на демо-странице, используя карты песочницы.


После создания счёта необходимо перенаправить пользователя на страницу оплаты, передав в параметре URL invoice идентификатор созданного счёта.

Адрес страницы оплаты

https://checkout.alifpay.uz/?invoice=aa70817a-dfcf-4c6e-9332

POST/invoice

Создание счёта

Создаёт счёт для оплаты покупки указанных товаров.

Возвращает уникальный идентификатор счёта, который можно использовать для просмотра счёта на веб-странице или через метод API.

Параметры

  • Name
    items
    Type
    array обязательный
    Description

    Список товаров, включённых в счёт. Если разбивка на товары не предусмотрена и нет необходимости в регистрации фискальных чеков, в этом списке достаточно передать один товар на всю сумму для оплаты.

  • Name
    cancel_url
    Type
    string
    Description

    Валидный URL страницы, на которую будет совершен переход, если пользователь решит прервать оплату (ссылка "Вернуться на сайт партнёра"). Должен начинаться с https://.

  • Name
    redirect_url
    Type
    string
    Description

    Валидный URL страницы, на которую будет совершен переход после успешной оплаты. Должен начинаться с https://.

  • Name
    phone
    Type
    string
    Description

    Номер телефона покупателя. Используется для регистрации фискального чека. Состоит из 12 цифр, должен начинаться с 998.

  • Name
    webhook_url
    Type
    string
    Description

    Валидный URL, на который будет отправлен HTTP-запрос после успешной оплаты. Должен начинаться с https://. См. вебхуки.

  • Name
    hold
    Type
    object бета-версия
    Description

    Параметры холдирования средств.

    Показать атрибуты
    • Name
      enabled
      Type
      boolean бета-версия
      Description

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

      Использование этого параметра доступно только в оплатах рассрочкой. Свяжитесь с разработчиками для уточнения деталей использования.

  • Name
    meta
    Type
    object
    Description

    Любые метаданные в формате валидного JSON.

  • Name
    timeout
    Type
    integer
    Description

    Количество секунд до истечения срока оплаты счёта. По истечении этого времени счёт перестаёт быть доступным для оплаты.

  • Name
    receipt
    Type
    boolean
    Description

    Флаг включения регистрации фискальных чеков.

  • Name
    payouts
    Type
    array
    Description

    Параметры для распределения списанных средств в пользу других мерчантов, если распределение требуется. Общая сумма распределения не должна превышать сумму счёта.

    Оставшаяся после распределения сумма средств направляется мерчанту, создавшему счёт.

    Показать атрибуты
    • Name
      amount
      Type
      integer
      Description

      Сумма, предназначенная для мерчанта.

    • Name
      tin
      Type
      string
      Description

      ИНН мерчанта (9 цифр). Указывается, только если не указан ПИНФЛ.

    • Name
      pin
      Type
      string
      Description

      ПИНФЛ мерчанта (14 цифр). Указывается, только если не указан ИНН.

Товар

  • Name
    name
    Type
    string обязательный
    Description

    Название.

  • Name
    marking_code
    Type
    string
    Description

    Код маркировки. Обязательный для некоторых ИКПУ. Состоит из 32 символов, первые 16 символов — цифры.

  • Name
    spic
    Type
    string
    Description

    ИКПУ-код. Обязательный, если receipt: true.

  • Name
    amount
    Type
    integer обязательный
    Description

    Количество экземпляров (натуральное число).

  • Name
    price
    Type
    integer обязательный
    Description

    Стоимость в тийинах (натуральное число). Суммарная стоимость всех товаров в счёте с учётом скидок должна быть в диапазоне от 50000 до 20000000000 тийин для одного списания средств у покупателя.

  • Name
    discount
    Type
    integer
    Description

    Полная сумма скидки для товара в тийинах, если предоставляется.

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

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

  • Name
    vat_percent
    Type
    integer
    Description

    Процент НДС для товара (сумма НДС вычисляется после вычета скидки).

  • Name
    tin
    Type
    string
    Description

    ИНН комитента для регистрации чека. Состоит из 9 цифр. Указывается, только если не указан ПИНФЛ.

  • Name
    pin
    Type
    string
    Description

    ПИНФЛ комитента для регистрации чека. Состоит из 14 цифр. Указывается, только если не указан ИНН.

Атрибуты ответа

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

  • Name
    id
    Type
    string
    Description

    Уникальный идентификатор счёта.

  • Name
    created_at
    Type
    string
    Description

    Время создания счёта в формате ISO-8601.

  • Name
    timeout
    Type
    integer
    Description

    Количество секунд до истечения срока действия счёта.

  • Name
    hold
    Type
    object бета-версия
    Description

    Параметры холдирования средств.

    Показать атрибуты
    • Name
      enabled
      Type
      boolean бета-версия
      Description

      Флаг включения холдирования.

Запрос

POST
/invoice
{
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "receipt": true,
  "phone": "998123456789",
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "timeout": 86400,
  "payouts": [
    {
      "amount": 3000000,
      "tin": "306781762"
    }
  ],
  "meta": {
    "extra_id": "any extra data"
  }
}

Ответ

{
  "id": "aa70817a-dfcf-4c6e-9332",
  "price": 8800000,
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "receipt": true,
  "timeout": 86400,
  "created_at": "2023-08-04T08:34:52Z",
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "meta": {
    "extra_id": "any extra data"
  }
}

POST/getInvoice

Получение счёта

Возвращает информацию о счёте, как при создании счёта, список ссылок на фискальные чеки (если "receipt": true) и состояние оплаты в поле payment.

Подробнее о структуре оплаты.

Параметры

  • Name
    id
    Type
    string обязательный
    Description

    Уникальный идентификатор счёта, полученный при создании счёта.

Запрос

POST
/getInvoice
{
  "id": "aa70817a-dfcf-4c6e-9332"
}

Ответ

{
  "id": "aa70817a-dfcf-4c6e-9332",
  "price": 8800000,
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "receipt": true,
  "timeout": 86400,
  "created_at": "2023-08-04T08:34:52Z",
  "payment": {
    "id": "035033da-4065-4c5b-adac",
    "amount": 8800000,
    "status": "SUCCEEDED",
    "method": {
      "type": "CARD",
      "payload": {
        "pan": "123411******1111"
      }
    },
    "payouts": [
      {
        "amount": 3000000,
        "tin": "306781762"
      }
    ],
    "receipt": {
      "results": [
        {
          "merchant_id": 105,
          "url": "https://ofd.soliq.uz/epi?t=EP000000000001&r=001&c=20060102000000&s=000000000001",
          "refund": false
        }
      ]
    }
  },
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "merchant": {
    "id": 105,
    "name": "Example Shop"
  },
  "meta": {
    "extra_id": "any extra data"
  }
}

POST/refundInvoice

Отмена оплаты счёта

Отменяет оплату счёта.

Возвращает средства покупателю и регистрирует фискальный чек возврата, если ранее был зарегистрирован соответствующий чек оплаты. Метод возвращает информацию о счёте и состояние оплаты.

Подробнее о структуре оплаты.

Параметры

  • Name
    id
    Type
    string обязательный
    Description

    Уникальный идентификатор счёта.

Запрос

POST
/refundInvoice
{
  "id": "aa70817a-dfcf-4c6e-9332"
}

Ответ

{
  "id": "aa70817a-dfcf-4c6e-9332",
  "price": 8800000,
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "receipt": true,
  "timeout": 86400,
  "created_at": "2023-08-04T08:34:52Z",
  "payment": {
    "id": "035033da-4065-4c5b-adac",
    "amount": 8800000,
    "status": "REVERTED",
    "method": {
      "type": "CARD",
      "payload": {
        "pan": "123411******1111"
      }
    },
    "payouts": [
      {
        "amount": 3000000,
        "tin": "306781762"
      }
    ]
  },
  "receipts": [
    {
      "url": "https://ofd.soliq.uz/epi?t=EP000000000001&r=001&c=20060102000000&s=000000000001",
      "refund": false
    }
  ],
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "merchant": {
    "name": "Example Shop"
  },
  "meta": {
    "extra_id": "any extra data"
  }
}

POST/chargeInvoiceHold

Подтверждение оплаты   бета-версия

Подтверждение списания захолдированных средств по идентификатору счёта.

Параметры

  • Name
    id
    Type
    string обязательный
    Description

    Уникальный идентификатор счёта, полученный при создании счёта.

  • Name
    items
    Type
    array обязательный
    Description

    Список товаров, включённых в счёт. Если разбивка на товары не предусмотрена и нет необходимости в регистрации фискальных чеков, в этом списке достаточно передать один товар на всю сумму для оплаты.

    Набор параметров идентичен набору в методе создании счёта.

Запрос

POST
/chargeInvoiceHold
{
  "id": "90c54437-0d14-4ba5-be32",
  "items": [
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ]
}

Ответ

{
  "id": "aa70817a-dfcf-4c6e-9332",
  "price": 8800000,
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "timeout": 86400,
  "created_at": "2023-08-04T08:34:52Z",
  "payment": {
    "id": "035033da-4065-4c5b-adac",
    "amount": 1000000,
    "status": "SUCCEEDED",
    "method": {
      "type": "MOBI",
      "payload": {
        "bml": true,
        "phone": "998998217769",
        "txn_id": "a5fc37e4-58f1-4d00-895f",
        "user_id": "1",
        "source": "UZCARD"
      }
    }
  },
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "meta": {
    "extra_id": "any extra data"
  }
}

POST/_payInvoiceWithMobi

Имитация оплаты через приложение mobi   бета-версия

Имитация оплаты счёта через приложение alif mobi.

Доступен только в тестовой среде. В ответе возвращается объект счёта.

Параметры

  • Name
    invoice_id
    Type
    string обязательный
    Description

    Уникальный идентификатор счёта, полученный при создании счёта.

  • Name
    installment
    Type
    boolean
    Description

    При указании значения true счёт будет оплачен рассрочкой. В остальных случаях – картой.

Запрос

POST
/_payInvoiceWithMobi
{
  "invoice_id": "aa70817a-dfcf-4c6e-9332",
  "installment": true
}

Ответ

{
  "id": "aa70817a-dfcf-4c6e-9332",
  "price": 8800000,
  "items": [
    {
      "name": "Mug v556-3.25 (blue)",
      "marking_code": "1545637",
      "spic": "08517001001000000",
      "amount": 2,
      "price": 4000000,
      "discount": 200000,
      "vat_percent": 12
    },
    {
      "name": "Orbit White (XL)",
      "spic": "10399002001000000",
      "amount": 1,
      "price": 1000000
    }
  ],
  "timeout": 86400,
  "created_at": "2023-08-04T08:34:52Z",
  "payment": {
    "id": "035033da-4065-4c5b-adac",
    "amount": 1000000,
    "status": "SUCCEEDED",
    "method": {
      "type": "MOBI",
      "payload": {
        "bml": true,
        "phone": "998998217769",
        "txn_id": "a5fc37e4-58f1-4d00-895f",
        "user_id": "1",
        "source": "UZCARD"
      }
    }
  },
  "cancel_url": "https://example.uz/purchase/123",
  "redirect_url": "https://example.uz/purchase/123",
  "webhook_url": "https://example.uz/api/purchase/123/approval",
  "meta": {
    "extra_id": "any extra data"
  }
}

POST/sendInvoice

Отправка счета в уведомлении

Отправляет СМС или push-уведомление в приложении Alif со ссылкой на страницу оплаты счёта.

Параметры

  • Name
    id
    Type
    string обязательный
    Description

    Уникальный идентификатор счёта, полученный при создании счёта.

  • Name
    phone
    Type
    string обязательный
    Description

    Номер телефона, на который будет отправлена ссылка на оплату счёта.

Запрос

POST
/sendInvoice
{
  "id": "90c54437-0d14-4ba5-be32",
  "phone": "998991234567"
}

Ответ

{
  "id": "90c54437-0d14-4ba5-be32"
}

Вебхуки


Оплата счёта

Отправляется при успешном или проваленном завершении оплаты.

В теле вебхука содержится структура счёта.

Подробнее про вебхуки

Тело вебхука

{
  "created_at": "2023-08-04T08:34:52Z",
  "id": "aa70817a-dfcf-4c6e-9332",
  "items": [
    {
      "amount": 2,
      "discount": 200000,
      "name": "Mug v556-3.25 (blue)",
      "price": 4000000,
      "vat_percent": 12
    },
    {
      "amount": 1,
      "name": "Orbit White (XL)",
      "price": 1000000
    }
  ],
  "payment": {
    "id": "ea898fef-6bbc-495e-ad78",
    "amount": 8800000,
    "status": "SUCCEEDED",
    "method": {
      "type": "CARD",
      "payload": {
        "pan": "123411******1111"
      }
    }
  },
  "price": 8800000,
  "receipt": false,
  "timeout": 86400
}