com.lithic.api.models.FinancialTransaction.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lithic-java-core Show documentation
Show all versions of lithic-java-core Show documentation
The Lithic Developer API is designed to provide a predictable programmatic
interface for accessing your Lithic account through an API and transaction
webhooks. Note that your API key is a secret and should be treated as such.
Don't share it with anyone, including us. We will never ask you for it.
// File generated from our OpenAPI spec by Stainless.
package com.lithic.api.models
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.lithic.api.core.Enum
import com.lithic.api.core.ExcludeMissing
import com.lithic.api.core.JsonField
import com.lithic.api.core.JsonMissing
import com.lithic.api.core.JsonValue
import com.lithic.api.core.NoAutoDetect
import com.lithic.api.core.toUnmodifiable
import com.lithic.api.errors.LithicInvalidDataException
import java.time.OffsetDateTime
import java.util.Objects
import java.util.Optional
@JsonDeserialize(builder = FinancialTransaction.Builder::class)
@NoAutoDetect
class FinancialTransaction
private constructor(
private val category: JsonField,
private val created: JsonField,
private val currency: JsonField,
private val descriptor: JsonField,
private val events: JsonField>,
private val pendingAmount: JsonField,
private val result: JsonField,
private val settledAmount: JsonField,
private val status: JsonField,
private val token: JsonField,
private val updated: JsonField,
private val additionalProperties: Map,
) {
private var validated: Boolean = false
/**
* Status types:
* - `CARD` - Issuing card transaction.
* - `ACH` - Transaction over ACH.
* - `TRANSFER` - Internal transfer of funds between financial accounts in your program.
*/
fun category(): Category = category.getRequired("category")
/** Date and time when the financial transaction first occurred. UTC time zone. */
fun created(): OffsetDateTime = created.getRequired("created")
/** 3-digit alphabetic ISO 4217 code for the settling currency of the transaction. */
fun currency(): String = currency.getRequired("currency")
/**
* A string that provides a description of the financial transaction; may be useful to display
* to users.
*/
fun descriptor(): String = descriptor.getRequired("descriptor")
/** A list of all financial events that have modified this financial transaction. */
fun events(): List = events.getRequired("events")
/**
* Pending amount of the transaction in the currency's smallest unit (e.g., cents), including
* any acquirer fees. The value of this field will go to zero over time once the financial
* transaction is settled.
*/
fun pendingAmount(): Long = pendingAmount.getRequired("pending_amount")
/**
* APPROVED transactions were successful while DECLINED transactions were declined by user,
* Lithic, or the network.
*/
fun result(): Result = result.getRequired("result")
/**
* Amount of the transaction that has been settled in the currency's smallest unit (e.g.,
* cents), including any acquirer fees. This may change over time.
*/
fun settledAmount(): Long = settledAmount.getRequired("settled_amount")
/**
* Status types:
* - `DECLINED` - The transaction was declined.
* - `EXPIRED` - The authorization as it has passed its expiration time. Card transaction only.
* - `PENDING` - The transaction is expected to settle.
* - `RETURNED` - The transaction has been returned.
* - `SETTLED` - The transaction is completed.
* - `VOIDED` - The transaction was voided. Card transaction only.
*/
fun status(): Status = status.getRequired("status")
/** Globally unique identifier. */
fun token(): String = token.getRequired("token")
/** Date and time when the financial transaction was last updated. UTC time zone. */
fun updated(): OffsetDateTime = updated.getRequired("updated")
/**
* Status types:
* - `CARD` - Issuing card transaction.
* - `ACH` - Transaction over ACH.
* - `TRANSFER` - Internal transfer of funds between financial accounts in your program.
*/
@JsonProperty("category") @ExcludeMissing fun _category() = category
/** Date and time when the financial transaction first occurred. UTC time zone. */
@JsonProperty("created") @ExcludeMissing fun _created() = created
/** 3-digit alphabetic ISO 4217 code for the settling currency of the transaction. */
@JsonProperty("currency") @ExcludeMissing fun _currency() = currency
/**
* A string that provides a description of the financial transaction; may be useful to display
* to users.
*/
@JsonProperty("descriptor") @ExcludeMissing fun _descriptor() = descriptor
/** A list of all financial events that have modified this financial transaction. */
@JsonProperty("events") @ExcludeMissing fun _events() = events
/**
* Pending amount of the transaction in the currency's smallest unit (e.g., cents), including
* any acquirer fees. The value of this field will go to zero over time once the financial
* transaction is settled.
*/
@JsonProperty("pending_amount") @ExcludeMissing fun _pendingAmount() = pendingAmount
/**
* APPROVED transactions were successful while DECLINED transactions were declined by user,
* Lithic, or the network.
*/
@JsonProperty("result") @ExcludeMissing fun _result() = result
/**
* Amount of the transaction that has been settled in the currency's smallest unit (e.g.,
* cents), including any acquirer fees. This may change over time.
*/
@JsonProperty("settled_amount") @ExcludeMissing fun _settledAmount() = settledAmount
/**
* Status types:
* - `DECLINED` - The transaction was declined.
* - `EXPIRED` - The authorization as it has passed its expiration time. Card transaction only.
* - `PENDING` - The transaction is expected to settle.
* - `RETURNED` - The transaction has been returned.
* - `SETTLED` - The transaction is completed.
* - `VOIDED` - The transaction was voided. Card transaction only.
*/
@JsonProperty("status") @ExcludeMissing fun _status() = status
/** Globally unique identifier. */
@JsonProperty("token") @ExcludeMissing fun _token() = token
/** Date and time when the financial transaction was last updated. UTC time zone. */
@JsonProperty("updated") @ExcludeMissing fun _updated() = updated
@JsonAnyGetter
@ExcludeMissing
fun _additionalProperties(): Map = additionalProperties
fun validate(): FinancialTransaction = apply {
if (!validated) {
category()
created()
currency()
descriptor()
events().forEach { it.validate() }
pendingAmount()
result()
settledAmount()
status()
token()
updated()
validated = true
}
}
fun toBuilder() = Builder().from(this)
companion object {
@JvmStatic fun builder() = Builder()
}
class Builder {
private var category: JsonField = JsonMissing.of()
private var created: JsonField = JsonMissing.of()
private var currency: JsonField = JsonMissing.of()
private var descriptor: JsonField = JsonMissing.of()
private var events: JsonField> = JsonMissing.of()
private var pendingAmount: JsonField = JsonMissing.of()
private var result: JsonField = JsonMissing.of()
private var settledAmount: JsonField = JsonMissing.of()
private var status: JsonField = JsonMissing.of()
private var token: JsonField = JsonMissing.of()
private var updated: JsonField = JsonMissing.of()
private var additionalProperties: MutableMap = mutableMapOf()
@JvmSynthetic
internal fun from(financialTransaction: FinancialTransaction) = apply {
this.category = financialTransaction.category
this.created = financialTransaction.created
this.currency = financialTransaction.currency
this.descriptor = financialTransaction.descriptor
this.events = financialTransaction.events
this.pendingAmount = financialTransaction.pendingAmount
this.result = financialTransaction.result
this.settledAmount = financialTransaction.settledAmount
this.status = financialTransaction.status
this.token = financialTransaction.token
this.updated = financialTransaction.updated
additionalProperties(financialTransaction.additionalProperties)
}
/**
* Status types:
* - `CARD` - Issuing card transaction.
* - `ACH` - Transaction over ACH.
* - `TRANSFER` - Internal transfer of funds between financial accounts in your program.
*/
fun category(category: Category) = category(JsonField.of(category))
/**
* Status types:
* - `CARD` - Issuing card transaction.
* - `ACH` - Transaction over ACH.
* - `TRANSFER` - Internal transfer of funds between financial accounts in your program.
*/
@JsonProperty("category")
@ExcludeMissing
fun category(category: JsonField) = apply { this.category = category }
/** Date and time when the financial transaction first occurred. UTC time zone. */
fun created(created: OffsetDateTime) = created(JsonField.of(created))
/** Date and time when the financial transaction first occurred. UTC time zone. */
@JsonProperty("created")
@ExcludeMissing
fun created(created: JsonField) = apply { this.created = created }
/** 3-digit alphabetic ISO 4217 code for the settling currency of the transaction. */
fun currency(currency: String) = currency(JsonField.of(currency))
/** 3-digit alphabetic ISO 4217 code for the settling currency of the transaction. */
@JsonProperty("currency")
@ExcludeMissing
fun currency(currency: JsonField) = apply { this.currency = currency }
/**
* A string that provides a description of the financial transaction; may be useful to
* display to users.
*/
fun descriptor(descriptor: String) = descriptor(JsonField.of(descriptor))
/**
* A string that provides a description of the financial transaction; may be useful to
* display to users.
*/
@JsonProperty("descriptor")
@ExcludeMissing
fun descriptor(descriptor: JsonField) = apply { this.descriptor = descriptor }
/** A list of all financial events that have modified this financial transaction. */
fun events(events: List) = events(JsonField.of(events))
/** A list of all financial events that have modified this financial transaction. */
@JsonProperty("events")
@ExcludeMissing
fun events(events: JsonField>) = apply { this.events = events }
/**
* Pending amount of the transaction in the currency's smallest unit (e.g., cents),
* including any acquirer fees. The value of this field will go to zero over time once the
* financial transaction is settled.
*/
fun pendingAmount(pendingAmount: Long) = pendingAmount(JsonField.of(pendingAmount))
/**
* Pending amount of the transaction in the currency's smallest unit (e.g., cents),
* including any acquirer fees. The value of this field will go to zero over time once the
* financial transaction is settled.
*/
@JsonProperty("pending_amount")
@ExcludeMissing
fun pendingAmount(pendingAmount: JsonField) = apply {
this.pendingAmount = pendingAmount
}
/**
* APPROVED transactions were successful while DECLINED transactions were declined by user,
* Lithic, or the network.
*/
fun result(result: Result) = result(JsonField.of(result))
/**
* APPROVED transactions were successful while DECLINED transactions were declined by user,
* Lithic, or the network.
*/
@JsonProperty("result")
@ExcludeMissing
fun result(result: JsonField) = apply { this.result = result }
/**
* Amount of the transaction that has been settled in the currency's smallest unit (e.g.,
* cents), including any acquirer fees. This may change over time.
*/
fun settledAmount(settledAmount: Long) = settledAmount(JsonField.of(settledAmount))
/**
* Amount of the transaction that has been settled in the currency's smallest unit (e.g.,
* cents), including any acquirer fees. This may change over time.
*/
@JsonProperty("settled_amount")
@ExcludeMissing
fun settledAmount(settledAmount: JsonField) = apply {
this.settledAmount = settledAmount
}
/**
* Status types:
* - `DECLINED` - The transaction was declined.
* - `EXPIRED` - The authorization as it has passed its expiration time. Card transaction
* only.
* - `PENDING` - The transaction is expected to settle.
* - `RETURNED` - The transaction has been returned.
* - `SETTLED` - The transaction is completed.
* - `VOIDED` - The transaction was voided. Card transaction only.
*/
fun status(status: Status) = status(JsonField.of(status))
/**
* Status types:
* - `DECLINED` - The transaction was declined.
* - `EXPIRED` - The authorization as it has passed its expiration time. Card transaction
* only.
* - `PENDING` - The transaction is expected to settle.
* - `RETURNED` - The transaction has been returned.
* - `SETTLED` - The transaction is completed.
* - `VOIDED` - The transaction was voided. Card transaction only.
*/
@JsonProperty("status")
@ExcludeMissing
fun status(status: JsonField) = apply { this.status = status }
/** Globally unique identifier. */
fun token(token: String) = token(JsonField.of(token))
/** Globally unique identifier. */
@JsonProperty("token")
@ExcludeMissing
fun token(token: JsonField) = apply { this.token = token }
/** Date and time when the financial transaction was last updated. UTC time zone. */
fun updated(updated: OffsetDateTime) = updated(JsonField.of(updated))
/** Date and time when the financial transaction was last updated. UTC time zone. */
@JsonProperty("updated")
@ExcludeMissing
fun updated(updated: JsonField) = apply { this.updated = updated }
fun additionalProperties(additionalProperties: Map) = apply {
this.additionalProperties.clear()
this.additionalProperties.putAll(additionalProperties)
}
@JsonAnySetter
fun putAdditionalProperty(key: String, value: JsonValue) = apply {
this.additionalProperties.put(key, value)
}
fun putAllAdditionalProperties(additionalProperties: Map) = apply {
this.additionalProperties.putAll(additionalProperties)
}
fun build(): FinancialTransaction =
FinancialTransaction(
category,
created,
currency,
descriptor,
events.map { it.toUnmodifiable() },
pendingAmount,
result,
settledAmount,
status,
token,
updated,
additionalProperties.toUnmodifiable(),
)
}
class Category
@JsonCreator
private constructor(
private val value: JsonField,
) : Enum {
@com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is Category && this.value == other.value /* spotless:on */
}
override fun hashCode() = value.hashCode()
override fun toString() = value.toString()
companion object {
@JvmField val ACH = Category(JsonField.of("ACH"))
@JvmField val CARD = Category(JsonField.of("CARD"))
@JvmField val TRANSFER = Category(JsonField.of("TRANSFER"))
@JvmStatic fun of(value: String) = Category(JsonField.of(value))
}
enum class Known {
ACH,
CARD,
TRANSFER,
}
enum class Value {
ACH,
CARD,
TRANSFER,
_UNKNOWN,
}
fun value(): Value =
when (this) {
ACH -> Value.ACH
CARD -> Value.CARD
TRANSFER -> Value.TRANSFER
else -> Value._UNKNOWN
}
fun known(): Known =
when (this) {
ACH -> Known.ACH
CARD -> Known.CARD
TRANSFER -> Known.TRANSFER
else -> throw LithicInvalidDataException("Unknown Category: $value")
}
fun asString(): String = _value().asStringOrThrow()
}
@JsonDeserialize(builder = FinancialEvent.Builder::class)
@NoAutoDetect
class FinancialEvent
private constructor(
private val amount: JsonField,
private val created: JsonField,
private val result: JsonField,
private val token: JsonField,
private val type: JsonField,
private val additionalProperties: Map,
) {
private var validated: Boolean = false
/**
* Amount of the financial event that has been settled in the currency's smallest unit
* (e.g., cents).
*/
fun amount(): Optional = Optional.ofNullable(amount.getNullable("amount"))
/** Date and time when the financial event occurred. UTC time zone. */
fun created(): Optional =
Optional.ofNullable(created.getNullable("created"))
/**
* APPROVED financial events were successful while DECLINED financial events were declined
* by user, Lithic, or the network.
*/
fun result(): Optional = Optional.ofNullable(result.getNullable("result"))
/** Globally unique identifier. */
fun token(): Optional = Optional.ofNullable(token.getNullable("token"))
fun type(): Optional = Optional.ofNullable(type.getNullable("type"))
/**
* Amount of the financial event that has been settled in the currency's smallest unit
* (e.g., cents).
*/
@JsonProperty("amount") @ExcludeMissing fun _amount() = amount
/** Date and time when the financial event occurred. UTC time zone. */
@JsonProperty("created") @ExcludeMissing fun _created() = created
/**
* APPROVED financial events were successful while DECLINED financial events were declined
* by user, Lithic, or the network.
*/
@JsonProperty("result") @ExcludeMissing fun _result() = result
/** Globally unique identifier. */
@JsonProperty("token") @ExcludeMissing fun _token() = token
@JsonProperty("type") @ExcludeMissing fun _type() = type
@JsonAnyGetter
@ExcludeMissing
fun _additionalProperties(): Map = additionalProperties
fun validate(): FinancialEvent = apply {
if (!validated) {
amount()
created()
result()
token()
type()
validated = true
}
}
fun toBuilder() = Builder().from(this)
companion object {
@JvmStatic fun builder() = Builder()
}
class Builder {
private var amount: JsonField = JsonMissing.of()
private var created: JsonField = JsonMissing.of()
private var result: JsonField = JsonMissing.of()
private var token: JsonField = JsonMissing.of()
private var type: JsonField = JsonMissing.of()
private var additionalProperties: MutableMap = mutableMapOf()
@JvmSynthetic
internal fun from(financialEvent: FinancialEvent) = apply {
this.amount = financialEvent.amount
this.created = financialEvent.created
this.result = financialEvent.result
this.token = financialEvent.token
this.type = financialEvent.type
additionalProperties(financialEvent.additionalProperties)
}
/**
* Amount of the financial event that has been settled in the currency's smallest unit
* (e.g., cents).
*/
fun amount(amount: Long) = amount(JsonField.of(amount))
/**
* Amount of the financial event that has been settled in the currency's smallest unit
* (e.g., cents).
*/
@JsonProperty("amount")
@ExcludeMissing
fun amount(amount: JsonField) = apply { this.amount = amount }
/** Date and time when the financial event occurred. UTC time zone. */
fun created(created: OffsetDateTime) = created(JsonField.of(created))
/** Date and time when the financial event occurred. UTC time zone. */
@JsonProperty("created")
@ExcludeMissing
fun created(created: JsonField) = apply { this.created = created }
/**
* APPROVED financial events were successful while DECLINED financial events were
* declined by user, Lithic, or the network.
*/
fun result(result: Result) = result(JsonField.of(result))
/**
* APPROVED financial events were successful while DECLINED financial events were
* declined by user, Lithic, or the network.
*/
@JsonProperty("result")
@ExcludeMissing
fun result(result: JsonField) = apply { this.result = result }
/** Globally unique identifier. */
fun token(token: String) = token(JsonField.of(token))
/** Globally unique identifier. */
@JsonProperty("token")
@ExcludeMissing
fun token(token: JsonField) = apply { this.token = token }
fun type(type: FinancialEventType) = type(JsonField.of(type))
@JsonProperty("type")
@ExcludeMissing
fun type(type: JsonField) = apply { this.type = type }
fun additionalProperties(additionalProperties: Map) = apply {
this.additionalProperties.clear()
this.additionalProperties.putAll(additionalProperties)
}
@JsonAnySetter
fun putAdditionalProperty(key: String, value: JsonValue) = apply {
this.additionalProperties.put(key, value)
}
fun putAllAdditionalProperties(additionalProperties: Map) = apply {
this.additionalProperties.putAll(additionalProperties)
}
fun build(): FinancialEvent =
FinancialEvent(
amount,
created,
result,
token,
type,
additionalProperties.toUnmodifiable(),
)
}
class Result
@JsonCreator
private constructor(
private val value: JsonField,
) : Enum {
@com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is Result && this.value == other.value /* spotless:on */
}
override fun hashCode() = value.hashCode()
override fun toString() = value.toString()
companion object {
@JvmField val APPROVED = Result(JsonField.of("APPROVED"))
@JvmField val DECLINED = Result(JsonField.of("DECLINED"))
@JvmStatic fun of(value: String) = Result(JsonField.of(value))
}
enum class Known {
APPROVED,
DECLINED,
}
enum class Value {
APPROVED,
DECLINED,
_UNKNOWN,
}
fun value(): Value =
when (this) {
APPROVED -> Value.APPROVED
DECLINED -> Value.DECLINED
else -> Value._UNKNOWN
}
fun known(): Known =
when (this) {
APPROVED -> Known.APPROVED
DECLINED -> Known.DECLINED
else -> throw LithicInvalidDataException("Unknown Result: $value")
}
fun asString(): String = _value().asStringOrThrow()
}
class FinancialEventType
@JsonCreator
private constructor(
private val value: JsonField,
) : Enum {
@com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is FinancialEventType && this.value == other.value /* spotless:on */
}
override fun hashCode() = value.hashCode()
override fun toString() = value.toString()
companion object {
@JvmField
val ACH_ORIGINATION_CANCELLED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_CANCELLED"))
@JvmField
val ACH_ORIGINATION_INITIATED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_INITIATED"))
@JvmField
val ACH_ORIGINATION_PROCESSED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_PROCESSED"))
@JvmField
val ACH_ORIGINATION_RELEASED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_RELEASED"))
@JvmField
val ACH_ORIGINATION_REVIEWED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_REVIEWED"))
@JvmField
val ACH_ORIGINATION_SETTLED =
FinancialEventType(JsonField.of("ACH_ORIGINATION_SETTLED"))
@JvmField
val ACH_RECEIPT_PROCESSED =
FinancialEventType(JsonField.of("ACH_RECEIPT_PROCESSED"))
@JvmField
val ACH_RECEIPT_SETTLED = FinancialEventType(JsonField.of("ACH_RECEIPT_SETTLED"))
@JvmField
val ACH_RETURN_INITIATED = FinancialEventType(JsonField.of("ACH_RETURN_INITIATED"))
@JvmField
val ACH_RETURN_PROCESSED = FinancialEventType(JsonField.of("ACH_RETURN_PROCESSED"))
@JvmField val AUTHORIZATION = FinancialEventType(JsonField.of("AUTHORIZATION"))
@JvmField
val AUTHORIZATION_ADVICE = FinancialEventType(JsonField.of("AUTHORIZATION_ADVICE"))
@JvmField
val AUTHORIZATION_EXPIRY = FinancialEventType(JsonField.of("AUTHORIZATION_EXPIRY"))
@JvmField
val AUTHORIZATION_REVERSAL =
FinancialEventType(JsonField.of("AUTHORIZATION_REVERSAL"))
@JvmField val BALANCE_INQUIRY = FinancialEventType(JsonField.of("BALANCE_INQUIRY"))
@JvmField val BILLING_ERROR = FinancialEventType(JsonField.of("BILLING_ERROR"))
@JvmField val CASH_BACK = FinancialEventType(JsonField.of("CASH_BACK"))
@JvmField val CLEARING = FinancialEventType(JsonField.of("CLEARING"))
@JvmField
val CORRECTION_CREDIT = FinancialEventType(JsonField.of("CORRECTION_CREDIT"))
@JvmField
val CORRECTION_DEBIT = FinancialEventType(JsonField.of("CORRECTION_DEBIT"))
@JvmField
val CREDIT_AUTHORIZATION = FinancialEventType(JsonField.of("CREDIT_AUTHORIZATION"))
@JvmField
val CREDIT_AUTHORIZATION_ADVICE =
FinancialEventType(JsonField.of("CREDIT_AUTHORIZATION_ADVICE"))
@JvmField
val CURRENCY_CONVERSION = FinancialEventType(JsonField.of("CURRENCY_CONVERSION"))
@JvmField val DISPUTE_WON = FinancialEventType(JsonField.of("DISPUTE_WON"))
@JvmField
val EXTERNAL_ACH_CANCELED =
FinancialEventType(JsonField.of("EXTERNAL_ACH_CANCELED"))
@JvmField
val EXTERNAL_ACH_INITIATED =
FinancialEventType(JsonField.of("EXTERNAL_ACH_INITIATED"))
@JvmField
val EXTERNAL_ACH_RELEASED =
FinancialEventType(JsonField.of("EXTERNAL_ACH_RELEASED"))
@JvmField
val EXTERNAL_ACH_REVERSED =
FinancialEventType(JsonField.of("EXTERNAL_ACH_REVERSED"))
@JvmField
val EXTERNAL_ACH_SETTLED = FinancialEventType(JsonField.of("EXTERNAL_ACH_SETTLED"))
@JvmField
val EXTERNAL_CHECK_CANCELED =
FinancialEventType(JsonField.of("EXTERNAL_CHECK_CANCELED"))
@JvmField
val EXTERNAL_CHECK_INITIATED =
FinancialEventType(JsonField.of("EXTERNAL_CHECK_INITIATED"))
@JvmField
val EXTERNAL_CHECK_RELEASED =
FinancialEventType(JsonField.of("EXTERNAL_CHECK_RELEASED"))
@JvmField
val EXTERNAL_CHECK_REVERSED =
FinancialEventType(JsonField.of("EXTERNAL_CHECK_REVERSED"))
@JvmField
val EXTERNAL_CHECK_SETTLED =
FinancialEventType(JsonField.of("EXTERNAL_CHECK_SETTLED"))
@JvmField
val EXTERNAL_TRANSFER_CANCELED =
FinancialEventType(JsonField.of("EXTERNAL_TRANSFER_CANCELED"))
@JvmField
val EXTERNAL_TRANSFER_INITIATED =
FinancialEventType(JsonField.of("EXTERNAL_TRANSFER_INITIATED"))
@JvmField
val EXTERNAL_TRANSFER_RELEASED =
FinancialEventType(JsonField.of("EXTERNAL_TRANSFER_RELEASED"))
@JvmField
val EXTERNAL_TRANSFER_REVERSED =
FinancialEventType(JsonField.of("EXTERNAL_TRANSFER_REVERSED"))
@JvmField
val EXTERNAL_TRANSFER_SETTLED =
FinancialEventType(JsonField.of("EXTERNAL_TRANSFER_SETTLED"))
@JvmField
val EXTERNAL_WIRE_CANCELED =
FinancialEventType(JsonField.of("EXTERNAL_WIRE_CANCELED"))
@JvmField
val EXTERNAL_WIRE_INITIATED =
FinancialEventType(JsonField.of("EXTERNAL_WIRE_INITIATED"))
@JvmField
val EXTERNAL_WIRE_RELEASED =
FinancialEventType(JsonField.of("EXTERNAL_WIRE_RELEASED"))
@JvmField
val EXTERNAL_WIRE_REVERSED =
FinancialEventType(JsonField.of("EXTERNAL_WIRE_REVERSED"))
@JvmField
val EXTERNAL_WIRE_SETTLED =
FinancialEventType(JsonField.of("EXTERNAL_WIRE_SETTLED"))
@JvmField
val FINANCIAL_AUTHORIZATION =
FinancialEventType(JsonField.of("FINANCIAL_AUTHORIZATION"))
@JvmField
val FINANCIAL_CREDIT_AUTHORIZATION =
FinancialEventType(JsonField.of("FINANCIAL_CREDIT_AUTHORIZATION"))
@JvmField val INTEREST = FinancialEventType(JsonField.of("INTEREST"))
@JvmField val LATE_PAYMENT = FinancialEventType(JsonField.of("LATE_PAYMENT"))
@JvmField
val PROVISIONAL_CREDIT = FinancialEventType(JsonField.of("PROVISIONAL_CREDIT"))
@JvmField val RETURN = FinancialEventType(JsonField.of("RETURN"))
@JvmField val RETURN_REVERSAL = FinancialEventType(JsonField.of("RETURN_REVERSAL"))
@JvmField val TRANSFER = FinancialEventType(JsonField.of("TRANSFER"))
@JvmField
val TRANSFER_INSUFFICIENT_FUNDS =
FinancialEventType(JsonField.of("TRANSFER_INSUFFICIENT_FUNDS"))
@JvmStatic fun of(value: String) = FinancialEventType(JsonField.of(value))
}
enum class Known {
ACH_ORIGINATION_CANCELLED,
ACH_ORIGINATION_INITIATED,
ACH_ORIGINATION_PROCESSED,
ACH_ORIGINATION_RELEASED,
ACH_ORIGINATION_REVIEWED,
ACH_ORIGINATION_SETTLED,
ACH_RECEIPT_PROCESSED,
ACH_RECEIPT_SETTLED,
ACH_RETURN_INITIATED,
ACH_RETURN_PROCESSED,
AUTHORIZATION,
AUTHORIZATION_ADVICE,
AUTHORIZATION_EXPIRY,
AUTHORIZATION_REVERSAL,
BALANCE_INQUIRY,
BILLING_ERROR,
CASH_BACK,
CLEARING,
CORRECTION_CREDIT,
CORRECTION_DEBIT,
CREDIT_AUTHORIZATION,
CREDIT_AUTHORIZATION_ADVICE,
CURRENCY_CONVERSION,
DISPUTE_WON,
EXTERNAL_ACH_CANCELED,
EXTERNAL_ACH_INITIATED,
EXTERNAL_ACH_RELEASED,
EXTERNAL_ACH_REVERSED,
EXTERNAL_ACH_SETTLED,
EXTERNAL_CHECK_CANCELED,
EXTERNAL_CHECK_INITIATED,
EXTERNAL_CHECK_RELEASED,
EXTERNAL_CHECK_REVERSED,
EXTERNAL_CHECK_SETTLED,
EXTERNAL_TRANSFER_CANCELED,
EXTERNAL_TRANSFER_INITIATED,
EXTERNAL_TRANSFER_RELEASED,
EXTERNAL_TRANSFER_REVERSED,
EXTERNAL_TRANSFER_SETTLED,
EXTERNAL_WIRE_CANCELED,
EXTERNAL_WIRE_INITIATED,
EXTERNAL_WIRE_RELEASED,
EXTERNAL_WIRE_REVERSED,
EXTERNAL_WIRE_SETTLED,
FINANCIAL_AUTHORIZATION,
FINANCIAL_CREDIT_AUTHORIZATION,
INTEREST,
LATE_PAYMENT,
PROVISIONAL_CREDIT,
RETURN,
RETURN_REVERSAL,
TRANSFER,
TRANSFER_INSUFFICIENT_FUNDS,
}
enum class Value {
ACH_ORIGINATION_CANCELLED,
ACH_ORIGINATION_INITIATED,
ACH_ORIGINATION_PROCESSED,
ACH_ORIGINATION_RELEASED,
ACH_ORIGINATION_REVIEWED,
ACH_ORIGINATION_SETTLED,
ACH_RECEIPT_PROCESSED,
ACH_RECEIPT_SETTLED,
ACH_RETURN_INITIATED,
ACH_RETURN_PROCESSED,
AUTHORIZATION,
AUTHORIZATION_ADVICE,
AUTHORIZATION_EXPIRY,
AUTHORIZATION_REVERSAL,
BALANCE_INQUIRY,
BILLING_ERROR,
CASH_BACK,
CLEARING,
CORRECTION_CREDIT,
CORRECTION_DEBIT,
CREDIT_AUTHORIZATION,
CREDIT_AUTHORIZATION_ADVICE,
CURRENCY_CONVERSION,
DISPUTE_WON,
EXTERNAL_ACH_CANCELED,
EXTERNAL_ACH_INITIATED,
EXTERNAL_ACH_RELEASED,
EXTERNAL_ACH_REVERSED,
EXTERNAL_ACH_SETTLED,
EXTERNAL_CHECK_CANCELED,
EXTERNAL_CHECK_INITIATED,
EXTERNAL_CHECK_RELEASED,
EXTERNAL_CHECK_REVERSED,
EXTERNAL_CHECK_SETTLED,
EXTERNAL_TRANSFER_CANCELED,
EXTERNAL_TRANSFER_INITIATED,
EXTERNAL_TRANSFER_RELEASED,
EXTERNAL_TRANSFER_REVERSED,
EXTERNAL_TRANSFER_SETTLED,
EXTERNAL_WIRE_CANCELED,
EXTERNAL_WIRE_INITIATED,
EXTERNAL_WIRE_RELEASED,
EXTERNAL_WIRE_REVERSED,
EXTERNAL_WIRE_SETTLED,
FINANCIAL_AUTHORIZATION,
FINANCIAL_CREDIT_AUTHORIZATION,
INTEREST,
LATE_PAYMENT,
PROVISIONAL_CREDIT,
RETURN,
RETURN_REVERSAL,
TRANSFER,
TRANSFER_INSUFFICIENT_FUNDS,
_UNKNOWN,
}
fun value(): Value =
when (this) {
ACH_ORIGINATION_CANCELLED -> Value.ACH_ORIGINATION_CANCELLED
ACH_ORIGINATION_INITIATED -> Value.ACH_ORIGINATION_INITIATED
ACH_ORIGINATION_PROCESSED -> Value.ACH_ORIGINATION_PROCESSED
ACH_ORIGINATION_RELEASED -> Value.ACH_ORIGINATION_RELEASED
ACH_ORIGINATION_REVIEWED -> Value.ACH_ORIGINATION_REVIEWED
ACH_ORIGINATION_SETTLED -> Value.ACH_ORIGINATION_SETTLED
ACH_RECEIPT_PROCESSED -> Value.ACH_RECEIPT_PROCESSED
ACH_RECEIPT_SETTLED -> Value.ACH_RECEIPT_SETTLED
ACH_RETURN_INITIATED -> Value.ACH_RETURN_INITIATED
ACH_RETURN_PROCESSED -> Value.ACH_RETURN_PROCESSED
AUTHORIZATION -> Value.AUTHORIZATION
AUTHORIZATION_ADVICE -> Value.AUTHORIZATION_ADVICE
AUTHORIZATION_EXPIRY -> Value.AUTHORIZATION_EXPIRY
AUTHORIZATION_REVERSAL -> Value.AUTHORIZATION_REVERSAL
BALANCE_INQUIRY -> Value.BALANCE_INQUIRY
BILLING_ERROR -> Value.BILLING_ERROR
CASH_BACK -> Value.CASH_BACK
CLEARING -> Value.CLEARING
CORRECTION_CREDIT -> Value.CORRECTION_CREDIT
CORRECTION_DEBIT -> Value.CORRECTION_DEBIT
CREDIT_AUTHORIZATION -> Value.CREDIT_AUTHORIZATION
CREDIT_AUTHORIZATION_ADVICE -> Value.CREDIT_AUTHORIZATION_ADVICE
CURRENCY_CONVERSION -> Value.CURRENCY_CONVERSION
DISPUTE_WON -> Value.DISPUTE_WON
EXTERNAL_ACH_CANCELED -> Value.EXTERNAL_ACH_CANCELED
EXTERNAL_ACH_INITIATED -> Value.EXTERNAL_ACH_INITIATED
EXTERNAL_ACH_RELEASED -> Value.EXTERNAL_ACH_RELEASED
EXTERNAL_ACH_REVERSED -> Value.EXTERNAL_ACH_REVERSED
EXTERNAL_ACH_SETTLED -> Value.EXTERNAL_ACH_SETTLED
EXTERNAL_CHECK_CANCELED -> Value.EXTERNAL_CHECK_CANCELED
EXTERNAL_CHECK_INITIATED -> Value.EXTERNAL_CHECK_INITIATED
EXTERNAL_CHECK_RELEASED -> Value.EXTERNAL_CHECK_RELEASED
EXTERNAL_CHECK_REVERSED -> Value.EXTERNAL_CHECK_REVERSED
EXTERNAL_CHECK_SETTLED -> Value.EXTERNAL_CHECK_SETTLED
EXTERNAL_TRANSFER_CANCELED -> Value.EXTERNAL_TRANSFER_CANCELED
EXTERNAL_TRANSFER_INITIATED -> Value.EXTERNAL_TRANSFER_INITIATED
EXTERNAL_TRANSFER_RELEASED -> Value.EXTERNAL_TRANSFER_RELEASED
EXTERNAL_TRANSFER_REVERSED -> Value.EXTERNAL_TRANSFER_REVERSED
EXTERNAL_TRANSFER_SETTLED -> Value.EXTERNAL_TRANSFER_SETTLED
EXTERNAL_WIRE_CANCELED -> Value.EXTERNAL_WIRE_CANCELED
EXTERNAL_WIRE_INITIATED -> Value.EXTERNAL_WIRE_INITIATED
EXTERNAL_WIRE_RELEASED -> Value.EXTERNAL_WIRE_RELEASED
EXTERNAL_WIRE_REVERSED -> Value.EXTERNAL_WIRE_REVERSED
EXTERNAL_WIRE_SETTLED -> Value.EXTERNAL_WIRE_SETTLED
FINANCIAL_AUTHORIZATION -> Value.FINANCIAL_AUTHORIZATION
FINANCIAL_CREDIT_AUTHORIZATION -> Value.FINANCIAL_CREDIT_AUTHORIZATION
INTEREST -> Value.INTEREST
LATE_PAYMENT -> Value.LATE_PAYMENT
PROVISIONAL_CREDIT -> Value.PROVISIONAL_CREDIT
RETURN -> Value.RETURN
RETURN_REVERSAL -> Value.RETURN_REVERSAL
TRANSFER -> Value.TRANSFER
TRANSFER_INSUFFICIENT_FUNDS -> Value.TRANSFER_INSUFFICIENT_FUNDS
else -> Value._UNKNOWN
}
fun known(): Known =
when (this) {
ACH_ORIGINATION_CANCELLED -> Known.ACH_ORIGINATION_CANCELLED
ACH_ORIGINATION_INITIATED -> Known.ACH_ORIGINATION_INITIATED
ACH_ORIGINATION_PROCESSED -> Known.ACH_ORIGINATION_PROCESSED
ACH_ORIGINATION_RELEASED -> Known.ACH_ORIGINATION_RELEASED
ACH_ORIGINATION_REVIEWED -> Known.ACH_ORIGINATION_REVIEWED
ACH_ORIGINATION_SETTLED -> Known.ACH_ORIGINATION_SETTLED
ACH_RECEIPT_PROCESSED -> Known.ACH_RECEIPT_PROCESSED
ACH_RECEIPT_SETTLED -> Known.ACH_RECEIPT_SETTLED
ACH_RETURN_INITIATED -> Known.ACH_RETURN_INITIATED
ACH_RETURN_PROCESSED -> Known.ACH_RETURN_PROCESSED
AUTHORIZATION -> Known.AUTHORIZATION
AUTHORIZATION_ADVICE -> Known.AUTHORIZATION_ADVICE
AUTHORIZATION_EXPIRY -> Known.AUTHORIZATION_EXPIRY
AUTHORIZATION_REVERSAL -> Known.AUTHORIZATION_REVERSAL
BALANCE_INQUIRY -> Known.BALANCE_INQUIRY
BILLING_ERROR -> Known.BILLING_ERROR
CASH_BACK -> Known.CASH_BACK
CLEARING -> Known.CLEARING
CORRECTION_CREDIT -> Known.CORRECTION_CREDIT
CORRECTION_DEBIT -> Known.CORRECTION_DEBIT
CREDIT_AUTHORIZATION -> Known.CREDIT_AUTHORIZATION
CREDIT_AUTHORIZATION_ADVICE -> Known.CREDIT_AUTHORIZATION_ADVICE
CURRENCY_CONVERSION -> Known.CURRENCY_CONVERSION
DISPUTE_WON -> Known.DISPUTE_WON
EXTERNAL_ACH_CANCELED -> Known.EXTERNAL_ACH_CANCELED
EXTERNAL_ACH_INITIATED -> Known.EXTERNAL_ACH_INITIATED
EXTERNAL_ACH_RELEASED -> Known.EXTERNAL_ACH_RELEASED
EXTERNAL_ACH_REVERSED -> Known.EXTERNAL_ACH_REVERSED
EXTERNAL_ACH_SETTLED -> Known.EXTERNAL_ACH_SETTLED
EXTERNAL_CHECK_CANCELED -> Known.EXTERNAL_CHECK_CANCELED
EXTERNAL_CHECK_INITIATED -> Known.EXTERNAL_CHECK_INITIATED
EXTERNAL_CHECK_RELEASED -> Known.EXTERNAL_CHECK_RELEASED
EXTERNAL_CHECK_REVERSED -> Known.EXTERNAL_CHECK_REVERSED
EXTERNAL_CHECK_SETTLED -> Known.EXTERNAL_CHECK_SETTLED
EXTERNAL_TRANSFER_CANCELED -> Known.EXTERNAL_TRANSFER_CANCELED
EXTERNAL_TRANSFER_INITIATED -> Known.EXTERNAL_TRANSFER_INITIATED
EXTERNAL_TRANSFER_RELEASED -> Known.EXTERNAL_TRANSFER_RELEASED
EXTERNAL_TRANSFER_REVERSED -> Known.EXTERNAL_TRANSFER_REVERSED
EXTERNAL_TRANSFER_SETTLED -> Known.EXTERNAL_TRANSFER_SETTLED
EXTERNAL_WIRE_CANCELED -> Known.EXTERNAL_WIRE_CANCELED
EXTERNAL_WIRE_INITIATED -> Known.EXTERNAL_WIRE_INITIATED
EXTERNAL_WIRE_RELEASED -> Known.EXTERNAL_WIRE_RELEASED
EXTERNAL_WIRE_REVERSED -> Known.EXTERNAL_WIRE_REVERSED
EXTERNAL_WIRE_SETTLED -> Known.EXTERNAL_WIRE_SETTLED
FINANCIAL_AUTHORIZATION -> Known.FINANCIAL_AUTHORIZATION
FINANCIAL_CREDIT_AUTHORIZATION -> Known.FINANCIAL_CREDIT_AUTHORIZATION
INTEREST -> Known.INTEREST
LATE_PAYMENT -> Known.LATE_PAYMENT
PROVISIONAL_CREDIT -> Known.PROVISIONAL_CREDIT
RETURN -> Known.RETURN
RETURN_REVERSAL -> Known.RETURN_REVERSAL
TRANSFER -> Known.TRANSFER
TRANSFER_INSUFFICIENT_FUNDS -> Known.TRANSFER_INSUFFICIENT_FUNDS
else -> throw LithicInvalidDataException("Unknown FinancialEventType: $value")
}
fun asString(): String = _value().asStringOrThrow()
}
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is FinancialEvent && this.amount == other.amount && this.created == other.created && this.result == other.result && this.token == other.token && this.type == other.type && this.additionalProperties == other.additionalProperties /* spotless:on */
}
private var hashCode: Int = 0
override fun hashCode(): Int {
if (hashCode == 0) {
hashCode = /* spotless:off */ Objects.hash(amount, created, result, token, type, additionalProperties) /* spotless:on */
}
return hashCode
}
override fun toString() =
"FinancialEvent{amount=$amount, created=$created, result=$result, token=$token, type=$type, additionalProperties=$additionalProperties}"
}
class Result
@JsonCreator
private constructor(
private val value: JsonField,
) : Enum {
@com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is Result && this.value == other.value /* spotless:on */
}
override fun hashCode() = value.hashCode()
override fun toString() = value.toString()
companion object {
@JvmField val APPROVED = Result(JsonField.of("APPROVED"))
@JvmField val DECLINED = Result(JsonField.of("DECLINED"))
@JvmStatic fun of(value: String) = Result(JsonField.of(value))
}
enum class Known {
APPROVED,
DECLINED,
}
enum class Value {
APPROVED,
DECLINED,
_UNKNOWN,
}
fun value(): Value =
when (this) {
APPROVED -> Value.APPROVED
DECLINED -> Value.DECLINED
else -> Value._UNKNOWN
}
fun known(): Known =
when (this) {
APPROVED -> Known.APPROVED
DECLINED -> Known.DECLINED
else -> throw LithicInvalidDataException("Unknown Result: $value")
}
fun asString(): String = _value().asStringOrThrow()
}
class Status
@JsonCreator
private constructor(
private val value: JsonField,
) : Enum {
@com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is Status && this.value == other.value /* spotless:on */
}
override fun hashCode() = value.hashCode()
override fun toString() = value.toString()
companion object {
@JvmField val DECLINED = Status(JsonField.of("DECLINED"))
@JvmField val EXPIRED = Status(JsonField.of("EXPIRED"))
@JvmField val PENDING = Status(JsonField.of("PENDING"))
@JvmField val RETURNED = Status(JsonField.of("RETURNED"))
@JvmField val SETTLED = Status(JsonField.of("SETTLED"))
@JvmField val VOIDED = Status(JsonField.of("VOIDED"))
@JvmStatic fun of(value: String) = Status(JsonField.of(value))
}
enum class Known {
DECLINED,
EXPIRED,
PENDING,
RETURNED,
SETTLED,
VOIDED,
}
enum class Value {
DECLINED,
EXPIRED,
PENDING,
RETURNED,
SETTLED,
VOIDED,
_UNKNOWN,
}
fun value(): Value =
when (this) {
DECLINED -> Value.DECLINED
EXPIRED -> Value.EXPIRED
PENDING -> Value.PENDING
RETURNED -> Value.RETURNED
SETTLED -> Value.SETTLED
VOIDED -> Value.VOIDED
else -> Value._UNKNOWN
}
fun known(): Known =
when (this) {
DECLINED -> Known.DECLINED
EXPIRED -> Known.EXPIRED
PENDING -> Known.PENDING
RETURNED -> Known.RETURNED
SETTLED -> Known.SETTLED
VOIDED -> Known.VOIDED
else -> throw LithicInvalidDataException("Unknown Status: $value")
}
fun asString(): String = _value().asStringOrThrow()
}
override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}
return /* spotless:off */ other is FinancialTransaction && this.category == other.category && this.created == other.created && this.currency == other.currency && this.descriptor == other.descriptor && this.events == other.events && this.pendingAmount == other.pendingAmount && this.result == other.result && this.settledAmount == other.settledAmount && this.status == other.status && this.token == other.token && this.updated == other.updated && this.additionalProperties == other.additionalProperties /* spotless:on */
}
private var hashCode: Int = 0
override fun hashCode(): Int {
if (hashCode == 0) {
hashCode = /* spotless:off */ Objects.hash(category, created, currency, descriptor, events, pendingAmount, result, settledAmount, status, token, updated, additionalProperties) /* spotless:on */
}
return hashCode
}
override fun toString() =
"FinancialTransaction{category=$category, created=$created, currency=$currency, descriptor=$descriptor, events=$events, pendingAmount=$pendingAmount, result=$result, settledAmount=$settledAmount, status=$status, token=$token, updated=$updated, additionalProperties=$additionalProperties}"
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy