Справочник APIАккаунт
Рассчитать стоимость
POST
/api/partner/v1/quote- Scope
cards:read
Считает, сколько будет стоить операция. Побочных эффектов нет: ничего не резервируется, карта не затрагивается.
amount_type выбирает, какую сторону вы задаёте. credit (по умолчанию): вы говорите, сколько должно прийти на карту, мы говорим, сколько спишем. debit: вы задаёте бюджет, мы говорим, сколько придёт на карту.
Округление — до 4 знаков и всегда в нашу пользу не более чем на 0.0001 USD, поэтому котировка никогда не занижает то, что вы заплатите.
Тело запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
amount | string (decimal) | нет | Десятичная строка в USD. Нужна для issue и topup; для close не используется |
amount_type | string | нет | credit (по умолчанию) — вы задаёте, сколько придёт на карту. debit — сколько спишется с баланса |
kind | string | нет | Что рассчитать. По умолчанию issue. (issue, topup, close) |
tariff_id | string (uuid) | да | Из GET /tariffs |
Пример запроса
BODY='{"kind":"issue","tariff_id":"3f6c2a1e-8b4d-4e2a-9c71-5d0e8f1a2b34","amount":"50","amount_type":"credit"}'
TS=$(date +%s)
SIG=$(printf '%s\n%s\n%s\n%s' "$TS" "POST" "/api/partner/v1/quote" "$BODY" \
| openssl dgst -sha256 -hmac "$PP_SECRET" -hex | awk '{print $NF}')
curl -sS -X POST "https://api.plativputi.com/api/partner/v1/quote" \
-H "X-Key-Id: $PP_KEY_ID" \
-H "X-Timestamp: $TS" \
-H "X-Signature: $SIG" \
-H "Content-Type: application/json" \
-d "$BODY"const res = await pp("POST", "/quote", {
"kind": "issue",
"tariff_id": "3f6c2a1e-8b4d-4e2a-9c71-5d0e8f1a2b34",
"amount": "50",
"amount_type": "credit"
});res = pp("POST", "/quote", body={
"kind": "issue",
"tariff_id": "3f6c2a1e-8b4d-4e2a-9c71-5d0e8f1a2b34",
"amount": "50",
"amount_type": "credit",
})$res = pp('POST', '/quote', [
'kind' => 'issue',
'tariff_id' => '3f6c2a1e-8b4d-4e2a-9c71-5d0e8f1a2b34',
'amount' => '50',
'amount_type' => 'credit',
]);pp() — функция-обёртка с подписью из раздела Аутентификация и подпись.
Ответ
200 OK — QuoteOutputBody
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
close_fee | string (decimal) | да | Фиксированная комиссия закрытия в составе debit |
credit | string (decimal) | да | Сколько придёт на карту |
debit | string (decimal) | да | Сколько всего спишется с баланса |
issue_fee | string (decimal) | да | Фиксированная комиссия выпуска в составе debit |
topup_fee | string (decimal) | да | Комиссия пополнения в составе debit |
Примеры ответа
{
"debit": "57.0464",
"credit": "50",
"issue_fee": "5",
"close_fee": "0",
"topup_fee": "2.0464"
}{
"title": "Not Found",
"status": 404,
"detail": "partner_tariff_not_available",
"errors": [
{
"message": "tariff_not_available",
"location": "error.code",
"value": "tariff_not_available"
}
]
}Ошибки
| HTTP | Код | Когда |
|---|---|---|
| 400 | validation_failed | amount_type: debit, а сумма не покрывает комиссию выпуска или фиксированную часть комиссии пополнения. |
| 404 | tariff_not_available | Тариф не найден, выключен или снят с продажи. Возьмите актуальный из GET /tariffs. |
Плюс общие ошибки подписи и лимитов — см. Ошибки.