Skip to content

Commit

Permalink
feat(api): updates (#186)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Mar 21, 2024
1 parent 1e8785b commit dc09408
Show file tree
Hide file tree
Showing 40 changed files with 611 additions and 291 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ class CardProvisionParams
constructor(
private val cardToken: String,
private val certificate: String?,
private val clientDeviceId: String?,
private val clientWalletAccountId: String?,
private val digitalWallet: DigitalWallet?,
private val nonce: String?,
private val nonceSignature: String?,
Expand All @@ -33,6 +35,10 @@ constructor(

fun certificate(): Optional<String> = Optional.ofNullable(certificate)

fun clientDeviceId(): Optional<String> = Optional.ofNullable(clientDeviceId)

fun clientWalletAccountId(): Optional<String> = Optional.ofNullable(clientWalletAccountId)

fun digitalWallet(): Optional<DigitalWallet> = Optional.ofNullable(digitalWallet)

fun nonce(): Optional<String> = Optional.ofNullable(nonce)
Expand All @@ -43,6 +49,8 @@ constructor(
internal fun getBody(): CardProvisionBody {
return CardProvisionBody(
certificate,
clientDeviceId,
clientWalletAccountId,
digitalWallet,
nonce,
nonceSignature,
Expand All @@ -66,6 +74,8 @@ constructor(
class CardProvisionBody
internal constructor(
private val certificate: String?,
private val clientDeviceId: String?,
private val clientWalletAccountId: String?,
private val digitalWallet: DigitalWallet?,
private val nonce: String?,
private val nonceSignature: String?,
Expand All @@ -82,6 +92,19 @@ constructor(
*/
@JsonProperty("certificate") fun certificate(): String? = certificate

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is on
* the Visa network. Stable device identification set by the wallet provider.
*/
@JsonProperty("client_device_id") fun clientDeviceId(): String? = clientDeviceId

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is on
* the Visa network. Consumer ID that identifies the wallet account holder entity.
*/
@JsonProperty("client_wallet_account_id")
fun clientWalletAccountId(): String? = clientWalletAccountId

/** Name of digital wallet provider. */
@JsonProperty("digital_wallet") fun digitalWallet(): DigitalWallet? = digitalWallet

Expand Down Expand Up @@ -110,6 +133,8 @@ constructor(

return other is CardProvisionBody &&
this.certificate == other.certificate &&
this.clientDeviceId == other.clientDeviceId &&
this.clientWalletAccountId == other.clientWalletAccountId &&
this.digitalWallet == other.digitalWallet &&
this.nonce == other.nonce &&
this.nonceSignature == other.nonceSignature &&
Expand All @@ -121,6 +146,8 @@ constructor(
hashCode =
Objects.hash(
certificate,
clientDeviceId,
clientWalletAccountId,
digitalWallet,
nonce,
nonceSignature,
Expand All @@ -131,7 +158,7 @@ constructor(
}

override fun toString() =
"CardProvisionBody{certificate=$certificate, digitalWallet=$digitalWallet, nonce=$nonce, nonceSignature=$nonceSignature, additionalProperties=$additionalProperties}"
"CardProvisionBody{certificate=$certificate, clientDeviceId=$clientDeviceId, clientWalletAccountId=$clientWalletAccountId, digitalWallet=$digitalWallet, nonce=$nonce, nonceSignature=$nonceSignature, additionalProperties=$additionalProperties}"

companion object {

Expand All @@ -141,6 +168,8 @@ constructor(
class Builder {

private var certificate: String? = null
private var clientDeviceId: String? = null
private var clientWalletAccountId: String? = null
private var digitalWallet: DigitalWallet? = null
private var nonce: String? = null
private var nonceSignature: String? = null
Expand All @@ -149,6 +178,8 @@ constructor(
@JvmSynthetic
internal fun from(cardProvisionBody: CardProvisionBody) = apply {
this.certificate = cardProvisionBody.certificate
this.clientDeviceId = cardProvisionBody.clientDeviceId
this.clientWalletAccountId = cardProvisionBody.clientWalletAccountId
this.digitalWallet = cardProvisionBody.digitalWallet
this.nonce = cardProvisionBody.nonce
this.nonceSignature = cardProvisionBody.nonceSignature
Expand All @@ -164,6 +195,24 @@ constructor(
@JsonProperty("certificate")
fun certificate(certificate: String) = apply { this.certificate = certificate }

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is
* on the Visa network. Stable device identification set by the wallet provider.
*/
@JsonProperty("client_device_id")
fun clientDeviceId(clientDeviceId: String) = apply {
this.clientDeviceId = clientDeviceId
}

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is
* on the Visa network. Consumer ID that identifies the wallet account holder entity.
*/
@JsonProperty("client_wallet_account_id")
fun clientWalletAccountId(clientWalletAccountId: String) = apply {
this.clientWalletAccountId = clientWalletAccountId
}

/** Name of digital wallet provider. */
@JsonProperty("digital_wallet")
fun digitalWallet(digitalWallet: DigitalWallet) = apply {
Expand Down Expand Up @@ -204,6 +253,8 @@ constructor(
fun build(): CardProvisionBody =
CardProvisionBody(
certificate,
clientDeviceId,
clientWalletAccountId,
digitalWallet,
nonce,
nonceSignature,
Expand All @@ -226,6 +277,8 @@ constructor(
return other is CardProvisionParams &&
this.cardToken == other.cardToken &&
this.certificate == other.certificate &&
this.clientDeviceId == other.clientDeviceId &&
this.clientWalletAccountId == other.clientWalletAccountId &&
this.digitalWallet == other.digitalWallet &&
this.nonce == other.nonce &&
this.nonceSignature == other.nonceSignature &&
Expand All @@ -238,6 +291,8 @@ constructor(
return Objects.hash(
cardToken,
certificate,
clientDeviceId,
clientWalletAccountId,
digitalWallet,
nonce,
nonceSignature,
Expand All @@ -248,7 +303,7 @@ constructor(
}

override fun toString() =
"CardProvisionParams{cardToken=$cardToken, certificate=$certificate, digitalWallet=$digitalWallet, nonce=$nonce, nonceSignature=$nonceSignature, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders, additionalBodyProperties=$additionalBodyProperties}"
"CardProvisionParams{cardToken=$cardToken, certificate=$certificate, clientDeviceId=$clientDeviceId, clientWalletAccountId=$clientWalletAccountId, digitalWallet=$digitalWallet, nonce=$nonce, nonceSignature=$nonceSignature, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders, additionalBodyProperties=$additionalBodyProperties}"

fun toBuilder() = Builder().from(this)

Expand All @@ -262,6 +317,8 @@ constructor(

private var cardToken: String? = null
private var certificate: String? = null
private var clientDeviceId: String? = null
private var clientWalletAccountId: String? = null
private var digitalWallet: DigitalWallet? = null
private var nonce: String? = null
private var nonceSignature: String? = null
Expand All @@ -273,6 +330,8 @@ constructor(
internal fun from(cardProvisionParams: CardProvisionParams) = apply {
this.cardToken = cardProvisionParams.cardToken
this.certificate = cardProvisionParams.certificate
this.clientDeviceId = cardProvisionParams.clientDeviceId
this.clientWalletAccountId = cardProvisionParams.clientWalletAccountId
this.digitalWallet = cardProvisionParams.digitalWallet
this.nonce = cardProvisionParams.nonce
this.nonceSignature = cardProvisionParams.nonceSignature
Expand All @@ -291,6 +350,20 @@ constructor(
*/
fun certificate(certificate: String) = apply { this.certificate = certificate }

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is on
* the Visa network. Stable device identification set by the wallet provider.
*/
fun clientDeviceId(clientDeviceId: String) = apply { this.clientDeviceId = clientDeviceId }

/**
* Only applicable if `digital_wallet` is `GOOGLE_PAY` or `SAMSUNG_PAY` and the card is on
* the Visa network. Consumer ID that identifies the wallet account holder entity.
*/
fun clientWalletAccountId(clientWalletAccountId: String) = apply {
this.clientWalletAccountId = clientWalletAccountId
}

/** Name of digital wallet provider. */
fun digitalWallet(digitalWallet: DigitalWallet) = apply {
this.digitalWallet = digitalWallet
Expand Down Expand Up @@ -366,6 +439,8 @@ constructor(
CardProvisionParams(
checkNotNull(cardToken) { "`cardToken` is required but was not set" },
certificate,
clientDeviceId,
clientWalletAccountId,
digitalWallet,
nonce,
nonceSignature,
Expand Down
29 changes: 29 additions & 0 deletions lithic-java-core/src/main/kotlin/com/lithic/api/models/Event.kt
Original file line number Diff line number Diff line change
Expand Up @@ -337,12 +337,25 @@ private constructor(
val DISPUTE_EVIDENCE_UPLOAD_FAILED =
EventType(JsonField.of("dispute_evidence.upload_failed"))

@JvmField
val EXTERNAL_BANK_ACCOUNT_CREATED =
EventType(JsonField.of("external_bank_account.created"))

@JvmField
val EXTERNAL_BANK_ACCOUNT_UPDATED =
EventType(JsonField.of("external_bank_account.updated"))

@JvmField
val FINANCIAL_ACCOUNT_CREATED = EventType(JsonField.of("financial_account.created"))

@JvmField
val PAYMENT_TRANSACTION_CREATED = EventType(JsonField.of("payment_transaction.created"))

@JvmField
val PAYMENT_TRANSACTION_UPDATED = EventType(JsonField.of("payment_transaction.updated"))

@JvmField val STATEMENTS_CREATED = EventType(JsonField.of("statements.created"))

@JvmField
val THREE_DS_AUTHENTICATION_CREATED =
EventType(JsonField.of("three_ds_authentication.created"))
Expand All @@ -368,8 +381,12 @@ private constructor(
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE,
DISPUTE_UPDATED,
DISPUTE_EVIDENCE_UPLOAD_FAILED,
EXTERNAL_BANK_ACCOUNT_CREATED,
EXTERNAL_BANK_ACCOUNT_UPDATED,
FINANCIAL_ACCOUNT_CREATED,
PAYMENT_TRANSACTION_CREATED,
PAYMENT_TRANSACTION_UPDATED,
STATEMENTS_CREATED,
THREE_DS_AUTHENTICATION_CREATED,
TRANSFER_TRANSACTION_CREATED,
}
Expand All @@ -388,8 +405,12 @@ private constructor(
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE,
DISPUTE_UPDATED,
DISPUTE_EVIDENCE_UPLOAD_FAILED,
EXTERNAL_BANK_ACCOUNT_CREATED,
EXTERNAL_BANK_ACCOUNT_UPDATED,
FINANCIAL_ACCOUNT_CREATED,
PAYMENT_TRANSACTION_CREATED,
PAYMENT_TRANSACTION_UPDATED,
STATEMENTS_CREATED,
THREE_DS_AUTHENTICATION_CREATED,
TRANSFER_TRANSACTION_CREATED,
_UNKNOWN,
Expand All @@ -412,8 +433,12 @@ private constructor(
Value.DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE
DISPUTE_UPDATED -> Value.DISPUTE_UPDATED
DISPUTE_EVIDENCE_UPLOAD_FAILED -> Value.DISPUTE_EVIDENCE_UPLOAD_FAILED
EXTERNAL_BANK_ACCOUNT_CREATED -> Value.EXTERNAL_BANK_ACCOUNT_CREATED
EXTERNAL_BANK_ACCOUNT_UPDATED -> Value.EXTERNAL_BANK_ACCOUNT_UPDATED
FINANCIAL_ACCOUNT_CREATED -> Value.FINANCIAL_ACCOUNT_CREATED
PAYMENT_TRANSACTION_CREATED -> Value.PAYMENT_TRANSACTION_CREATED
PAYMENT_TRANSACTION_UPDATED -> Value.PAYMENT_TRANSACTION_UPDATED
STATEMENTS_CREATED -> Value.STATEMENTS_CREATED
THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED
TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED
else -> Value._UNKNOWN
Expand All @@ -436,8 +461,12 @@ private constructor(
Known.DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE
DISPUTE_UPDATED -> Known.DISPUTE_UPDATED
DISPUTE_EVIDENCE_UPLOAD_FAILED -> Known.DISPUTE_EVIDENCE_UPLOAD_FAILED
EXTERNAL_BANK_ACCOUNT_CREATED -> Known.EXTERNAL_BANK_ACCOUNT_CREATED
EXTERNAL_BANK_ACCOUNT_UPDATED -> Known.EXTERNAL_BANK_ACCOUNT_UPDATED
FINANCIAL_ACCOUNT_CREATED -> Known.FINANCIAL_ACCOUNT_CREATED
PAYMENT_TRANSACTION_CREATED -> Known.PAYMENT_TRANSACTION_CREATED
PAYMENT_TRANSACTION_UPDATED -> Known.PAYMENT_TRANSACTION_UPDATED
STATEMENTS_CREATED -> Known.STATEMENTS_CREATED
THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED
TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED
else -> throw LithicInvalidDataException("Unknown EventType: $value")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,12 +280,25 @@ constructor(
val DISPUTE_EVIDENCE_UPLOAD_FAILED =
EventType(JsonField.of("dispute_evidence.upload_failed"))

@JvmField
val EXTERNAL_BANK_ACCOUNT_CREATED =
EventType(JsonField.of("external_bank_account.created"))

@JvmField
val EXTERNAL_BANK_ACCOUNT_UPDATED =
EventType(JsonField.of("external_bank_account.updated"))

@JvmField
val FINANCIAL_ACCOUNT_CREATED = EventType(JsonField.of("financial_account.created"))

@JvmField
val PAYMENT_TRANSACTION_CREATED = EventType(JsonField.of("payment_transaction.created"))

@JvmField
val PAYMENT_TRANSACTION_UPDATED = EventType(JsonField.of("payment_transaction.updated"))

@JvmField val STATEMENTS_CREATED = EventType(JsonField.of("statements.created"))

@JvmField
val THREE_DS_AUTHENTICATION_CREATED =
EventType(JsonField.of("three_ds_authentication.created"))
Expand All @@ -311,8 +324,12 @@ constructor(
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE,
DISPUTE_UPDATED,
DISPUTE_EVIDENCE_UPLOAD_FAILED,
EXTERNAL_BANK_ACCOUNT_CREATED,
EXTERNAL_BANK_ACCOUNT_UPDATED,
FINANCIAL_ACCOUNT_CREATED,
PAYMENT_TRANSACTION_CREATED,
PAYMENT_TRANSACTION_UPDATED,
STATEMENTS_CREATED,
THREE_DS_AUTHENTICATION_CREATED,
TRANSFER_TRANSACTION_CREATED,
}
Expand All @@ -331,8 +348,12 @@ constructor(
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE,
DISPUTE_UPDATED,
DISPUTE_EVIDENCE_UPLOAD_FAILED,
EXTERNAL_BANK_ACCOUNT_CREATED,
EXTERNAL_BANK_ACCOUNT_UPDATED,
FINANCIAL_ACCOUNT_CREATED,
PAYMENT_TRANSACTION_CREATED,
PAYMENT_TRANSACTION_UPDATED,
STATEMENTS_CREATED,
THREE_DS_AUTHENTICATION_CREATED,
TRANSFER_TRANSACTION_CREATED,
_UNKNOWN,
Expand All @@ -355,8 +376,12 @@ constructor(
Value.DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE
DISPUTE_UPDATED -> Value.DISPUTE_UPDATED
DISPUTE_EVIDENCE_UPLOAD_FAILED -> Value.DISPUTE_EVIDENCE_UPLOAD_FAILED
EXTERNAL_BANK_ACCOUNT_CREATED -> Value.EXTERNAL_BANK_ACCOUNT_CREATED
EXTERNAL_BANK_ACCOUNT_UPDATED -> Value.EXTERNAL_BANK_ACCOUNT_UPDATED
FINANCIAL_ACCOUNT_CREATED -> Value.FINANCIAL_ACCOUNT_CREATED
PAYMENT_TRANSACTION_CREATED -> Value.PAYMENT_TRANSACTION_CREATED
PAYMENT_TRANSACTION_UPDATED -> Value.PAYMENT_TRANSACTION_UPDATED
STATEMENTS_CREATED -> Value.STATEMENTS_CREATED
THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED
TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED
else -> Value._UNKNOWN
Expand All @@ -379,8 +404,12 @@ constructor(
Known.DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE
DISPUTE_UPDATED -> Known.DISPUTE_UPDATED
DISPUTE_EVIDENCE_UPLOAD_FAILED -> Known.DISPUTE_EVIDENCE_UPLOAD_FAILED
EXTERNAL_BANK_ACCOUNT_CREATED -> Known.EXTERNAL_BANK_ACCOUNT_CREATED
EXTERNAL_BANK_ACCOUNT_UPDATED -> Known.EXTERNAL_BANK_ACCOUNT_UPDATED
FINANCIAL_ACCOUNT_CREATED -> Known.FINANCIAL_ACCOUNT_CREATED
PAYMENT_TRANSACTION_CREATED -> Known.PAYMENT_TRANSACTION_CREATED
PAYMENT_TRANSACTION_UPDATED -> Known.PAYMENT_TRANSACTION_UPDATED
STATEMENTS_CREATED -> Known.STATEMENTS_CREATED
THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED
TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED
else -> throw LithicInvalidDataException("Unknown EventType: $value")
Expand Down
Loading

0 comments on commit dc09408

Please sign in to comment.