damsel/proto/user_interaction.thrift
Andrew Mayorov 827f692653
Update declarations to refer to vality.dev namespace (#4)
* Switch CODEOWNERS
* Drop few dead links
* Update gitignore rules to ignore generated files
2022-01-06 13:30:52 +03:00

95 lines
2.9 KiB
Thrift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace java dev.vality.damsel.user_interaction
include "base.thrift"
/**
* Строковый шаблон согласно [RFC6570](https://tools.ietf.org/html/rfc6570) Level 4.
*/
typedef string Template
/**
* Форма, представленная набором полей и их значений в виде строковых шаблонов.
*/
typedef map<string, Template> Form
typedef string CryptoAddress
typedef string CryptoCurrencySymbolicCode
struct QrCode {
/** Содержимое QR-кода, записанное в виде потока байт */
1: required binary payload
}
struct CryptoCash {
1: required base.Rational crypto_amount
2: required CryptoCurrencySymbolicCode crypto_symbolic_code
}
/**
* Запрос HTTP, пригодный для отправки средствами браузера.
*/
union BrowserHTTPRequest {
1: BrowserGetRequest get_request
2: BrowserPostRequest post_request
}
struct BrowserGetRequest {
/** Шаблон URI запроса, набор переменных указан ниже. */
1: required Template uri
}
struct BrowserPostRequest {
/** Шаблон URI запроса, набор переменных указан ниже. */
1: required Template uri
2: required Form form
}
/**
* Платеж через терминал.
*/
struct PaymentTerminalReceipt {
/** Сокращенный идентификатор платежа и инвойса (spid). */
1: required string short_payment_id;
/**
* Дата истечения срока платежа.
* После этой даты платеж будет отклонен.
*/
2: required base.Timestamp due
}
struct CryptoCurrencyTransferRequest {
1: required CryptoAddress crypto_address
2: required CryptoCash crypto_cash
}
struct QrCodeDisplayRequest {
1: required QrCode qr_code
}
union UserInteraction {
/**
* Требование переадресовать user agent пользователя, в виде HTTP-запроса.
*
* В шаблонах в структуре HTTP-запроса могут встретиться следующие переменные:
* - `termination_uri`
* URI, на который следует переадресовать user agent пользователя по завершении
* взаимодействия.
*/
1: BrowserHTTPRequest redirect
/**
* Информация о платежной квитанции, которую нужно оплатить вне нашей системы
*/
2: PaymentTerminalReceipt payment_terminal_reciept
/**
* Запрос на перевод криптовалюты
*/
3: CryptoCurrencyTransferRequest crypto_currency_transfer_request
/**
* Запрос на отображение пользователю QR-кода
*/
4: QrCodeDisplayRequest qr_code_display_request
}