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

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

Выставление счёта позволяет продавцу или поставщику товаров и услуг составлять и отправлять покупателю счет на оплату на email.

Также помимо выставления счета предоставляется возможность оплаты по QR-коду, платежи, при которых клиенту требуется отсканировать QR-код.
Схема взаимодействия
схема взаимодействия при выставлении счета
Авторизация

Авторизация запроса происходит путем формирования и передачи JWS токена запроса в заголовке X-JWS-Signature. JWS это часть токена JWT, которая содержит только header и signature.

Формат передаваемых данных application/json.

Пример формирования подписи
Тело запроса:

{
    "order_id": "828cf71d-a447-4a67-a149-c1df8bc197ca",
    "merchant_id": "123456",
    "amount": 100,
    "description": "Счет за услуги",
    "invoice_method": "qr",
    "currency": "KZT"
}

Заголовок JWT токена:
Тело запроса:

{
  "uri": "/v5/merchant/invoice/init",
  "merchant_id": "123456",
  "method": "POST",
  "params": "",
  "alg": "HS512"
}

Ключ мерчанта может быть secret_key. В этом случае может быть сформирован следующий JWT токен:
Тело запроса:

eyJwYXRoIjoiL3Y1L21lcmNoYW50L2ludm9pY2UvaW5pdCIsIm1lcmNoYW50X2lkIjoxMjM0NTYsIm1ldGhvZCI6IlBPU1QiLCJwYXJhbXMiOiIiLCJhbGciOiJIUzUxMiJ9.eyJvcmRlcl9pZCI6IjgyOGNmNzFkLWE0NDctNGE2Ny1hMTQ5LWMxZGY4YmMxOTdjYSIsIm1lcmNoYW50X2lkIjoxMjM0NTYsImFtb3VudCI6MTAwLCJkZXNjcmlwdGlvbiI6ItCh0YfQtdGCINC30LAg0YPRgdC70YPQs9C4IiwiaW52b2ljZV9tZXRob2QiOiJxciIsImN1cnJlbmN5IjoiS1pUIn0.wCwFCAmxN0nbTm6mad8GxowIjgkCwfF7IAy2ijO9thLjsZFXnS4K_I4NPnXjkTFTMnEzqjk8rtIVmtf7NbGyvg

Мерчанту требуется вырезать из JWT токена часть, содержащую payload и получить следующую строку:
Тело запроса:

eyJwYXRoIjoiL3Y1L21lcmNoYW50L2ludm9pY2UvaW5pdCIsIm1lcmNoYW50X2lkIjoxMjM0NTYsIm1ldGhvZCI6IlBPU1QiLCJwYXJhbXMiOiIiLCJhbGciOiJIUzUxMiJ9..wCwFCAmxN0nbTm6mad8GxowIjgkCwfF7IAy2ijO9thLjsZFXnS4K_I4NPnXjkTFTMnEzqjk8rtIVmtf7NbGyvg

Эта строка является подписью запроса и должна быть передана в параметре заголовка запроса X-JWS-Signature.

Поддерживаемый алгоритм шифрования подписи HS512.
Выставить счёт
Вы инициируете выставление счёта, отправив запрос на v5/merchant/invoice/init

Инициализация счёта
URL запроса:
POST https://api.freedompay.kg/v5/merchant/invoice/init

Поля запроса:
Время жизни счёта 5 минут. Если попыток оплаты не было в течение 5 минут, счёт переходит в статус - incomplete
Информация по счёту

Получения информации по счёту.

URL запроса:
POST https://api.freedompay.kg/v5/merchant/invoice/info
Поля запроса:
Поля ответа:
Оплата счёта

Вы осуществляете оплату счёта с помощью токена отправив запрос на /v5/merchant/invoice/pay

URL запроса:

POST https://api.freedompay.kg/v5/merchant/invoice/pay

Поля запроса:
Поля ответа:
Получить статус по счёту

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

URL запроса:

POST https://api.freedompay.kg/v5/merchant/invoice/status

Поля запроса:
Поля ответа: