Skip to content
Open
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
@@ -1,29 +1,33 @@

package com.example.zarinpal.data.remote.dto.unVerified

import com.example.zarinpal.data.remote.dto.Config
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

/**
* Request payload for unverified payment operations.
* Represents the request data required for unverified payment transactions.
*
* @property merchantId Optional merchant ID; identifies the merchant making the request.
* @property sandBox Optional flag to indicate if the request is in sandbox (test) mode.
* @property merchantId The unique identifier for the merchant (nullable).
* @property sandBox Indicates if the request should be processed in sandbox mode (test mode).
*/
@Serializable
data class PaymentUnVerifiedRequest(
@SerialName("merchant_id")
val merchantId: String? = null,
val sandBox: Boolean? = null
) {
val merchantId: String?=null,
val sandBox :Boolean?=null,
){
/**
* Returns a new instance with missing fields populated from the provided [config].
* Creates a copy of the request with the merchantId and sandBox values
* replaced by the ones from the provided [Config] if they are null.
*
* @param config Configuration supplying default values.
* @return Updated [PaymentUnVerifiedRequest] instance.
* @param config The [Config] object that provides default values for merchantId and sandBox.
* @return A new instance of [PaymentUnVerifiedRequest] with updated values.
*/
fun copyWithConfig(config: Config): PaymentUnVerifiedRequest = copy(
merchantId = merchantId ?: config.merchantId,
sandBox = sandBox ?: config.sandBox
)
fun copyWithConfig(config: Config): PaymentUnVerifiedRequest {
return this.copy(
merchantId = this.merchantId ?: config.merchantId,
sandBox = this.sandBox ?: config.sandBox
)
}
}