TransactionParams
Visão geral
Classe de dados que representa os parâmetros para solicitação de uma transação.
@Parcelize
data class TransactionParams(
val amount: BigDecimal,
val paymentType: PaymentType,
val installmentType: InstallmentType = InstallmentType.ONE_TIME,
val installmentNumber: Int = 1,
// Refund only
val nsuHost: String? = null,
val refund: Boolean = false,
val transactionTimestamp: Long? = null
) : Parcelable
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
amount | BigDecimal | Valor da transação em centavos. Ex: 1234 (R$12,34). |
paymentType | PaymentType | Tipo de pagamento. |
installmentType | InstallmentType | Tipo de parcelamento. |
installmentNumber | Int | Número de parcelas. |
nsuHost | String? | Identificador da transação no provedor de pagamentos. |
refund | Boolean | Indica se a transação é um reembolso. |
transactionTimestamp | Long? | Horário de efetuação da operação (em milisegundos desde a época). |
Regras e validações
- Se
refund == true, entãonsuHostetransactionTimestampsão obrigatórios. - Se
installmentType == ONE_TIME,installmentNumberdeve ser 1. - Se
installmentType == INSTALLMENTS,installmentNumberdeve ser maior que 1.
Se essas regras não forem seguidas, a classe lançará uma IllegalArgumentException.