Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): updates #186

Merged
merged 1 commit into from
Mar 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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