diff --git a/.gitignore b/.gitignore index 1b6985c..c8a6c5c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,11 @@ # Ignore Gradle build output directory build +!common/build +common/build/** +!common/build/generated +common/build/generated/** +!common/build/generated/sources +common/build/generated/sources/** +!common/build/generated/sources/schemaCode +!common/build/generated/sources/schemaCode/** diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..8cb6976 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + kotlin("jvm") version "2.0.20" + kotlin("plugin.serialization") version "2.0.20" + +} + +dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1") + implementation("com.squareup:kotlinpoet-jvm:1.18.1") +} + +repositories { + mavenCentral() +} diff --git a/buildSrc/src/main/kotlin/io/portone/openapi/GenerateSchemaCodeTask.kt b/buildSrc/src/main/kotlin/io/portone/openapi/GenerateSchemaCodeTask.kt new file mode 100644 index 0000000..dc8662a --- /dev/null +++ b/buildSrc/src/main/kotlin/io/portone/openapi/GenerateSchemaCodeTask.kt @@ -0,0 +1,32 @@ +package io.portone.openapi + +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.jsonObject +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction +import java.nio.file.Files + +abstract class GenerateSchemaCodeTask : DefaultTask() { + @get:InputFile + abstract val inputFile: RegularFileProperty + + @get:OutputDirectory + abstract val outputDirectory: DirectoryProperty + + @TaskAction + fun generateSchemaCode() { + val document = Json.parseToJsonElement(Files.readString(inputFile.get().asFile.toPath())).jsonObject + SchemaGenerator(document, listOf( + "/payments", + "/payment-schedules", + "/identity-verifications", + "/billing-keys", + "/cash-receipts", + "/kakaopay", + ), outputDirectory.get().asFile.toPath()).generateFiles() + } +} diff --git a/buildSrc/src/main/kotlin/io/portone/openapi/GenerateVersionCodeTask.kt b/buildSrc/src/main/kotlin/io/portone/openapi/GenerateVersionCodeTask.kt new file mode 100644 index 0000000..f7e57e6 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/portone/openapi/GenerateVersionCodeTask.kt @@ -0,0 +1,28 @@ +package io.portone.openapi + +import com.squareup.kotlinpoet.FileSpec +import com.squareup.kotlinpoet.KModifier +import com.squareup.kotlinpoet.PropertySpec +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction + +abstract class GenerateVersionCodeTask : DefaultTask() { + @get:Input + abstract val version: Property + + @get:OutputDirectory + abstract val outputDirectory: DirectoryProperty + + @TaskAction + fun generateVersionCode() { + val outputDirectory = this.outputDirectory.get().asFile.toPath() + + FileSpec.builder("io.portone.sdk.server", "Version") + .addProperty(PropertySpec.builder("SDK_VERSION", String::class, KModifier.CONST, KModifier.INTERNAL).initializer("%S", version.get()).build()) + .build().writeTo(outputDirectory) + } +} diff --git a/buildSrc/src/main/kotlin/io/portone/openapi/PatchCodeTask.kt b/buildSrc/src/main/kotlin/io/portone/openapi/PatchCodeTask.kt new file mode 100644 index 0000000..cf29d63 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/portone/openapi/PatchCodeTask.kt @@ -0,0 +1,90 @@ +package io.portone.openapi + +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.tasks.InputDirectory +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction +import java.io.ByteArrayOutputStream +import java.nio.file.Files +import kotlin.io.path.listDirectoryEntries +import kotlin.io.path.relativeTo + +abstract class PatchCodeTask : DefaultTask() { + @get:InputDirectory + abstract val originDirectory: DirectoryProperty + + @get:InputDirectory + abstract val patchesDirectory: DirectoryProperty + + @get:OutputDirectory + abstract val outputDirectory: DirectoryProperty + + companion object { + private const val TAG_NAME = "patch-base" + } + + @TaskAction + fun patchCode() { + val originDirectory = this.originDirectory.get().asFile.toPath() + val patchesDirectory = this.patchesDirectory.get().asFile.toPath() + val outputDirectory = this.outputDirectory.get().asFile.toPath() + + Files.createDirectories(outputDirectory) + + project.exec { + it.workingDir = outputDirectory.toFile() + it.executable = "git" + it.args = listOf("init") + it.isIgnoreExitValue = true + } + + project.exec { + it.workingDir = outputDirectory.toFile() + it.executable = "git" + it.args = listOf("config", "commit.gpgSign", "false") + } + + project.exec { + it.workingDir = project.rootProject.projectDir + it.executable = "git" + it.args = listOf("tag", TAG_NAME) + } + + project.exec { + it.workingDir = project.rootProject.projectDir + it.executable = "git" + // use joinToString("/") because git filter-repo doesn't support '\' (windows path separator) in filter + it.args = listOf("filter-repo", "--force", "--subdirectory-filter", originDirectory.relativeTo(project.rootProject.projectDir.toPath()).joinToString("/"), "--target", outputDirectory.toString()) + } + + project.exec { + it.workingDir = project.rootProject.projectDir + it.executable = "git" + it.args = listOf("tag", "-d", TAG_NAME) + } + + project.exec { + it.workingDir = outputDirectory.toFile() + it.executable = "git" + it.args = listOf("checkout", TAG_NAME) + } + + project.exec { + it.workingDir = outputDirectory.toFile() + it.executable = "git" + it.args = listOf("am", "--abort") + it.standardOutput = ByteArrayOutputStream() + it.errorOutput = ByteArrayOutputStream() + it.isIgnoreExitValue = true + } + + val patchFiles = patchesDirectory.listDirectoryEntries("*.patch").sorted() + + project.exec { + it.workingDir = outputDirectory.toFile() + it.executable = "git" + it.args = listOf("am", "--3way", *patchFiles.map { it.toString() }.toTypedArray()) + } + } +} diff --git a/buildSrc/src/main/kotlin/io/portone/openapi/SavePatchTask.kt b/buildSrc/src/main/kotlin/io/portone/openapi/SavePatchTask.kt new file mode 100644 index 0000000..6c2a0f3 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/portone/openapi/SavePatchTask.kt @@ -0,0 +1,36 @@ +package io.portone.openapi + +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.tasks.InputDirectory +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction +import java.nio.file.Files + +abstract class SavePatchTask : DefaultTask() { + @get:InputDirectory + abstract val inputDirectory: DirectoryProperty + + @get:OutputDirectory + abstract val outputDirectory: DirectoryProperty + + + companion object { + private const val TAG_NAME = "patch-base" + } + + @TaskAction + fun patchCode() { + val inputDirectory = this.inputDirectory.get().asFile.toPath() + val outputDirectory = this.outputDirectory.get().asFile.toPath() + + Files.createDirectories(outputDirectory) + + project.exec { + it.workingDir = inputDirectory.toFile() + it.executable = "git" + it.args = listOf("format-patch", "--zero-commit", "--no-stat", "--minimal", "-N", "-o", outputDirectory.toString(), TAG_NAME) + } + + } +} diff --git a/buildSrc/src/main/kotlin/io/portone/openapi/SchemaGenerator.kt b/buildSrc/src/main/kotlin/io/portone/openapi/SchemaGenerator.kt new file mode 100644 index 0000000..edf41ea --- /dev/null +++ b/buildSrc/src/main/kotlin/io/portone/openapi/SchemaGenerator.kt @@ -0,0 +1,793 @@ +package io.portone.openapi + +import com.squareup.kotlinpoet.AnnotationSpec +import com.squareup.kotlinpoet.ClassName +import com.squareup.kotlinpoet.CodeBlock +import com.squareup.kotlinpoet.FileSpec +import com.squareup.kotlinpoet.FunSpec +import com.squareup.kotlinpoet.KModifier +import com.squareup.kotlinpoet.ParameterSpec +import com.squareup.kotlinpoet.ParameterizedTypeName +import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy +import com.squareup.kotlinpoet.PropertySpec +import com.squareup.kotlinpoet.TypeName +import com.squareup.kotlinpoet.TypeSpec +import com.squareup.kotlinpoet.asTypeName +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonArray +import kotlinx.serialization.json.JsonClassDiscriminator +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.jsonPrimitive +import java.io.Closeable +import java.math.BigInteger +import java.nio.file.Path +import java.time.Instant +import java.util.concurrent.CompletableFuture + +private enum class ExportMode { + NORMAL, + ERROR_UNION, + ERROR_CASE, +} + +interface Documented { + val title: String? + val description: String? + + val joinSeparateParagraph: String? + get() = listOfNotNull(title, description) + .distinct() + .joinToString("\n\n") + .let { if (it.isEmpty()) null else it } + + val joinSingleLine: String? + get() = listOfNotNull(title, description) + .distinct() + .joinToString(" - ") + .let { if (it.isEmpty()) null else it } +} + +private data class Schema(val spec: Spec, var isPublic: Boolean, val exportMode: ExportMode) + +sealed interface Spec : Documented { + val name: String + val asType: TypeName + + val asOptional: Spec + fun withTitle(title: String?): Spec + fun withDescription(description: String?): Spec +} + +private data class MinimalSpec( + override val name: String, + override val asType: TypeName, + override val title: String?, + override val description: String?, +) : Spec { + override val asOptional: Spec + get() = copy(asType = asType.copy(nullable = true)) + override fun withTitle(title: String?): Spec = + copy(title = title) + override fun withDescription(description: String?): Spec = + copy(description = description) +} + +private data class EnumValue( + val name: String, + override val title: String?, + override val description: String?, +) : Documented + +private data class EnumSpec( + override val name: String, + override val asType: TypeName, + val values: List, + override val title: String?, + override val description: String?, +) : Spec { + override val asOptional: Spec + get() = copy(asType = asType.copy(nullable = true)) + override fun withTitle(title: String?): Spec = + copy(title = title) + override fun withDescription(description: String?): Spec = + copy(description = description) +} + +data class ObjectSpec( + override val name: String, + override val asType: TypeName, + val properties: MutableList = mutableListOf(), + val discriminator: Discriminator? = null, + val parents: MutableList = mutableListOf(), + override val title: String?, + override val description: String?, +) : Spec { + override val asOptional: Spec + get() = copy(asType = asType.copy(nullable = true)) + override fun withTitle(title: String?): Spec = + copy(title = title) + override fun withDescription(description: String?): Spec = + copy(description = description) +} + +data class Discriminator( + val propertyName: String, + val mapping: List>, +) + +data class Operation( + val name: String, + val path: String, + val method: String, + val pathParams: List, + val queryParams: List, + val bodyParams: List, + val body: TypeName?, + val success: TypeName, + val returns: String?, + val error: TypeName, + val errorCases: List, + override val title: String?, + override val description: String?, +) : Documented + +private fun parseRef(ref: String): String = + ref.substringAfterLast('/') + +class SchemaGenerator(private val document: JsonObject, private val includePrefixes: List, private val targetDirectory: Path) { + private val resolvedNames: MutableSet = mutableSetOf() + private val operations: MutableList = mutableListOf() + private val schemas: MutableMap = mutableMapOf() + + private val documentSchemas: JsonObject? + get() = document.getObject("components")?.getObject("schemas") + + private fun visitDocument() { + val paths = document.getObject("paths") ?: return + + for ((path, pathItem) in paths.entries) { + if (includePrefixes.none { path.startsWith(it) } || pathItem !is JsonObject || pathItem.isEmpty()) continue + + for ((method, schema) in pathItem.entries) { + if (schema !is JsonObject) continue + val operationId = schema.getString("operationId") ?: continue + val title = schema.getString("x-portone-title") ?: continue + val description = schema.getString("x-portone-description") ?: continue + + val portoneError = schema.getObject("x-portone-error") ?: continue + val errorRef = portoneError.getString("\$ref") ?: continue + val error = exportType(parseRef(errorRef), ExportMode.ERROR_UNION, publicUse = false) + val errorCases = (schemas[parseRef(errorRef)]!!.spec as ObjectSpec).discriminator!!.mapping.map { it.second } + + val (body, bodyParams) = schema.getObject("requestBody") + ?.getObject("content") + ?.getObject("application/json") + ?.getObject("schema")?.jsonObject + ?.getString("\$ref")?.let { bodyRef -> + val body = exportType(parseRef(bodyRef), skipEmpty = true, publicUse = false) + val bodyParams = (schemas[parseRef(bodyRef)]!!.spec as ObjectSpec).properties.toList() + Pair(body, bodyParams) + } ?: Pair(null, listOf()) + + val parametersSchema = schema["parameters"]?.jsonArray + val pathParams = mutableListOf() + val queryParams = mutableListOf() + if (parametersSchema != null) { + for (parameter in parametersSchema) { + parameter as JsonObject + if (parameter.containsKey("\$ref")) throw RuntimeException() + val name = parameter.getString("name") ?: continue + if (name == "requestBody") continue + val `in` = parameter.getString("in") ?: continue + val parameterSchema = parameter.getObject("schema") ?: continue + val parameterDescription = parameter.getString("description") + val spec = visitSchema(parameterSchema, name, publicUse = true).withDescription(parameterDescription).let { + if (parameter.getBoolean("required") != true) it.asOptional + else it + } + if (`in` == "path") { + pathParams.add(spec) + } else if (`in` == "query") { + queryParams.add(spec) + } + } + } + + val response = schema.getObject("responses")!! + val success = response.getObject("200")!!.getObject("content")!! + .getObject("application/json")!!.getObject("schema")!!.getString("\$ref")!!.let { successRef -> + exportType(parseRef(successRef), skipEmpty = true) + } + val returns = response.getObject("200")?.getString("description") + + operations.add(Operation( + name = operationId, + path = path, + method = method, + pathParams = pathParams, + queryParams = queryParams, + bodyParams = bodyParams, + body = body, + success = success, + returns = returns, + error = error, + errorCases = errorCases, + title = title, + description = description, + )) + } + } + } + + private fun visitSchema(schema: JsonObject, name: String, exportMode: ExportMode? = null, skipEmpty: Boolean = false, publicUse: Boolean): Spec { + val title = schema.getString("x-portone-title") ?: schema.getString("title") + val description = schema.getString("x-portone-description") ?: schema.getString("description") + + val ref = schema.getString("\$ref") + if (ref != null) { + val asType = parseRef(ref) + return MinimalSpec( + name = name, + asType = exportType(asType, skipEmpty = skipEmpty), + title = title, + description = description, + ) + } + + val discriminator = schema.getObject("discriminator") + if (discriminator != null) { + val propertyName = discriminator.getString("propertyName") + val mapping = discriminator.getObject("mapping") + if (propertyName != null && mapping != null) { + val refs = mutableSetOf() + val map = mutableListOf>() + val children = mutableListOf() + for ((key, childRef) in mapping.entries) { + val childName = parseRef(childRef.string) + exportType(childName, exportMode = when (exportMode) { + ExportMode.NORMAL -> ExportMode.NORMAL + ExportMode.ERROR_UNION -> ExportMode.ERROR_CASE + ExportMode.ERROR_CASE -> throw RuntimeException() + null -> throw RuntimeException() + }, publicUse = publicUse) + refs.add(childName) + map.add(Pair(key, childName)) + + val child = schemas[childName]?.spec as? ObjectSpec + if (child != null) { + child.properties.removeAll { + it.name == propertyName + } + child.parents.add(name) + + children.add(child) + } + } + + val properties = + (children.getOrNull(0)?.properties ?: emptyList()).mapNotNull { prop -> + when (children.minOf { child -> + val matchingProp = child.properties.find { it.name == prop.name } + if (matchingProp != null && !matchingProp.asType.isNullable) + 2 // REQUIRED + else if (matchingProp != null) + 1 // OPTIONAL + else + 0 // NOT PRESENT + }) { + 2 -> prop + 1 -> prop.asOptional + 0 -> null + else -> throw RuntimeException() + } + } + + return ObjectSpec( + name = name, + asType = ClassName("io.portone.sdk.server.schemas", name), + discriminator = Discriminator( + propertyName = propertyName, + mapping = map, + ), + properties = properties.toMutableList(), + title = title, + description = description, + ) + } + } + + return when (val type = schema.getString("type")!!) { + "boolean" -> MinimalSpec( + name = name, + asType = Boolean::class.asTypeName(), + title = title, + description = description, + ) + "integer" -> MinimalSpec( + name = name, + asType = when (schema.getString("format")) { + "int32" -> Int::class.asTypeName() + "int64" -> Long::class.asTypeName() + null -> BigInteger::class.asTypeName() + else -> throw RuntimeException() + }, + title = title, + description = description, + ) + "number" -> MinimalSpec( + name = name, + asType = when (schema.getString("format")) { + "float" -> Float::class.asTypeName() + "double" -> Double::class.asTypeName() + else -> throw RuntimeException() + }, + title = title, + description = description, + ) + "string" -> { + val enum = schema.getArray("enum") + val xPortoneEnum = schema.getObject("x-portone-enum") + val format = schema.getString("format") + if (enum != null) { + EnumSpec( + name = name, + asType = ClassName("io.portone.sdk.server.schemas", name), + values = enum.map { EnumValue(it.string, xPortoneEnum?.getObject(it.string)?.getString("title"), xPortoneEnum?.getObject(it.string)?.getString("description")) }, + title = title, + description = description, + ) + } else if (format == "date-time") { + MinimalSpec( + name = name, + asType = Instant::class.asTypeName().copy(annotations = listOf(AnnotationSpec.builder(Serializable::class).addMember( + CodeBlock.of("%T::class", ClassName("io.portone.sdk.server.serializers", "InstantSerializer")) + ).build())), + title = title, + description = description, + ) + } else if (format == null) { + MinimalSpec( + name = name, + asType = String::class.asTypeName(), + title = title, + description = description, + ) + } else { + throw RuntimeException() + } + } + "array" -> { + val items = schema.getObject("items")!! + val spec = visitSchema(items, name, publicUse = publicUse) + MinimalSpec( + name = name, + asType = List::class.asTypeName().parameterizedBy(spec.asType), + title = title, + description = description, + ) + } + "object" -> { + val rawProperties = schema.getObject("properties") + if (rawProperties.isNullOrEmpty() && skipEmpty) { + MinimalSpec( + name = name, + asType = Unit::class.asTypeName(), + title = title, + description = description, + ) + } else if (rawProperties.isNullOrEmpty() && exportMode == null) { + MinimalSpec( + name = name, + asType = JsonObject::class.asTypeName(), + title = title, + description = description, + ) + } else { + val required = schema.getStringArray("required")?.toSet() ?: emptySet() + + val properties = mutableListOf() + for ((key, value) in rawProperties ?: emptyMap()) { + if (value is JsonObject) { + var spec = visitSchema(value, key, publicUse = publicUse) + if (!required.contains(key)) { + spec = spec.asOptional + } + properties.add(spec) + } + } + + ObjectSpec( + name = name, + asType = ClassName("io.portone.sdk.server.schemas", name), + title = title, + description = description, + properties = properties, + ) + } + } + + else -> throw RuntimeException("unknown type $type") + } + } + + private fun exportType(name: String, exportMode: ExportMode = ExportMode.NORMAL, skipEmpty: Boolean = false, publicUse: Boolean = true): TypeName { + if (resolvedNames.contains(name)) { + if (publicUse) { + schemas[name]?.let { it.isPublic = true } + } + return ClassName("io.portone.sdk.server.schemas", name) + } + resolvedNames.add(name) + val schema = documentSchemas?.getObject(name) ?: return ClassName("io.portone.sdk.server.schemas", name) + val spec = visitSchema(schema, name, exportMode = exportMode, skipEmpty = skipEmpty, publicUse = publicUse) + if (spec.asType != Unit::class.asTypeName()) { + schemas[name] = Schema(spec, publicUse, exportMode) + } + return spec.asType + } + + fun generateFiles() { + visitDocument() + + generateSchemaFiles() + generateClient() + } + + @OptIn(ExperimentalSerializationApi::class) + private fun generateSchemaFiles() { + for ((name, schema) in schemas) { + val spec = schema.spec + when (spec) { + is ObjectSpec -> { + if (spec.discriminator != null) { + FileSpec.builder("io.portone.sdk.server.schemas", name) + .addType( + TypeSpec.interfaceBuilder(name).addModifiers(KModifier.SEALED) + .also { builder -> spec.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .also { if (!schema.isPublic) it.addModifiers(KModifier.INTERNAL) } + .addAnnotation(Serializable::class) + .addAnnotation(AnnotationSpec.builder(JsonClassDiscriminator::class).addMember("%S", spec.discriminator.propertyName).build()) + .addProperties(spec.properties.map { prop -> + PropertySpec.builder(prop.name, prop.asType) + .also { builder -> prop.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .build() + }) + .build() + ) + .build().writeTo(targetDirectory) + } else if (spec.properties.isEmpty()) { + check(schema.exportMode != ExportMode.ERROR_CASE) + // 하위 클래스라 discriminator가 사라지니 속성이 남지 않은 이들 + + val parents = spec.parents.map { schemas[it]?.spec as ObjectSpec } + + FileSpec.builder("io.portone.sdk.server.schemas", name) + .addType( + TypeSpec.objectBuilder(name).addModifiers(KModifier.DATA) + .also { builder -> spec.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .also { if (!schema.isPublic) it.addModifiers(KModifier.INTERNAL) } + .addAnnotation(Serializable::class) + .addSuperinterfaces(parents.map { it.asType }) + .build() + ) + .build().writeTo(targetDirectory) + } else { + val parents = spec.parents.map { schemas[it]?.spec as ObjectSpec } + val parentProperties = parents.flatMap { it.properties } + val serialName = parents.map { parent -> parent.discriminator!!.mapping.find { it.second == spec.name }!!.first }.also { serialNames -> + if (serialNames.any { it != serialNames.first() }) throw RuntimeException("serial name not all same") + }.firstOrNull() + + FileSpec.builder("io.portone.sdk.server.schemas", name) + .addType( + TypeSpec.classBuilder(name).addModifiers(KModifier.DATA) + .also { builder -> spec.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .let { if (schema.isPublic) it else it.addModifiers(KModifier.INTERNAL) } + .addAnnotation(Serializable::class) + .let { builder -> + if (serialName != null) builder.addAnnotation(AnnotationSpec.builder(SerialName::class).addMember("%S", serialName).build()) + else builder + } + .addSuperinterfaces(parents.map { it.asType }) + .primaryConstructor( + FunSpec.constructorBuilder() + .addParameters(spec.properties.map { prop -> + ParameterSpec.builder(prop.name, prop.asType).let { builder -> + if (prop.asType.isNullable) + builder.defaultValue("null") + else + builder + }.build() + }) + .build() + ) + .addProperties(spec.properties.map { prop -> + PropertySpec.builder(prop.name, prop.asType).initializer(prop.name) + .also { builder -> + if (parentProperties.any { it.name == prop.name }) builder.addModifiers(KModifier.OVERRIDE) + } + .also { builder -> prop.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .build() + }) + .build() + ) + .build().writeTo(targetDirectory) + + if (schema.exportMode == ExportMode.ERROR_CASE) { + check(spec.name.endsWith("Error")) + val exceptionName = spec.name.substring(0, spec.name.length - "Error".length) + "Exception" + FileSpec.builder("io.portone.sdk.server.schemas", exceptionName) + .addType( + TypeSpec.classBuilder(exceptionName) + .superclass(Exception::class.java.asTypeName()) + .addSuperclassConstructorParameter("message") + .also { builder -> spec.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .primaryConstructor( + FunSpec.constructorBuilder() + .addParameters(spec.properties.map { prop -> + ParameterSpec.builder(prop.name, prop.asType).also { builder -> + if (prop.asType.isNullable) builder.defaultValue("null") + }.build() + }) + .build() + ) + .addProperties(spec.properties.filter { it.name != "message" }.map { prop -> + PropertySpec.builder(prop.name, prop.asType).initializer(prop.name) + .also { builder -> prop.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .build() + }) + .build() + ) + .build().writeTo(targetDirectory) + } + } + } + is EnumSpec -> { + FileSpec.builder("io.portone.sdk.server.schemas", name) + .addType( + TypeSpec.enumBuilder(name) + .addAnnotation(Serializable::class) + .also { builder -> spec.joinSeparateParagraph?.let { builder.addKdoc(it) } } + .also { if (!schema.isPublic) it.addModifiers(KModifier.INTERNAL) } + .also { builder -> builder.enumConstants.putAll(spec.values.map { value -> + Pair(value.name, TypeSpec.anonymousClassBuilder().also { builder -> value.joinSeparateParagraph?.let { builder.addKdoc(it) }}.build()) + }) } + .build() + ) + .build().writeTo(targetDirectory) + } + else -> throw RuntimeException() + } + + } + } + + private fun generateClient() { + val clientClass = ClassName("io.portone.sdk.server", "PortOneApi") + val httpClientClass = ClassName("io.ktor.client", "HttpClient") + val okHttpClass = ClassName("io.ktor.client.engine.okhttp", "OkHttp") + val jsonClass = ClassName("kotlinx.serialization.json", "Json") + + val classBuilder = TypeSpec.classBuilder(clientClass) + .addSuperinterface(Closeable::class.asTypeName()) + .primaryConstructor( + FunSpec.constructorBuilder() + .addParameter("apiSecret", String::class.asTypeName()) + .addParameter(ParameterSpec.builder("storeId", String::class.asTypeName().copy(nullable = true)).defaultValue("null").build()) + .build() + ) + .addProperty(PropertySpec.builder("apiSecret", String::class.asTypeName()).initializer("apiSecret").build()) + .addProperty(PropertySpec.builder("storeId", String::class.asTypeName().copy(nullable = true)).initializer("storeId").build()) + .addProperty(PropertySpec.builder("client", httpClientClass, KModifier.PRIVATE).initializer("%T(%T)", httpClientClass, okHttpClass).build()) + .addProperty(PropertySpec.builder("json", jsonClass, KModifier.PRIVATE).initializer("%T { ignoreUnknownKeys = true }", jsonClass).build()) + .addFunction(FunSpec.builder("close").addModifiers(KModifier.OVERRIDE).addStatement("client.close()").build()) + + for (operation in operations) { + val funBuilder = FunSpec.builder(operation.name).addModifiers(KModifier.SUSPEND) + .addAnnotation(AnnotationSpec.builder(JvmName::class).addMember(""""${operation.name}Suspend"""").build()) + + if (operation.returns != null && operation.success != Unit::class.asTypeName()) { + funBuilder.returns(returnType = operation.success, kdoc = CodeBlock.of(operation.returns)) + } else { + funBuilder.returns(returnType = operation.success) + } + + operation.joinSeparateParagraph?.let { funBuilder.addKdoc(it) } + + var firstErrorCase = true + for (errorCase in operation.errorCases) { + val errorSpec = schemas[errorCase]!!.spec as ObjectSpec + check(errorSpec.title?.contains('\n') != true) { errorSpec.title ?: "" } + check(errorSpec.description?.contains('\n') != true) { errorSpec.description ?: "" } + errorSpec.joinSingleLine + ?.let { + if (firstErrorCase) funBuilder.addKdoc("\n\n") + firstErrorCase = false + funBuilder.addKdoc("@throws $errorCase $it\n") + } + } + if (firstErrorCase) funBuilder.addKdoc("\n\n") + firstErrorCase = false + funBuilder.addKdoc("@throws UnrecognizedException API 응답이 알 수 없는 형식인 경우\n") + + for (param in operation.pathParams) { + val paramBuilder = ParameterSpec.builder(param.name, param.asType.copy(annotations = param.asType.annotations.filterNot { (it.typeName as? ClassName)?.simpleName == "Serializable" })) + if (param.asType.isNullable) { + paramBuilder.defaultValue("null") + } + param.joinSingleLine?.let { paramBuilder.addKdoc(it) } + funBuilder.addParameter(paramBuilder.build()) + } + + for (param in operation.queryParams) { + if (param.name == "storeId") continue + val paramBuilder = ParameterSpec.builder(param.name, param.asType.copy(annotations = param.asType.annotations.filterNot { (it.typeName as? ClassName)?.simpleName == "Serializable" })) + if (param.asType.isNullable) { + paramBuilder.defaultValue("null") + } + param.joinSingleLine?.let { paramBuilder.addKdoc(it) } + funBuilder.addParameter(paramBuilder.build()) + } + + for (param in operation.bodyParams) { + if (param.name == "storeId") continue + val paramBuilder = ParameterSpec.builder(param.name, param.asType.copy(annotations = param.asType.annotations.filterNot { (it.typeName as? ClassName)?.simpleName == "Serializable" })) + if (param.asType.isNullable) { + paramBuilder.defaultValue("null") + } + param.joinSingleLine?.let { paramBuilder.addKdoc(it) } + funBuilder.addParameter(paramBuilder.build()) + } + + var pathPrefix = "https://api.portone.io" + var stillPrefix = true + val manualPathList = mutableListOf() + for (pathSegment in operation.path.split("/").dropWhile { it.isEmpty() }) { + if (!pathSegment.startsWith('{')) { + if (stillPrefix) { + pathPrefix += '/' + pathSegment + } else { + manualPathList.add(pathSegment) + } + } else { + manualPathList.add(pathSegment) + stillPrefix = false + } + } + + check(operation.method.uppercase() in listOf("GET", "POST", "PUT", "DELETE", "PATCH")) + + funBuilder.beginControlFlow("""val httpResponse = client.${operation.method.lowercase()}("${pathPrefix}")""") + + if (manualPathList.isNotEmpty() || operation.queryParams.isNotEmpty() || operation.bodyParams.isNotEmpty() && operation.method.uppercase() in listOf("GET", "DELETE")) { + funBuilder.beginControlFlow("url") + if (manualPathList.isNotEmpty()) { + funBuilder.addStatement("appendPathSegments(${manualPathList.joinToString(", ") { if (it.startsWith('{')) it.substring(1, it.length - 1) else """"$it"""" }})") + } + if (operation.queryParams.isNotEmpty()) { + funBuilder.addStatement(operation.queryParams.joinToString("\n") { + if (it.asType.isNullable) { + """if (${it.name} != null) parameters.append("${it.name}", ${it.name})""" + } else { + """parameters.append("${it.name}", ${it.name})""" + } + }) + } + if (operation.bodyParams.isNotEmpty() && operation.method.uppercase() in listOf("GET", "DELETE")) { + funBuilder.addStatement("""parameters.append("requestBody", this@PortOneApi.json.encodeToString(%T(${operation.bodyParams.joinToString(", ") { + "${it.name} = ${it.name}" + }})))""", operation.body!!) + } + funBuilder.endControlFlow() + } + + funBuilder.beginControlFlow("headers") + .addStatement("""append(HttpHeaders.Authorization, "PortOne·${'$'}{this@PortOneApi.apiSecret}")""") + .endControlFlow() + funBuilder.addStatement("contentType(ContentType.Application.Json)") + funBuilder.addStatement("accept(ContentType.Application.Json)") + funBuilder.addStatement("""userAgent("portone-server-sdk-jvm/${'$'}{SDK_VERSION}")""") + + if (operation.method.uppercase() in listOf("POST", "PUT", "PATCH")) { + if (operation.bodyParams.isNotEmpty()) { + funBuilder.addStatement("setBody(this@PortOneApi.json.encodeToString(%T(${operation.bodyParams.joinToString(", ") { + "${it.name} = ${it.name}" + }})))", operation.body!!) + } else { + funBuilder.addStatement("""setBody("{}")""") + } + } + + funBuilder.endControlFlow() + + funBuilder.beginControlFlow("if (httpResponse.status.value !in 200..299)") + .addStatement("val httpBody = httpResponse.body()") + + check(operation.errorCases.isNotEmpty()) + funBuilder.beginControlFlow("val httpBodyDecoded = try") + .addStatement("this.json.decodeFromString<%T>(httpBody)", operation.error) + .endControlFlow() + .beginControlFlow("catch (_: Exception)") + .addStatement("""throw UnrecognizedException("Unrecognized API error: ${'$'}httpBody")""") + .endControlFlow() + .beginControlFlow("when (httpBodyDecoded)", operation.error) + + for (errorCase in operation.errorCases) { + val exceptionName = errorCase.substring(0, errorCase.length - "Error".length) + "Exception" + val properties = (schemas[errorCase]!!.spec as ObjectSpec).properties + funBuilder.addStatement("is %T -> throw %T(${properties.joinToString(", ") { + "${it.name} = httpBodyDecoded.${it.name}" + }})", ClassName("io.portone.sdk.server.schemas", errorCase), ClassName("io.portone.sdk.server.schemas", exceptionName)) + } + + funBuilder.endControlFlow() + .endControlFlow() + + if (operation.success != Unit::class.asTypeName()) { + funBuilder.addStatement("val httpBody = httpResponse.body()") + funBuilder.beginControlFlow("return try") + .addStatement("this.json.decodeFromString<%T>(httpBody)", operation.success) + .endControlFlow() + .beginControlFlow("catch (_: Exception)") + .addStatement("""throw UnrecognizedException("Unrecognized API response: ${'$'}httpBody")""") + .endControlFlow() + } + + classBuilder.addFunction(funBuilder.build()) + + val futureFunBuilder = FunSpec.builder("${operation.name}Future") + .addAnnotation(AnnotationSpec.builder(JvmName::class).addMember("%S", operation.name).build()) + .returns(returnType = CompletableFuture::class.asTypeName().parameterizedBy(operation.success)) + .addKdoc("@suppress") + .addParameters(funBuilder.parameters.map { it.toBuilder().also { it.kdoc.clear() }.build() }) + .addCode("return GlobalScope.future { ${operation.name}(${funBuilder.parameters.joinToString(", ") { it.name } }) }") + + classBuilder.addFunction(futureFunBuilder.build()) + } + + FileSpec.builder(clientClass) + .addImport("io.ktor.client.request", "get", "post", "delete", "patch", "headers", "accept", "setBody") + .addImport("io.ktor.client.call", "body") + .addImport("io.ktor.http", "appendPathSegments", "HttpHeaders", "ContentType", "contentType", "userAgent") + .addImport("kotlinx.serialization", "encodeToString") + .addImport("kotlinx.serialization.json", "Json") + .addImport("kotlinx.coroutines", "GlobalScope") + .addImport("kotlinx.coroutines.future", "future") + .addType(classBuilder.build()) + .build() + .writeTo(targetDirectory) + } +} + +val JsonElement.string: String + get() { + val primitive = jsonPrimitive + if (!primitive.isString) throw IllegalArgumentException("Element is not a string") + return primitive.content + } + +val JsonElement.boolean: Boolean + get() { + val primitive = jsonPrimitive + if (primitive.isString) throw IllegalArgumentException("Element is not a boolean") + return when (primitive.content) { + "true" -> true + "false" -> false + else -> throw IllegalArgumentException("Element is not a boolean") + } + } + +fun JsonObject.getObject(name: String): JsonObject? = get(name)?.jsonObject + +fun JsonObject.getArray(name: String): JsonArray? = get(name)?.jsonArray + +fun JsonObject.getStringArray(name: String): List? = getArray(name)?.map { it.string } + +fun JsonObject.getString(name: String): String? = get(name)?.string + +fun JsonObject.getBoolean(name: String): Boolean? = get(name)?.boolean diff --git a/common/.editorconfig b/common/.editorconfig new file mode 100644 index 0000000..af61523 --- /dev/null +++ b/common/.editorconfig @@ -0,0 +1,2 @@ +[build/generated/**/*] +ktlint = disabled diff --git a/common/api/common.api b/common/api/common.api index b77a14d..cb78349 100644 --- a/common/api/common.api +++ b/common/api/common.api @@ -1,3 +1,6505 @@ +public final class io/portone/sdk/server/PortOneApi : java/io/Closeable { + public fun (Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun applyEscrowLogistics (Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun applyEscrowLogistics$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun applyEscrowLogisticsSuspend (Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun applyEscrowLogisticsSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun cancelCashReceiptByPaymentId (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun cancelCashReceiptByPaymentIdSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun cancelPayment (Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Lio/portone/sdk/server/schemas/CancelRequester;Ljava/lang/Long;Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun cancelPayment$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Lio/portone/sdk/server/schemas/CancelRequester;Ljava/lang/Long;Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun cancelPaymentSuspend (Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Lio/portone/sdk/server/schemas/CancelRequester;Ljava/lang/Long;Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun cancelPaymentSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Lio/portone/sdk/server/schemas/CancelRequester;Ljava/lang/Long;Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public fun close ()V + public final fun closeVirtualAccount (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun closeVirtualAccountSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun confirmEscrow (Ljava/lang/String;Ljava/lang/Boolean;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun confirmEscrow$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Boolean;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun confirmEscrowSuspend (Ljava/lang/String;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun confirmEscrowSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun confirmIdentityVerification (Ljava/lang/String;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun confirmIdentityVerification$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun confirmIdentityVerificationSuspend (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun confirmIdentityVerificationSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun createPaymentSchedule (Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentInput;Ljava/time/Instant;)Ljava/util/concurrent/CompletableFuture; + public final fun createPaymentScheduleSuspend (Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentInput;Ljava/time/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun deleteBillingKey (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun deleteBillingKeySuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getAllPaymentsByCursor (Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/Integer;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun getAllPaymentsByCursor$default (Lio/portone/sdk/server/PortOneApi;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/Integer;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun getAllPaymentsByCursorSuspend (Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/Integer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun getAllPaymentsByCursorSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/Integer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getApiSecret ()Ljava/lang/String; + public final fun getBillingKeyInfo (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getBillingKeyInfoSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getBillingKeyInfos (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/BillingKeySortInput;Lio/portone/sdk/server/schemas/BillingKeyFilterInput;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun getBillingKeyInfos$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/BillingKeySortInput;Lio/portone/sdk/server/schemas/BillingKeyFilterInput;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun getBillingKeyInfosSuspend (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/BillingKeySortInput;Lio/portone/sdk/server/schemas/BillingKeyFilterInput;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun getBillingKeyInfosSuspend$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/BillingKeySortInput;Lio/portone/sdk/server/schemas/BillingKeyFilterInput;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getCashReceiptByPaymentId (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getCashReceiptByPaymentIdSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getIdentityVerification (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getIdentityVerificationSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getKakaopayPaymentOrder (Ljava/lang/String;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getKakaopayPaymentOrderSuspend (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getPayment (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getPaymentSchedule (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun getPaymentScheduleSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getPaymentSchedules (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun getPaymentSchedules$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun getPaymentSchedulesSuspend (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun getPaymentSchedulesSuspend$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getPaymentSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun getPayments (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentFilterInput;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun getPayments$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentFilterInput;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun getPaymentsSuspend (Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentFilterInput;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun getPaymentsSuspend$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/PageInput;Lio/portone/sdk/server/schemas/PaymentFilterInput;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getStoreId ()Ljava/lang/String; + public final fun issueBillingKey (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun issueBillingKey$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Ljava/util/List;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun issueBillingKeySuspend (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun issueBillingKeySuspend$default (Lio/portone/sdk/server/PortOneApi;Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Ljava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun issueCashReceipt (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;Ljava/time/Instant;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun issueCashReceipt$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;Ljava/time/Instant;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun issueCashReceiptSuspend (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;Ljava/time/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun issueCashReceiptSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;Ljava/time/Instant;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun modifyEscrowLogistics (Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun modifyEscrowLogistics$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun modifyEscrowLogisticsSuspend (Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun modifyEscrowLogisticsSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Lio/portone/sdk/server/schemas/PaymentLogistics;Ljava/lang/Boolean;Ljava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun payInstantly (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun payInstantly$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun payInstantlySuspend (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun payInstantlySuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun payWithBillingKey (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun payWithBillingKey$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun payWithBillingKeySuspend (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun payWithBillingKeySuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun preRegisterPayment (Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun preRegisterPayment$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun preRegisterPaymentSuspend (Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun preRegisterPaymentSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun registerStoreReceipt (Ljava/lang/String;Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; + public final fun registerStoreReceiptSuspend (Ljava/lang/String;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun resendIdentityVerification (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public final fun resendIdentityVerificationSuspend (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun resendWebhook (Ljava/lang/String;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun resendWebhook$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun resendWebhookSuspend (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun resendWebhookSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun revokePaymentSchedules (Ljava/lang/String;Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun revokePaymentSchedules$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun revokePaymentSchedulesSuspend (Ljava/lang/String;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun revokePaymentSchedulesSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun sendIdentityVerification (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Lio/portone/sdk/server/schemas/IdentityVerificationMethod;)Ljava/util/concurrent/CompletableFuture; + public static synthetic fun sendIdentityVerification$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Lio/portone/sdk/server/schemas/IdentityVerificationMethod;ILjava/lang/Object;)Ljava/util/concurrent/CompletableFuture; + public final fun sendIdentityVerificationSuspend (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Lio/portone/sdk/server/schemas/IdentityVerificationMethod;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun sendIdentityVerificationSuspend$default (Lio/portone/sdk/server/PortOneApi;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Lio/portone/sdk/server/schemas/IdentityVerificationMethod;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class io/portone/sdk/server/UnrecognizedException : java/lang/Exception { + public static final field Companion Lio/portone/sdk/server/UnrecognizedException$Companion; +} + +public final class io/portone/sdk/server/UnrecognizedException$Companion { +} + +public abstract interface class io/portone/sdk/server/schemas/Address { + public static final field Companion Lio/portone/sdk/server/schemas/Address$Companion; + public abstract fun getOneLine ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/Address$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/AlreadyPaidException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/AlreadyPaidOrWaitingException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse { + public static final field Companion Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse$Companion; + public fun (Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/time/Instant; + public final fun component3 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Bank : java/lang/Enum { + public static final field BANK_OF_AMERICA Lio/portone/sdk/server/schemas/Bank; + public static final field BANK_OF_CHINA Lio/portone/sdk/server/schemas/Bank; + public static final field BANK_OF_KOREA Lio/portone/sdk/server/schemas/Bank; + public static final field BNK_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field BNP_PARIBAS Lio/portone/sdk/server/schemas/Bank; + public static final field BOCOM Lio/portone/sdk/server/schemas/Bank; + public static final field BOOKOOK_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field BUSAN Lio/portone/sdk/server/schemas/Bank; + public static final field CAPE_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field CCB Lio/portone/sdk/server/schemas/Bank; + public static final field CITI Lio/portone/sdk/server/schemas/Bank; + public static final field Companion Lio/portone/sdk/server/schemas/Bank$Companion; + public static final field DAEGU Lio/portone/sdk/server/schemas/Bank; + public static final field DAISHIN_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field DAOL_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field DB_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field DEUTSCHE Lio/portone/sdk/server/schemas/Bank; + public static final field EBEST_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field EUGENE_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field HANA Lio/portone/sdk/server/schemas/Bank; + public static final field HANA_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field HANHWA_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field HANYANG_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field HI_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field HSBC Lio/portone/sdk/server/schemas/Bank; + public static final field HYUNDAI_MOTOR_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field IBK Lio/portone/sdk/server/schemas/Bank; + public static final field IBK_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field ICBC Lio/portone/sdk/server/schemas/Bank; + public static final field JEJU Lio/portone/sdk/server/schemas/Bank; + public static final field JEONBUK Lio/portone/sdk/server/schemas/Bank; + public static final field JPMC Lio/portone/sdk/server/schemas/Bank; + public static final field KAKAO Lio/portone/sdk/server/schemas/Bank; + public static final field KAKAO_PAY_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KB_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KCIS Lio/portone/sdk/server/schemas/Bank; + public static final field KDB Lio/portone/sdk/server/schemas/Bank; + public static final field KEXIM Lio/portone/sdk/server/schemas/Bank; + public static final field KFCC Lio/portone/sdk/server/schemas/Bank; + public static final field KIBO Lio/portone/sdk/server/schemas/Bank; + public static final field KIWOOM_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KODIT Lio/portone/sdk/server/schemas/Bank; + public static final field KOOKMIN Lio/portone/sdk/server/schemas/Bank; + public static final field KOREA_FOSS_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KOREA_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KOREA_SECURITIES_FINANCE Lio/portone/sdk/server/schemas/Bank; + public static final field KWANGJU Lio/portone/sdk/server/schemas/Bank; + public static final field KYOBO_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field KYONGNAM Lio/portone/sdk/server/schemas/Bank; + public static final field K_BANK Lio/portone/sdk/server/schemas/Bank; + public static final field LEADING_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field LOCAL_NONGHYUP Lio/portone/sdk/server/schemas/Bank; + public static final field MERITZ_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field MIRAE_ASSET_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field MISC_FOREIGN Lio/portone/sdk/server/schemas/Bank; + public static final field MIZUHO Lio/portone/sdk/server/schemas/Bank; + public static final field MORGAN_STANLEY Lio/portone/sdk/server/schemas/Bank; + public static final field MUFG Lio/portone/sdk/server/schemas/Bank; + public static final field NFCF Lio/portone/sdk/server/schemas/Bank; + public static final field NH_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field NONGHYUP Lio/portone/sdk/server/schemas/Bank; + public static final field POST Lio/portone/sdk/server/schemas/Bank; + public static final field SAMSUNG_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field SANGSANGIN_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field SAVINGS_BANK Lio/portone/sdk/server/schemas/Bank; + public static final field SGI Lio/portone/sdk/server/schemas/Bank; + public static final field SHINHAN Lio/portone/sdk/server/schemas/Bank; + public static final field SHINHAN_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field SHINHYUP Lio/portone/sdk/server/schemas/Bank; + public static final field SHINYOUNG_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field SK_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field STANDARD_CHARTERED Lio/portone/sdk/server/schemas/Bank; + public static final field SUHYUP Lio/portone/sdk/server/schemas/Bank; + public static final field TOSS Lio/portone/sdk/server/schemas/Bank; + public static final field TOSS_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static final field UOB Lio/portone/sdk/server/schemas/Bank; + public static final field WOORI Lio/portone/sdk/server/schemas/Bank; + public static final field WOORI_INVESTMENT_BANK Lio/portone/sdk/server/schemas/Bank; + public static final field YUANTA_SECURITIES Lio/portone/sdk/server/schemas/Bank; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/Bank; + public static fun values ()[Lio/portone/sdk/server/schemas/Bank; +} + +public final class io/portone/sdk/server/schemas/Bank$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BeforeRegisteredPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BeforeRegisteredPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/BillingKeyFailure { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyFailure$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/BillingKeyFailure; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyFailure;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyFailure; + public fun equals (Ljava/lang/Object;)Z + public final fun getFailedAt ()Ljava/time/Instant; + public final fun getMessage ()Ljava/lang/String; + public final fun getPgCode ()Ljava/lang/String; + public final fun getPgMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyFailure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyFailure$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyFailure; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyFailure;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyFailure$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyFilterInput { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyFilterInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/BillingKeyTextSearch;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/PortOneVersion;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/BillingKeyTextSearch;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/PortOneVersion;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/util/List; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/util/List; + public final fun component13 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component2 ()Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Ljava/util/List; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Lio/portone/sdk/server/schemas/PaymentClientType; + public final fun component9 ()Lio/portone/sdk/server/schemas/BillingKeyTextSearch; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/BillingKeyTextSearch;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/PortOneVersion;)Lio/portone/sdk/server/schemas/BillingKeyFilterInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyFilterInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/BillingKeyTextSearch;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/PortOneVersion;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyFilterInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getChannelGroupIds ()Ljava/util/List; + public final fun getCustomerId ()Ljava/lang/String; + public final fun getFrom ()Ljava/time/Instant; + public final fun getMethods ()Ljava/util/List; + public final fun getPgCompanies ()Ljava/util/List; + public final fun getPgProviders ()Ljava/util/List; + public final fun getPlatformType ()Lio/portone/sdk/server/schemas/PaymentClientType; + public final fun getStatus ()Ljava/util/List; + public final fun getStoreId ()Ljava/lang/String; + public final fun getTextSearch ()Lio/portone/sdk/server/schemas/BillingKeyTextSearch; + public final fun getTimeRangeField ()Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public final fun getUntil ()Ljava/time/Instant; + public final fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyFilterInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyFilterInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyFilterInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyFilterInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyFilterInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/BillingKeyInfo { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyInfo$Companion; + public abstract fun getBillingKey ()Ljava/lang/String; + public abstract fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public abstract fun getChannels ()Ljava/util/List; + public abstract fun getCustomData ()Ljava/lang/String; + public abstract fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public abstract fun getIssueId ()Ljava/lang/String; + public abstract fun getIssueName ()Ljava/lang/String; + public abstract fun getIssuedAt ()Ljava/time/Instant; + public abstract fun getMerchantId ()Ljava/lang/String; + public abstract fun getMethods ()Ljava/util/List; + public abstract fun getPgBillingKeyIssueResponses ()Ljava/util/List; + public abstract fun getRequestedAt ()Ljava/time/Instant; + public abstract fun getStoreId ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/BillingKeyInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyInfoSummary { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyInfoSummary$Companion; + public fun (Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/BillingKeyInfoSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyInfoSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getBillingKey ()Ljava/lang/String; + public final fun getChannels ()Ljava/util/List; + public final fun getIssuedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyInfoSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyInfoSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyInfoSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyInfoSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/BillingKeyNotIssuedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentInput { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentInput$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/Boolean; + public final fun component11 ()Ljava/lang/Boolean; + public final fun component12 ()Lio/portone/sdk/server/schemas/CashReceiptInput; + public final fun component13 ()Lio/portone/sdk/server/schemas/Country; + public final fun component14 ()Ljava/util/List; + public final fun component15 ()Ljava/util/List; + public final fun component16 ()Ljava/lang/Integer; + public final fun component17 ()Lio/portone/sdk/server/schemas/PaymentProductType; + public final fun component18 ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Lkotlinx/serialization/json/JsonObject; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/CustomerInput; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Lio/portone/sdk/server/schemas/PaymentAmountInput; + public final fun component8 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component9 ()Ljava/lang/Integer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)Lio/portone/sdk/server/schemas/BillingKeyPaymentInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmountInput;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/Country;Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentProductType;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmountInput; + public final fun getBillingKey ()Ljava/lang/String; + public final fun getBypass ()Lkotlinx/serialization/json/JsonObject; + public final fun getCashReceipt ()Lio/portone/sdk/server/schemas/CashReceiptInput; + public final fun getChannelKey ()Ljava/lang/String; + public final fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public final fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public final fun getCustomData ()Ljava/lang/String; + public final fun getCustomer ()Lio/portone/sdk/server/schemas/CustomerInput; + public final fun getInstallmentMonth ()Ljava/lang/Integer; + public final fun getNoticeUrls ()Ljava/util/List; + public final fun getOrderName ()Ljava/lang/String; + public final fun getProductCount ()Ljava/lang/Integer; + public final fun getProductType ()Lio/portone/sdk/server/schemas/PaymentProductType; + public final fun getProducts ()Ljava/util/List; + public final fun getPromotionId ()Ljava/lang/String; + public final fun getShippingAddress ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun getStoreId ()Ljava/lang/String; + public final fun getUseCardPoint ()Ljava/lang/Boolean; + public final fun getUseFreeInterestFromMerchant ()Ljava/lang/Boolean; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/BillingKeyPaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod$Companion; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethod$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard : io/portone/sdk/server/schemas/BillingKeyPaymentMethod, io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/Card;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Card;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Card; + public final fun copy (Lio/portone/sdk/server/schemas/Card;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard;Lio/portone/sdk/server/schemas/Card;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard; + public fun equals (Ljava/lang/Object;)Z + public final fun getCard ()Lio/portone/sdk/server/schemas/Card; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodCard;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay : io/portone/sdk/server/schemas/BillingKeyPaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod;)V + public synthetic fun (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/EasyPayProvider; + public final fun component2 ()Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod; + public final fun copy (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay;Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay; + public fun equals (Ljava/lang/Object;)Z + public final fun getMethod ()Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod; + public final fun getProvider ()Lio/portone/sdk/server/schemas/EasyPayProvider; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayCharge : io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayCharge; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod$Companion; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile : io/portone/sdk/server/schemas/BillingKeyPaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile$Companion; + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile; + public fun equals (Ljava/lang/Object;)Z + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodPaypal : io/portone/sdk/server/schemas/BillingKeyPaymentMethod { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodPaypal; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer : io/portone/sdk/server/schemas/BillingKeyPaymentMethod, io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer;Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer; + public fun equals (Ljava/lang/Object;)Z + public final fun getAccountNumber ()Ljava/lang/String; + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodType : java/lang/Enum { + public static final field CARD Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType$Companion; + public static final field EASY_PAY Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; + public static final field MOBILE Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; + public static final field TRANSFER Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; + public static fun values ()[Lio/portone/sdk/server/schemas/BillingKeyPaymentMethodType; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentMethodType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentSummary { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary$Companion; + public fun (Ljava/lang/String;Ljava/time/Instant;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getPaidAt ()Ljava/time/Instant; + public final fun getPgTxId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyPaymentSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyPaymentSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyPaymentSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeySortBy : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeySortBy$Companion; + public static final field DELETED_AT Lio/portone/sdk/server/schemas/BillingKeySortBy; + public static final field ISSUED_AT Lio/portone/sdk/server/schemas/BillingKeySortBy; + public static final field REQUESTED_AT Lio/portone/sdk/server/schemas/BillingKeySortBy; + public static final field STATUS_TIMESTAMP Lio/portone/sdk/server/schemas/BillingKeySortBy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeySortBy; + public static fun values ()[Lio/portone/sdk/server/schemas/BillingKeySortBy; +} + +public final class io/portone/sdk/server/schemas/BillingKeySortBy$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeySortInput { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeySortInput$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/BillingKeySortBy;Lio/portone/sdk/server/schemas/SortOrder;)V + public synthetic fun (Lio/portone/sdk/server/schemas/BillingKeySortBy;Lio/portone/sdk/server/schemas/SortOrder;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/BillingKeySortBy; + public final fun component2 ()Lio/portone/sdk/server/schemas/SortOrder; + public final fun copy (Lio/portone/sdk/server/schemas/BillingKeySortBy;Lio/portone/sdk/server/schemas/SortOrder;)Lio/portone/sdk/server/schemas/BillingKeySortInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeySortInput;Lio/portone/sdk/server/schemas/BillingKeySortBy;Lio/portone/sdk/server/schemas/SortOrder;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeySortInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getBy ()Lio/portone/sdk/server/schemas/BillingKeySortBy; + public final fun getOrder ()Lio/portone/sdk/server/schemas/SortOrder; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeySortInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeySortInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeySortInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeySortInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeySortInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyStatus : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyStatus$Companion; + public static final field DELETED Lio/portone/sdk/server/schemas/BillingKeyStatus; + public static final field ISSUED Lio/portone/sdk/server/schemas/BillingKeyStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/BillingKeyStatus; +} + +public final class io/portone/sdk/server/schemas/BillingKeyStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTextSearch { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyTextSearch$Companion; + public fun (Lio/portone/sdk/server/schemas/BillingKeyTextSearchField;Ljava/lang/String;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/BillingKeyTextSearchField;Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyTextSearch; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/BillingKeyTextSearch;Lio/portone/sdk/server/schemas/BillingKeyTextSearchField;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/BillingKeyTextSearch; + public fun equals (Ljava/lang/Object;)Z + public final fun getField ()Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public final fun getValue ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/BillingKeyTextSearch$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/BillingKeyTextSearch$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/BillingKeyTextSearch; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/BillingKeyTextSearch;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTextSearch$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTextSearchField : java/lang/Enum { + public static final field BILLING_KEY Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CARD_BIN Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CARD_NUMBER Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CHANNEL_GROUP_NAME Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CUSTOMER_ADDRESS Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CUSTOMER_EMAIL Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CUSTOMER_NAME Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CUSTOMER_PHONE_NUMBER Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field CUSTOMER_ZIPCODE Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyTextSearchField$Companion; + public static final field PG_MERCHANT_ID Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static final field USER_AGENT Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; + public static fun values ()[Lio/portone/sdk/server/schemas/BillingKeyTextSearchField; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTextSearchField$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTimeRangeField : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField$Companion; + public static final field DELETED_AT Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public static final field ISSUED_AT Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public static final field REQUESTED_AT Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public static final field STATUS_TIMESTAMP Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; + public static fun values ()[Lio/portone/sdk/server/schemas/BillingKeyTimeRangeField; +} + +public final class io/portone/sdk/server/schemas/BillingKeyTimeRangeField$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CancelCashReceiptResponse { + public static final field Companion Lio/portone/sdk/server/schemas/CancelCashReceiptResponse$Companion; + public fun (JLjava/time/Instant;)V + public final fun component1 ()J + public final fun component2 ()Ljava/time/Instant; + public final fun copy (JLjava/time/Instant;)Lio/portone/sdk/server/schemas/CancelCashReceiptResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelCashReceiptResponse;JLjava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelCashReceiptResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getCancelledAmount ()J + public final fun getCancelledAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelCashReceiptResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelCashReceiptResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelCashReceiptResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelCashReceiptResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelCashReceiptResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount { + public static final field Companion Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount$Companion; + public fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount; + public fun equals (Ljava/lang/Object;)Z + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public final fun getHolderName ()Ljava/lang/String; + public final fun getHolderPhoneNumber ()Ljava/lang/String; + public final fun getNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelRequester : java/lang/Enum { + public static final field ADMIN Lio/portone/sdk/server/schemas/CancelRequester; + public static final field CUSTOMER Lio/portone/sdk/server/schemas/CancelRequester; + public static final field Companion Lio/portone/sdk/server/schemas/CancelRequester$Companion; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CancelRequester; + public static fun values ()[Lio/portone/sdk/server/schemas/CancelRequester; +} + +public final class io/portone/sdk/server/schemas/CancelRequester$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CancelledCashReceipt : io/portone/sdk/server/schemas/CashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/CancelledCashReceipt$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Z + public final fun component11 ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun component12 ()Ljava/lang/String; + public final fun component13 ()Ljava/lang/String; + public final fun component14 ()Ljava/lang/String; + public final fun component15 ()Ljava/time/Instant; + public final fun component16 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component5 ()J + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Ljava/lang/Long; + public final fun component8 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/CancelledCashReceipt; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelledCashReceipt;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelledCashReceipt; + public fun equals (Ljava/lang/Object;)Z + public final fun getAmount ()J + public final fun getCancelledAt ()Ljava/time/Instant; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public final fun getIssueNumber ()Ljava/lang/String; + public final fun getIssuedAt ()Ljava/time/Instant; + public fun getMerchantId ()Ljava/lang/String; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public final fun getPgReceiptId ()Ljava/lang/String; + public fun getStoreId ()Ljava/lang/String; + public final fun getTaxFreeAmount ()Ljava/lang/Long; + public final fun getType ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun getUrl ()Ljava/lang/String; + public final fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isManual ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelledCashReceipt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelledCashReceipt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelledCashReceipt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelledCashReceipt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/CancelledPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component26 ()Ljava/time/Instant; + public final fun component27 ()Ljava/lang/String; + public final fun component28 ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public final fun component29 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component30 ()Ljava/util/List; + public final fun component31 ()Ljava/time/Instant; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/CancelledPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelledPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelledPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public final fun getCancellations ()Ljava/util/List; + public final fun getCancelledAt ()Ljava/time/Instant; + public final fun getCashReceipt ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public final fun getPaidAt ()Ljava/time/Instant; + public final fun getPgTxId ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public final fun getReceiptUrl ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelledPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelledPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelledPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelledPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPaymentCashReceipt : io/portone/sdk/server/schemas/PaymentCashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt$Companion; + public fun (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()J + public final fun component5 ()Ljava/lang/Long; + public final fun component6 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/time/Instant; + public final fun component9 ()Ljava/time/Instant; + public final fun copy (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt; + public fun equals (Ljava/lang/Object;)Z + public final fun getCancelledAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getIssueNumber ()Ljava/lang/String; + public fun getIssuedAt ()Ljava/time/Instant; + public fun getPgReceiptId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTotalAmount ()J + public fun getType ()Lio/portone/sdk/server/schemas/CashReceiptType; + public fun getUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelledPaymentCashReceipt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelledPaymentCashReceipt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPaymentCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/CancelledPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/CancelledPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CancelledPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CancelledPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CancelledPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CancelledPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CancelledPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CancelledPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CancelledPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Card { + public static final field Companion Lio/portone/sdk/server/schemas/Card$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/CardBrand; + public final fun component4 ()Lio/portone/sdk/server/schemas/CardType; + public final fun component5 ()Lio/portone/sdk/server/schemas/CardOwnerType; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/Card; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/Card;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/Card; + public fun equals (Ljava/lang/Object;)Z + public final fun getBin ()Ljava/lang/String; + public final fun getBrand ()Lio/portone/sdk/server/schemas/CardBrand; + public final fun getIssuer ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getNumber ()Ljava/lang/String; + public final fun getOwnerType ()Lio/portone/sdk/server/schemas/CardOwnerType; + public final fun getPublisher ()Ljava/lang/String; + public final fun getType ()Lio/portone/sdk/server/schemas/CardType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/Card$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/Card$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/Card; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/Card;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Card$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CardBrand : java/lang/Enum { + public static final field AMEX Lio/portone/sdk/server/schemas/CardBrand; + public static final field Companion Lio/portone/sdk/server/schemas/CardBrand$Companion; + public static final field DINERS Lio/portone/sdk/server/schemas/CardBrand; + public static final field JCB Lio/portone/sdk/server/schemas/CardBrand; + public static final field LOCAL Lio/portone/sdk/server/schemas/CardBrand; + public static final field MASTER Lio/portone/sdk/server/schemas/CardBrand; + public static final field UNIONPAY Lio/portone/sdk/server/schemas/CardBrand; + public static final field VISA Lio/portone/sdk/server/schemas/CardBrand; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CardBrand; + public static fun values ()[Lio/portone/sdk/server/schemas/CardBrand; +} + +public final class io/portone/sdk/server/schemas/CardBrand$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CardCredential { + public static final field Companion Lio/portone/sdk/server/schemas/CardCredential$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CardCredential; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CardCredential;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CardCredential; + public fun equals (Ljava/lang/Object;)Z + public final fun getBirthOrBusinessRegistrationNumber ()Ljava/lang/String; + public final fun getExpiryMonth ()Ljava/lang/String; + public final fun getExpiryYear ()Ljava/lang/String; + public final fun getNumber ()Ljava/lang/String; + public final fun getPasswordTwoDigits ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CardCredential$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CardCredential$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CardCredential; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CardCredential;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CardCredential$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CardOwnerType : java/lang/Enum { + public static final field CORPORATE Lio/portone/sdk/server/schemas/CardOwnerType; + public static final field Companion Lio/portone/sdk/server/schemas/CardOwnerType$Companion; + public static final field PERSONAL Lio/portone/sdk/server/schemas/CardOwnerType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CardOwnerType; + public static fun values ()[Lio/portone/sdk/server/schemas/CardOwnerType; +} + +public final class io/portone/sdk/server/schemas/CardOwnerType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CardType : java/lang/Enum { + public static final field CREDIT Lio/portone/sdk/server/schemas/CardType; + public static final field Companion Lio/portone/sdk/server/schemas/CardType$Companion; + public static final field DEBIT Lio/portone/sdk/server/schemas/CardType; + public static final field GIFT Lio/portone/sdk/server/schemas/CardType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CardType; + public static fun values ()[Lio/portone/sdk/server/schemas/CardType; +} + +public final class io/portone/sdk/server/schemas/CardType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/CashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/CashReceipt$Companion; + public abstract fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public abstract fun getMerchantId ()Ljava/lang/String; + public abstract fun getOrderName ()Ljava/lang/String; + public abstract fun getPaymentId ()Ljava/lang/String; + public abstract fun getStoreId ()Ljava/lang/String; + public abstract fun isManual ()Z +} + +public final class io/portone/sdk/server/schemas/CashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CashReceiptInput { + public static final field Companion Lio/portone/sdk/server/schemas/CashReceiptInput$Companion; + public fun (Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CashReceiptInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CashReceiptInput;Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CashReceiptInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getCustomerIdentityNumber ()Ljava/lang/String; + public final fun getType ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CashReceiptInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CashReceiptInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CashReceiptInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CashReceiptInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptInputType : java/lang/Enum { + public static final field CORPORATE Lio/portone/sdk/server/schemas/CashReceiptInputType; + public static final field Companion Lio/portone/sdk/server/schemas/CashReceiptInputType$Companion; + public static final field NO_RECEIPT Lio/portone/sdk/server/schemas/CashReceiptInputType; + public static final field PERSONAL Lio/portone/sdk/server/schemas/CashReceiptInputType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CashReceiptInputType; + public static fun values ()[Lio/portone/sdk/server/schemas/CashReceiptInputType; +} + +public final class io/portone/sdk/server/schemas/CashReceiptInputType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CashReceiptNotIssuedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/CashReceiptSummary { + public static final field Companion Lio/portone/sdk/server/schemas/CashReceiptSummary$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CashReceiptSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CashReceiptSummary;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CashReceiptSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getIssueNumber ()Ljava/lang/String; + public final fun getPgReceiptId ()Ljava/lang/String; + public final fun getUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CashReceiptSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CashReceiptSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CashReceiptSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CashReceiptSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CashReceiptType : java/lang/Enum { + public static final field CORPORATE Lio/portone/sdk/server/schemas/CashReceiptType; + public static final field Companion Lio/portone/sdk/server/schemas/CashReceiptType$Companion; + public static final field PERSONAL Lio/portone/sdk/server/schemas/CashReceiptType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/CashReceiptType; + public static fun values ()[Lio/portone/sdk/server/schemas/CashReceiptType; +} + +public final class io/portone/sdk/server/schemas/CashReceiptType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelGroupSummary { + public static final field Companion Lio/portone/sdk/server/schemas/ChannelGroupSummary$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Z)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Z + public final fun copy (Ljava/lang/String;Ljava/lang/String;Z)Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public final fun isForTest ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ChannelGroupSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ChannelGroupSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ChannelGroupSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelGroupSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificException : java/lang/Exception { + public fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getFailures ()Ljava/util/List; + public final fun getSucceededChannels ()Ljava/util/List; +} + +public abstract interface class io/portone/sdk/server/schemas/ChannelSpecificFailure { + public static final field Companion Lio/portone/sdk/server/schemas/ChannelSpecificFailure$Companion; + public abstract fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public abstract fun getMessage ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificFailure$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest : io/portone/sdk/server/schemas/ChannelSpecificFailure { + public static final field Companion Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest$Companion; + public fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;)Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider : io/portone/sdk/server/schemas/ChannelSpecificFailure { + public static final field Companion Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider$Companion; + public fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getMessage ()Ljava/lang/String; + public final fun getPgCode ()Ljava/lang/String; + public final fun getPgMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CloseVirtualAccountResponse { + public static final field Companion Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse$Companion; + public fun (Ljava/time/Instant;)V + public final fun component1 ()Ljava/time/Instant; + public final fun copy (Ljava/time/Instant;)Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getClosedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CloseVirtualAccountResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CloseVirtualAccountResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CloseVirtualAccountResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ConfirmEscrowResponse { + public static final field Companion Lio/portone/sdk/server/schemas/ConfirmEscrowResponse$Companion; + public fun (Ljava/time/Instant;)V + public final fun component1 ()Ljava/time/Instant; + public final fun copy (Ljava/time/Instant;)Lio/portone/sdk/server/schemas/ConfirmEscrowResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ConfirmEscrowResponse;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ConfirmEscrowResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getCompletedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ConfirmEscrowResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ConfirmEscrowResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ConfirmEscrowResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ConfirmEscrowResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ConfirmEscrowResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ConfirmedPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Z)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun component5 ()Z + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Z)Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ZILjava/lang/Object;)Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public final fun isAutomaticallyConfirmed ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ConfirmedPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ConfirmedPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ConfirmedPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Country : java/lang/Enum { + public static final field AD Lio/portone/sdk/server/schemas/Country; + public static final field AE Lio/portone/sdk/server/schemas/Country; + public static final field AF Lio/portone/sdk/server/schemas/Country; + public static final field AG Lio/portone/sdk/server/schemas/Country; + public static final field AI Lio/portone/sdk/server/schemas/Country; + public static final field AL Lio/portone/sdk/server/schemas/Country; + public static final field AM Lio/portone/sdk/server/schemas/Country; + public static final field AO Lio/portone/sdk/server/schemas/Country; + public static final field AQ Lio/portone/sdk/server/schemas/Country; + public static final field AR Lio/portone/sdk/server/schemas/Country; + public static final field AS Lio/portone/sdk/server/schemas/Country; + public static final field AT Lio/portone/sdk/server/schemas/Country; + public static final field AU Lio/portone/sdk/server/schemas/Country; + public static final field AW Lio/portone/sdk/server/schemas/Country; + public static final field AX Lio/portone/sdk/server/schemas/Country; + public static final field AZ Lio/portone/sdk/server/schemas/Country; + public static final field BA Lio/portone/sdk/server/schemas/Country; + public static final field BB Lio/portone/sdk/server/schemas/Country; + public static final field BD Lio/portone/sdk/server/schemas/Country; + public static final field BE Lio/portone/sdk/server/schemas/Country; + public static final field BF Lio/portone/sdk/server/schemas/Country; + public static final field BG Lio/portone/sdk/server/schemas/Country; + public static final field BH Lio/portone/sdk/server/schemas/Country; + public static final field BI Lio/portone/sdk/server/schemas/Country; + public static final field BJ Lio/portone/sdk/server/schemas/Country; + public static final field BL Lio/portone/sdk/server/schemas/Country; + public static final field BM Lio/portone/sdk/server/schemas/Country; + public static final field BN Lio/portone/sdk/server/schemas/Country; + public static final field BO Lio/portone/sdk/server/schemas/Country; + public static final field BQ Lio/portone/sdk/server/schemas/Country; + public static final field BR Lio/portone/sdk/server/schemas/Country; + public static final field BS Lio/portone/sdk/server/schemas/Country; + public static final field BT Lio/portone/sdk/server/schemas/Country; + public static final field BV Lio/portone/sdk/server/schemas/Country; + public static final field BW Lio/portone/sdk/server/schemas/Country; + public static final field BY Lio/portone/sdk/server/schemas/Country; + public static final field BZ Lio/portone/sdk/server/schemas/Country; + public static final field CA Lio/portone/sdk/server/schemas/Country; + public static final field CC Lio/portone/sdk/server/schemas/Country; + public static final field CD Lio/portone/sdk/server/schemas/Country; + public static final field CF Lio/portone/sdk/server/schemas/Country; + public static final field CG Lio/portone/sdk/server/schemas/Country; + public static final field CH Lio/portone/sdk/server/schemas/Country; + public static final field CI Lio/portone/sdk/server/schemas/Country; + public static final field CK Lio/portone/sdk/server/schemas/Country; + public static final field CL Lio/portone/sdk/server/schemas/Country; + public static final field CM Lio/portone/sdk/server/schemas/Country; + public static final field CN Lio/portone/sdk/server/schemas/Country; + public static final field CO Lio/portone/sdk/server/schemas/Country; + public static final field CR Lio/portone/sdk/server/schemas/Country; + public static final field CU Lio/portone/sdk/server/schemas/Country; + public static final field CV Lio/portone/sdk/server/schemas/Country; + public static final field CW Lio/portone/sdk/server/schemas/Country; + public static final field CX Lio/portone/sdk/server/schemas/Country; + public static final field CY Lio/portone/sdk/server/schemas/Country; + public static final field CZ Lio/portone/sdk/server/schemas/Country; + public static final field Companion Lio/portone/sdk/server/schemas/Country$Companion; + public static final field DE Lio/portone/sdk/server/schemas/Country; + public static final field DJ Lio/portone/sdk/server/schemas/Country; + public static final field DK Lio/portone/sdk/server/schemas/Country; + public static final field DM Lio/portone/sdk/server/schemas/Country; + public static final field DO Lio/portone/sdk/server/schemas/Country; + public static final field DZ Lio/portone/sdk/server/schemas/Country; + public static final field EC Lio/portone/sdk/server/schemas/Country; + public static final field EE Lio/portone/sdk/server/schemas/Country; + public static final field EG Lio/portone/sdk/server/schemas/Country; + public static final field EH Lio/portone/sdk/server/schemas/Country; + public static final field ER Lio/portone/sdk/server/schemas/Country; + public static final field ES Lio/portone/sdk/server/schemas/Country; + public static final field ET Lio/portone/sdk/server/schemas/Country; + public static final field FI Lio/portone/sdk/server/schemas/Country; + public static final field FJ Lio/portone/sdk/server/schemas/Country; + public static final field FK Lio/portone/sdk/server/schemas/Country; + public static final field FM Lio/portone/sdk/server/schemas/Country; + public static final field FO Lio/portone/sdk/server/schemas/Country; + public static final field FR Lio/portone/sdk/server/schemas/Country; + public static final field GA Lio/portone/sdk/server/schemas/Country; + public static final field GB Lio/portone/sdk/server/schemas/Country; + public static final field GD Lio/portone/sdk/server/schemas/Country; + public static final field GE Lio/portone/sdk/server/schemas/Country; + public static final field GF Lio/portone/sdk/server/schemas/Country; + public static final field GG Lio/portone/sdk/server/schemas/Country; + public static final field GH Lio/portone/sdk/server/schemas/Country; + public static final field GI Lio/portone/sdk/server/schemas/Country; + public static final field GL Lio/portone/sdk/server/schemas/Country; + public static final field GM Lio/portone/sdk/server/schemas/Country; + public static final field GN Lio/portone/sdk/server/schemas/Country; + public static final field GP Lio/portone/sdk/server/schemas/Country; + public static final field GQ Lio/portone/sdk/server/schemas/Country; + public static final field GR Lio/portone/sdk/server/schemas/Country; + public static final field GS Lio/portone/sdk/server/schemas/Country; + public static final field GT Lio/portone/sdk/server/schemas/Country; + public static final field GU Lio/portone/sdk/server/schemas/Country; + public static final field GW Lio/portone/sdk/server/schemas/Country; + public static final field GY Lio/portone/sdk/server/schemas/Country; + public static final field HK Lio/portone/sdk/server/schemas/Country; + public static final field HM Lio/portone/sdk/server/schemas/Country; + public static final field HN Lio/portone/sdk/server/schemas/Country; + public static final field HR Lio/portone/sdk/server/schemas/Country; + public static final field HT Lio/portone/sdk/server/schemas/Country; + public static final field HU Lio/portone/sdk/server/schemas/Country; + public static final field ID Lio/portone/sdk/server/schemas/Country; + public static final field IE Lio/portone/sdk/server/schemas/Country; + public static final field IL Lio/portone/sdk/server/schemas/Country; + public static final field IM Lio/portone/sdk/server/schemas/Country; + public static final field IN Lio/portone/sdk/server/schemas/Country; + public static final field IO Lio/portone/sdk/server/schemas/Country; + public static final field IQ Lio/portone/sdk/server/schemas/Country; + public static final field IR Lio/portone/sdk/server/schemas/Country; + public static final field IS Lio/portone/sdk/server/schemas/Country; + public static final field IT Lio/portone/sdk/server/schemas/Country; + public static final field JE Lio/portone/sdk/server/schemas/Country; + public static final field JM Lio/portone/sdk/server/schemas/Country; + public static final field JO Lio/portone/sdk/server/schemas/Country; + public static final field JP Lio/portone/sdk/server/schemas/Country; + public static final field KE Lio/portone/sdk/server/schemas/Country; + public static final field KG Lio/portone/sdk/server/schemas/Country; + public static final field KH Lio/portone/sdk/server/schemas/Country; + public static final field KI Lio/portone/sdk/server/schemas/Country; + public static final field KM Lio/portone/sdk/server/schemas/Country; + public static final field KN Lio/portone/sdk/server/schemas/Country; + public static final field KP Lio/portone/sdk/server/schemas/Country; + public static final field KR Lio/portone/sdk/server/schemas/Country; + public static final field KW Lio/portone/sdk/server/schemas/Country; + public static final field KY Lio/portone/sdk/server/schemas/Country; + public static final field KZ Lio/portone/sdk/server/schemas/Country; + public static final field LA Lio/portone/sdk/server/schemas/Country; + public static final field LB Lio/portone/sdk/server/schemas/Country; + public static final field LC Lio/portone/sdk/server/schemas/Country; + public static final field LI Lio/portone/sdk/server/schemas/Country; + public static final field LK Lio/portone/sdk/server/schemas/Country; + public static final field LR Lio/portone/sdk/server/schemas/Country; + public static final field LS Lio/portone/sdk/server/schemas/Country; + public static final field LT Lio/portone/sdk/server/schemas/Country; + public static final field LU Lio/portone/sdk/server/schemas/Country; + public static final field LV Lio/portone/sdk/server/schemas/Country; + public static final field LY Lio/portone/sdk/server/schemas/Country; + public static final field MA Lio/portone/sdk/server/schemas/Country; + public static final field MC Lio/portone/sdk/server/schemas/Country; + public static final field MD Lio/portone/sdk/server/schemas/Country; + public static final field ME Lio/portone/sdk/server/schemas/Country; + public static final field MF Lio/portone/sdk/server/schemas/Country; + public static final field MG Lio/portone/sdk/server/schemas/Country; + public static final field MH Lio/portone/sdk/server/schemas/Country; + public static final field MK Lio/portone/sdk/server/schemas/Country; + public static final field ML Lio/portone/sdk/server/schemas/Country; + public static final field MM Lio/portone/sdk/server/schemas/Country; + public static final field MN Lio/portone/sdk/server/schemas/Country; + public static final field MO Lio/portone/sdk/server/schemas/Country; + public static final field MP Lio/portone/sdk/server/schemas/Country; + public static final field MQ Lio/portone/sdk/server/schemas/Country; + public static final field MR Lio/portone/sdk/server/schemas/Country; + public static final field MS Lio/portone/sdk/server/schemas/Country; + public static final field MT Lio/portone/sdk/server/schemas/Country; + public static final field MU Lio/portone/sdk/server/schemas/Country; + public static final field MV Lio/portone/sdk/server/schemas/Country; + public static final field MW Lio/portone/sdk/server/schemas/Country; + public static final field MX Lio/portone/sdk/server/schemas/Country; + public static final field MY Lio/portone/sdk/server/schemas/Country; + public static final field MZ Lio/portone/sdk/server/schemas/Country; + public static final field NA Lio/portone/sdk/server/schemas/Country; + public static final field NC Lio/portone/sdk/server/schemas/Country; + public static final field NE Lio/portone/sdk/server/schemas/Country; + public static final field NF Lio/portone/sdk/server/schemas/Country; + public static final field NG Lio/portone/sdk/server/schemas/Country; + public static final field NI Lio/portone/sdk/server/schemas/Country; + public static final field NL Lio/portone/sdk/server/schemas/Country; + public static final field NO Lio/portone/sdk/server/schemas/Country; + public static final field NP Lio/portone/sdk/server/schemas/Country; + public static final field NR Lio/portone/sdk/server/schemas/Country; + public static final field NU Lio/portone/sdk/server/schemas/Country; + public static final field NZ Lio/portone/sdk/server/schemas/Country; + public static final field OM Lio/portone/sdk/server/schemas/Country; + public static final field PA Lio/portone/sdk/server/schemas/Country; + public static final field PE Lio/portone/sdk/server/schemas/Country; + public static final field PF Lio/portone/sdk/server/schemas/Country; + public static final field PG Lio/portone/sdk/server/schemas/Country; + public static final field PH Lio/portone/sdk/server/schemas/Country; + public static final field PK Lio/portone/sdk/server/schemas/Country; + public static final field PL Lio/portone/sdk/server/schemas/Country; + public static final field PM Lio/portone/sdk/server/schemas/Country; + public static final field PN Lio/portone/sdk/server/schemas/Country; + public static final field PR Lio/portone/sdk/server/schemas/Country; + public static final field PS Lio/portone/sdk/server/schemas/Country; + public static final field PT Lio/portone/sdk/server/schemas/Country; + public static final field PW Lio/portone/sdk/server/schemas/Country; + public static final field PY Lio/portone/sdk/server/schemas/Country; + public static final field QA Lio/portone/sdk/server/schemas/Country; + public static final field RE Lio/portone/sdk/server/schemas/Country; + public static final field RO Lio/portone/sdk/server/schemas/Country; + public static final field RS Lio/portone/sdk/server/schemas/Country; + public static final field RU Lio/portone/sdk/server/schemas/Country; + public static final field RW Lio/portone/sdk/server/schemas/Country; + public static final field SA Lio/portone/sdk/server/schemas/Country; + public static final field SB Lio/portone/sdk/server/schemas/Country; + public static final field SC Lio/portone/sdk/server/schemas/Country; + public static final field SD Lio/portone/sdk/server/schemas/Country; + public static final field SE Lio/portone/sdk/server/schemas/Country; + public static final field SG Lio/portone/sdk/server/schemas/Country; + public static final field SH Lio/portone/sdk/server/schemas/Country; + public static final field SI Lio/portone/sdk/server/schemas/Country; + public static final field SJ Lio/portone/sdk/server/schemas/Country; + public static final field SK Lio/portone/sdk/server/schemas/Country; + public static final field SL Lio/portone/sdk/server/schemas/Country; + public static final field SM Lio/portone/sdk/server/schemas/Country; + public static final field SN Lio/portone/sdk/server/schemas/Country; + public static final field SO Lio/portone/sdk/server/schemas/Country; + public static final field SR Lio/portone/sdk/server/schemas/Country; + public static final field SS Lio/portone/sdk/server/schemas/Country; + public static final field ST Lio/portone/sdk/server/schemas/Country; + public static final field SV Lio/portone/sdk/server/schemas/Country; + public static final field SX Lio/portone/sdk/server/schemas/Country; + public static final field SY Lio/portone/sdk/server/schemas/Country; + public static final field SZ Lio/portone/sdk/server/schemas/Country; + public static final field TC Lio/portone/sdk/server/schemas/Country; + public static final field TD Lio/portone/sdk/server/schemas/Country; + public static final field TF Lio/portone/sdk/server/schemas/Country; + public static final field TG Lio/portone/sdk/server/schemas/Country; + public static final field TH Lio/portone/sdk/server/schemas/Country; + public static final field TJ Lio/portone/sdk/server/schemas/Country; + public static final field TK Lio/portone/sdk/server/schemas/Country; + public static final field TL Lio/portone/sdk/server/schemas/Country; + public static final field TM Lio/portone/sdk/server/schemas/Country; + public static final field TN Lio/portone/sdk/server/schemas/Country; + public static final field TO Lio/portone/sdk/server/schemas/Country; + public static final field TR Lio/portone/sdk/server/schemas/Country; + public static final field TT Lio/portone/sdk/server/schemas/Country; + public static final field TV Lio/portone/sdk/server/schemas/Country; + public static final field TW Lio/portone/sdk/server/schemas/Country; + public static final field TZ Lio/portone/sdk/server/schemas/Country; + public static final field UA Lio/portone/sdk/server/schemas/Country; + public static final field UG Lio/portone/sdk/server/schemas/Country; + public static final field UM Lio/portone/sdk/server/schemas/Country; + public static final field US Lio/portone/sdk/server/schemas/Country; + public static final field UY Lio/portone/sdk/server/schemas/Country; + public static final field UZ Lio/portone/sdk/server/schemas/Country; + public static final field VA Lio/portone/sdk/server/schemas/Country; + public static final field VC Lio/portone/sdk/server/schemas/Country; + public static final field VE Lio/portone/sdk/server/schemas/Country; + public static final field VG Lio/portone/sdk/server/schemas/Country; + public static final field VI Lio/portone/sdk/server/schemas/Country; + public static final field VN Lio/portone/sdk/server/schemas/Country; + public static final field VU Lio/portone/sdk/server/schemas/Country; + public static final field WF Lio/portone/sdk/server/schemas/Country; + public static final field WS Lio/portone/sdk/server/schemas/Country; + public static final field YE Lio/portone/sdk/server/schemas/Country; + public static final field YT Lio/portone/sdk/server/schemas/Country; + public static final field ZA Lio/portone/sdk/server/schemas/Country; + public static final field ZM Lio/portone/sdk/server/schemas/Country; + public static final field ZW Lio/portone/sdk/server/schemas/Country; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/Country; + public static fun values ()[Lio/portone/sdk/server/schemas/Country; +} + +public final class io/portone/sdk/server/schemas/Country$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Currency : java/lang/Enum { + public static final field AED Lio/portone/sdk/server/schemas/Currency; + public static final field AFN Lio/portone/sdk/server/schemas/Currency; + public static final field ALL Lio/portone/sdk/server/schemas/Currency; + public static final field AMD Lio/portone/sdk/server/schemas/Currency; + public static final field ANG Lio/portone/sdk/server/schemas/Currency; + public static final field AOA Lio/portone/sdk/server/schemas/Currency; + public static final field ARS Lio/portone/sdk/server/schemas/Currency; + public static final field AUD Lio/portone/sdk/server/schemas/Currency; + public static final field AWG Lio/portone/sdk/server/schemas/Currency; + public static final field AZN Lio/portone/sdk/server/schemas/Currency; + public static final field BAM Lio/portone/sdk/server/schemas/Currency; + public static final field BBD Lio/portone/sdk/server/schemas/Currency; + public static final field BDT Lio/portone/sdk/server/schemas/Currency; + public static final field BGN Lio/portone/sdk/server/schemas/Currency; + public static final field BHD Lio/portone/sdk/server/schemas/Currency; + public static final field BIF Lio/portone/sdk/server/schemas/Currency; + public static final field BMD Lio/portone/sdk/server/schemas/Currency; + public static final field BND Lio/portone/sdk/server/schemas/Currency; + public static final field BOB Lio/portone/sdk/server/schemas/Currency; + public static final field BOV Lio/portone/sdk/server/schemas/Currency; + public static final field BRL Lio/portone/sdk/server/schemas/Currency; + public static final field BSD Lio/portone/sdk/server/schemas/Currency; + public static final field BTN Lio/portone/sdk/server/schemas/Currency; + public static final field BWP Lio/portone/sdk/server/schemas/Currency; + public static final field BYN Lio/portone/sdk/server/schemas/Currency; + public static final field BZD Lio/portone/sdk/server/schemas/Currency; + public static final field CAD Lio/portone/sdk/server/schemas/Currency; + public static final field CDF Lio/portone/sdk/server/schemas/Currency; + public static final field CHE Lio/portone/sdk/server/schemas/Currency; + public static final field CHF Lio/portone/sdk/server/schemas/Currency; + public static final field CHW Lio/portone/sdk/server/schemas/Currency; + public static final field CLF Lio/portone/sdk/server/schemas/Currency; + public static final field CLP Lio/portone/sdk/server/schemas/Currency; + public static final field CNY Lio/portone/sdk/server/schemas/Currency; + public static final field COP Lio/portone/sdk/server/schemas/Currency; + public static final field COU Lio/portone/sdk/server/schemas/Currency; + public static final field CRC Lio/portone/sdk/server/schemas/Currency; + public static final field CUC Lio/portone/sdk/server/schemas/Currency; + public static final field CUP Lio/portone/sdk/server/schemas/Currency; + public static final field CVE Lio/portone/sdk/server/schemas/Currency; + public static final field CZK Lio/portone/sdk/server/schemas/Currency; + public static final field Companion Lio/portone/sdk/server/schemas/Currency$Companion; + public static final field DJF Lio/portone/sdk/server/schemas/Currency; + public static final field DKK Lio/portone/sdk/server/schemas/Currency; + public static final field DOP Lio/portone/sdk/server/schemas/Currency; + public static final field DZD Lio/portone/sdk/server/schemas/Currency; + public static final field EGP Lio/portone/sdk/server/schemas/Currency; + public static final field ERN Lio/portone/sdk/server/schemas/Currency; + public static final field ETB Lio/portone/sdk/server/schemas/Currency; + public static final field EUR Lio/portone/sdk/server/schemas/Currency; + public static final field FJD Lio/portone/sdk/server/schemas/Currency; + public static final field FKP Lio/portone/sdk/server/schemas/Currency; + public static final field GBP Lio/portone/sdk/server/schemas/Currency; + public static final field GEL Lio/portone/sdk/server/schemas/Currency; + public static final field GHS Lio/portone/sdk/server/schemas/Currency; + public static final field GIP Lio/portone/sdk/server/schemas/Currency; + public static final field GMD Lio/portone/sdk/server/schemas/Currency; + public static final field GNF Lio/portone/sdk/server/schemas/Currency; + public static final field GTQ Lio/portone/sdk/server/schemas/Currency; + public static final field GYD Lio/portone/sdk/server/schemas/Currency; + public static final field HKD Lio/portone/sdk/server/schemas/Currency; + public static final field HNL Lio/portone/sdk/server/schemas/Currency; + public static final field HRK Lio/portone/sdk/server/schemas/Currency; + public static final field HTG Lio/portone/sdk/server/schemas/Currency; + public static final field HUF Lio/portone/sdk/server/schemas/Currency; + public static final field IDR Lio/portone/sdk/server/schemas/Currency; + public static final field ILS Lio/portone/sdk/server/schemas/Currency; + public static final field INR Lio/portone/sdk/server/schemas/Currency; + public static final field IQD Lio/portone/sdk/server/schemas/Currency; + public static final field IRR Lio/portone/sdk/server/schemas/Currency; + public static final field ISK Lio/portone/sdk/server/schemas/Currency; + public static final field JMD Lio/portone/sdk/server/schemas/Currency; + public static final field JOD Lio/portone/sdk/server/schemas/Currency; + public static final field JPY Lio/portone/sdk/server/schemas/Currency; + public static final field KES Lio/portone/sdk/server/schemas/Currency; + public static final field KGS Lio/portone/sdk/server/schemas/Currency; + public static final field KHR Lio/portone/sdk/server/schemas/Currency; + public static final field KMF Lio/portone/sdk/server/schemas/Currency; + public static final field KPW Lio/portone/sdk/server/schemas/Currency; + public static final field KRW Lio/portone/sdk/server/schemas/Currency; + public static final field KWD Lio/portone/sdk/server/schemas/Currency; + public static final field KYD Lio/portone/sdk/server/schemas/Currency; + public static final field KZT Lio/portone/sdk/server/schemas/Currency; + public static final field LAK Lio/portone/sdk/server/schemas/Currency; + public static final field LBP Lio/portone/sdk/server/schemas/Currency; + public static final field LKR Lio/portone/sdk/server/schemas/Currency; + public static final field LRD Lio/portone/sdk/server/schemas/Currency; + public static final field LSL Lio/portone/sdk/server/schemas/Currency; + public static final field LYD Lio/portone/sdk/server/schemas/Currency; + public static final field MAD Lio/portone/sdk/server/schemas/Currency; + public static final field MDL Lio/portone/sdk/server/schemas/Currency; + public static final field MGA Lio/portone/sdk/server/schemas/Currency; + public static final field MKD Lio/portone/sdk/server/schemas/Currency; + public static final field MMK Lio/portone/sdk/server/schemas/Currency; + public static final field MNT Lio/portone/sdk/server/schemas/Currency; + public static final field MOP Lio/portone/sdk/server/schemas/Currency; + public static final field MRU Lio/portone/sdk/server/schemas/Currency; + public static final field MUR Lio/portone/sdk/server/schemas/Currency; + public static final field MVR Lio/portone/sdk/server/schemas/Currency; + public static final field MWK Lio/portone/sdk/server/schemas/Currency; + public static final field MXN Lio/portone/sdk/server/schemas/Currency; + public static final field MXV Lio/portone/sdk/server/schemas/Currency; + public static final field MYR Lio/portone/sdk/server/schemas/Currency; + public static final field MZN Lio/portone/sdk/server/schemas/Currency; + public static final field NAD Lio/portone/sdk/server/schemas/Currency; + public static final field NGN Lio/portone/sdk/server/schemas/Currency; + public static final field NIO Lio/portone/sdk/server/schemas/Currency; + public static final field NOK Lio/portone/sdk/server/schemas/Currency; + public static final field NPR Lio/portone/sdk/server/schemas/Currency; + public static final field NZD Lio/portone/sdk/server/schemas/Currency; + public static final field OMR Lio/portone/sdk/server/schemas/Currency; + public static final field PAB Lio/portone/sdk/server/schemas/Currency; + public static final field PEN Lio/portone/sdk/server/schemas/Currency; + public static final field PGK Lio/portone/sdk/server/schemas/Currency; + public static final field PHP Lio/portone/sdk/server/schemas/Currency; + public static final field PKR Lio/portone/sdk/server/schemas/Currency; + public static final field PLN Lio/portone/sdk/server/schemas/Currency; + public static final field PYG Lio/portone/sdk/server/schemas/Currency; + public static final field QAR Lio/portone/sdk/server/schemas/Currency; + public static final field RON Lio/portone/sdk/server/schemas/Currency; + public static final field RSD Lio/portone/sdk/server/schemas/Currency; + public static final field RUB Lio/portone/sdk/server/schemas/Currency; + public static final field RWF Lio/portone/sdk/server/schemas/Currency; + public static final field SAR Lio/portone/sdk/server/schemas/Currency; + public static final field SBD Lio/portone/sdk/server/schemas/Currency; + public static final field SCR Lio/portone/sdk/server/schemas/Currency; + public static final field SDG Lio/portone/sdk/server/schemas/Currency; + public static final field SEK Lio/portone/sdk/server/schemas/Currency; + public static final field SGD Lio/portone/sdk/server/schemas/Currency; + public static final field SHP Lio/portone/sdk/server/schemas/Currency; + public static final field SLE Lio/portone/sdk/server/schemas/Currency; + public static final field SLL Lio/portone/sdk/server/schemas/Currency; + public static final field SOS Lio/portone/sdk/server/schemas/Currency; + public static final field SRD Lio/portone/sdk/server/schemas/Currency; + public static final field SSP Lio/portone/sdk/server/schemas/Currency; + public static final field STN Lio/portone/sdk/server/schemas/Currency; + public static final field SVC Lio/portone/sdk/server/schemas/Currency; + public static final field SYP Lio/portone/sdk/server/schemas/Currency; + public static final field SZL Lio/portone/sdk/server/schemas/Currency; + public static final field THB Lio/portone/sdk/server/schemas/Currency; + public static final field TJS Lio/portone/sdk/server/schemas/Currency; + public static final field TMT Lio/portone/sdk/server/schemas/Currency; + public static final field TND Lio/portone/sdk/server/schemas/Currency; + public static final field TOP Lio/portone/sdk/server/schemas/Currency; + public static final field TRY Lio/portone/sdk/server/schemas/Currency; + public static final field TTD Lio/portone/sdk/server/schemas/Currency; + public static final field TWD Lio/portone/sdk/server/schemas/Currency; + public static final field TZS Lio/portone/sdk/server/schemas/Currency; + public static final field UAH Lio/portone/sdk/server/schemas/Currency; + public static final field UGX Lio/portone/sdk/server/schemas/Currency; + public static final field USD Lio/portone/sdk/server/schemas/Currency; + public static final field USN Lio/portone/sdk/server/schemas/Currency; + public static final field UYI Lio/portone/sdk/server/schemas/Currency; + public static final field UYU Lio/portone/sdk/server/schemas/Currency; + public static final field UYW Lio/portone/sdk/server/schemas/Currency; + public static final field UZS Lio/portone/sdk/server/schemas/Currency; + public static final field VED Lio/portone/sdk/server/schemas/Currency; + public static final field VES Lio/portone/sdk/server/schemas/Currency; + public static final field VND Lio/portone/sdk/server/schemas/Currency; + public static final field VUV Lio/portone/sdk/server/schemas/Currency; + public static final field WST Lio/portone/sdk/server/schemas/Currency; + public static final field XAF Lio/portone/sdk/server/schemas/Currency; + public static final field XAG Lio/portone/sdk/server/schemas/Currency; + public static final field XAU Lio/portone/sdk/server/schemas/Currency; + public static final field XBA Lio/portone/sdk/server/schemas/Currency; + public static final field XBB Lio/portone/sdk/server/schemas/Currency; + public static final field XBC Lio/portone/sdk/server/schemas/Currency; + public static final field XBD Lio/portone/sdk/server/schemas/Currency; + public static final field XCD Lio/portone/sdk/server/schemas/Currency; + public static final field XDR Lio/portone/sdk/server/schemas/Currency; + public static final field XOF Lio/portone/sdk/server/schemas/Currency; + public static final field XPD Lio/portone/sdk/server/schemas/Currency; + public static final field XPF Lio/portone/sdk/server/schemas/Currency; + public static final field XPT Lio/portone/sdk/server/schemas/Currency; + public static final field XSU Lio/portone/sdk/server/schemas/Currency; + public static final field XTS Lio/portone/sdk/server/schemas/Currency; + public static final field XUA Lio/portone/sdk/server/schemas/Currency; + public static final field XXX Lio/portone/sdk/server/schemas/Currency; + public static final field YER Lio/portone/sdk/server/schemas/Currency; + public static final field ZAR Lio/portone/sdk/server/schemas/Currency; + public static final field ZMW Lio/portone/sdk/server/schemas/Currency; + public static final field ZWL Lio/portone/sdk/server/schemas/Currency; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/Currency; + public static fun values ()[Lio/portone/sdk/server/schemas/Currency; +} + +public final class io/portone/sdk/server/schemas/Currency$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Customer { + public static final field Companion Lio/portone/sdk/server/schemas/Customer$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Address;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Address;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/Gender; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Lio/portone/sdk/server/schemas/Address; + public final fun component8 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Address;Ljava/lang/String;)Lio/portone/sdk/server/schemas/Customer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Address;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/Customer; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddress ()Lio/portone/sdk/server/schemas/Address; + public final fun getBirthYear ()Ljava/lang/String; + public final fun getEmail ()Ljava/lang/String; + public final fun getGender ()Lio/portone/sdk/server/schemas/Gender; + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public final fun getZipcode ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/Customer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/Customer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/Customer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/Customer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/Customer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerInput { + public static final field Companion Lio/portone/sdk/server/schemas/CustomerInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerNameInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerNameInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun component11 ()Ljava/lang/String; + public final fun component12 ()Ljava/lang/String; + public final fun component2 ()Lio/portone/sdk/server/schemas/CustomerNameInput; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Lio/portone/sdk/server/schemas/Country; + public final fun component7 ()Lio/portone/sdk/server/schemas/Gender; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerNameInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CustomerInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CustomerInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerNameInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CustomerInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddress ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun getBirthDay ()Ljava/lang/String; + public final fun getBirthMonth ()Ljava/lang/String; + public final fun getBirthYear ()Ljava/lang/String; + public final fun getBusinessRegistrationNumber ()Ljava/lang/String; + public final fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public final fun getEmail ()Ljava/lang/String; + public final fun getGender ()Lio/portone/sdk/server/schemas/Gender; + public final fun getId ()Ljava/lang/String; + public final fun getName ()Lio/portone/sdk/server/schemas/CustomerNameInput; + public final fun getPhoneNumber ()Ljava/lang/String; + public final fun getZipcode ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CustomerInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CustomerInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CustomerInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CustomerInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerNameInput { + public static final field Companion Lio/portone/sdk/server/schemas/CustomerNameInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerSeparatedName;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerSeparatedName;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lio/portone/sdk/server/schemas/CustomerSeparatedName; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerSeparatedName;)Lio/portone/sdk/server/schemas/CustomerNameInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CustomerNameInput;Ljava/lang/String;Lio/portone/sdk/server/schemas/CustomerSeparatedName;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CustomerNameInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getFull ()Ljava/lang/String; + public final fun getSeparated ()Lio/portone/sdk/server/schemas/CustomerSeparatedName; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CustomerNameInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CustomerNameInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CustomerNameInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CustomerNameInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerNameInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerSeparatedName { + public static final field Companion Lio/portone/sdk/server/schemas/CustomerSeparatedName$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/CustomerSeparatedName; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/CustomerSeparatedName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/CustomerSeparatedName; + public fun equals (Ljava/lang/Object;)Z + public final fun getFirst ()Ljava/lang/String; + public final fun getLast ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/CustomerSeparatedName$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/CustomerSeparatedName$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/CustomerSeparatedName; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/CustomerSeparatedName;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/CustomerSeparatedName$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DateTimeRange { + public static final field Companion Lio/portone/sdk/server/schemas/DateTimeRange$Companion; + public fun (Ljava/time/Instant;Ljava/time/Instant;)V + public final fun component1 ()Ljava/time/Instant; + public final fun component2 ()Ljava/time/Instant; + public final fun copy (Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/DateTimeRange; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/DateTimeRange;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/DateTimeRange; + public fun equals (Ljava/lang/Object;)Z + public final fun getFrom ()Ljava/time/Instant; + public final fun getUntil ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/DateTimeRange$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/DateTimeRange$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/DateTimeRange; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/DateTimeRange;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DateTimeRange$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeleteBillingKeyResponse { + public static final field Companion Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse$Companion; + public fun (Ljava/time/Instant;)V + public final fun component1 ()Ljava/time/Instant; + public final fun copy (Ljava/time/Instant;)Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getDeletedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/DeleteBillingKeyResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/DeleteBillingKeyResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeleteBillingKeyResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeletedBillingKeyInfo : io/portone/sdk/server/schemas/BillingKeyInfo { + public static final field Companion Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/time/Instant; + public final fun component11 ()Ljava/time/Instant; + public final fun component12 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component13 ()Ljava/util/List; + public final fun component14 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getChannels ()Ljava/util/List; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public final fun getDeletedAt ()Ljava/time/Instant; + public fun getIssueId ()Ljava/lang/String; + public fun getIssueName ()Ljava/lang/String; + public fun getIssuedAt ()Ljava/time/Instant; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethods ()Ljava/util/List; + public fun getPgBillingKeyIssueResponses ()Ljava/util/List; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/DeletedBillingKeyInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/DeletedBillingKeyInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeletedBillingKeyInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeliveredPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/DeliveredPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/DeliveredPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DeliveredPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/EasyPayProvider : java/lang/Enum { + public static final field ALIPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field APPLEPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field CHAI Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field Companion Lio/portone/sdk/server/schemas/EasyPayProvider$Companion; + public static final field HYPHEN Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field KAKAOPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field KB_APP Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field KPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field LGPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field LPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field NAVERPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field PAYCO Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field PINPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field SAMSUNGPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field SKPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field SSGPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field TOSSPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static final field TOSS_BRANDPAY Lio/portone/sdk/server/schemas/EasyPayProvider; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/EasyPayProvider; + public static fun values ()[Lio/portone/sdk/server/schemas/EasyPayProvider; +} + +public final class io/portone/sdk/server/schemas/EasyPayProvider$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedIdentityVerification : io/portone/sdk/server/schemas/IdentityVerification { + public static final field Companion Lio/portone/sdk/server/schemas/FailedIdentityVerification$Companion; + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/IdentityVerificationFailure;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/IdentityVerificationFailure;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component3 ()Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/time/Instant; + public final fun component6 ()Ljava/time/Instant; + public final fun component7 ()Ljava/time/Instant; + public final fun component8 ()Lio/portone/sdk/server/schemas/IdentityVerificationFailure; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/IdentityVerificationFailure;)Lio/portone/sdk/server/schemas/FailedIdentityVerification; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/FailedIdentityVerification;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/IdentityVerificationFailure;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/FailedIdentityVerification; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getCustomData ()Ljava/lang/String; + public final fun getFailure ()Lio/portone/sdk/server/schemas/IdentityVerificationFailure; + public fun getId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public final fun getRequestedCustomer ()Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/FailedIdentityVerification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/FailedIdentityVerification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/FailedIdentityVerification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/FailedIdentityVerification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedIdentityVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/FailedPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentFailure;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentFailure;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component26 ()Ljava/time/Instant; + public final fun component27 ()Lio/portone/sdk/server/schemas/PaymentFailure; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentFailure;)Lio/portone/sdk/server/schemas/FailedPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/FailedPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentFailure;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/FailedPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun getFailedAt ()Ljava/time/Instant; + public final fun getFailure ()Lio/portone/sdk/server/schemas/PaymentFailure; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/FailedPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/FailedPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/FailedPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/FailedPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPaymentCancellation : io/portone/sdk/server/schemas/PaymentCancellation { + public static final field Companion Lio/portone/sdk/server/schemas/FailedPaymentCancellation$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()J + public final fun component5 ()J + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/time/Instant; + public final fun component9 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/FailedPaymentCancellation; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/FailedPaymentCancellation;Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/FailedPaymentCancellation; + public fun equals (Ljava/lang/Object;)Z + public fun getCancelledAt ()Ljava/time/Instant; + public fun getEasyPayDiscountAmount ()Ljava/lang/Long; + public fun getId ()Ljava/lang/String; + public fun getPgCancellationId ()Ljava/lang/String; + public fun getReason ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getTaxFreeAmount ()J + public fun getTotalAmount ()J + public fun getVatAmount ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/FailedPaymentCancellation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/FailedPaymentCancellation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/FailedPaymentCancellation; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/FailedPaymentCancellation;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPaymentCancellation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/FailedPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/time/Instant; + public final fun component21 ()Ljava/time/Instant; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/FailedPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/FailedPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/FailedPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public final fun getCompletedAt ()Ljava/time/Instant; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public final fun getStartedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/FailedPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/FailedPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/FailedPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/FailedPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse : io/portone/sdk/server/schemas/PgBillingKeyIssueResponse { + public static final field Companion Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse$Companion; + public fun (Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/BillingKeyFailure;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component2 ()Lio/portone/sdk/server/schemas/BillingKeyFailure; + public final fun copy (Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/BillingKeyFailure;)Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/BillingKeyFailure;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun getFailure ()Lio/portone/sdk/server/schemas/BillingKeyFailure; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ForbiddenException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/Gender : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/Gender$Companion; + public static final field FEMALE Lio/portone/sdk/server/schemas/Gender; + public static final field MALE Lio/portone/sdk/server/schemas/Gender; + public static final field OTHER Lio/portone/sdk/server/schemas/Gender; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/Gender; + public static fun values ()[Lio/portone/sdk/server/schemas/Gender; +} + +public final class io/portone/sdk/server/schemas/Gender$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse { + public static final field Companion Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse$Companion; + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse;Ljava/util/List;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getItems ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetBillingKeyInfosResponse { + public static final field Companion Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse$Companion; + public fun (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Lio/portone/sdk/server/schemas/PageInfo; + public final fun copy (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse;Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getItems ()Ljava/util/List; + public final fun getPage ()Lio/portone/sdk/server/schemas/PageInfo; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/GetBillingKeyInfosResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/GetBillingKeyInfosResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetBillingKeyInfosResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse { + public static final field Companion Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse$Companion; + public fun (ILjava/lang/String;)V + public final fun component1 ()I + public final fun component2 ()Ljava/lang/String; + public final fun copy (ILjava/lang/String;)Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse;ILjava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getBody ()Ljava/lang/String; + public final fun getStatusCode ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetPaymentSchedulesResponse { + public static final field Companion Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse$Companion; + public fun (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Lio/portone/sdk/server/schemas/PageInfo; + public final fun copy (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse;Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getItems ()Ljava/util/List; + public final fun getPage ()Lio/portone/sdk/server/schemas/PageInfo; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/GetPaymentSchedulesResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/GetPaymentSchedulesResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetPaymentSchedulesResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetPaymentsResponse { + public static final field Companion Lio/portone/sdk/server/schemas/GetPaymentsResponse$Companion; + public fun (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Lio/portone/sdk/server/schemas/PageInfo; + public final fun copy (Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;)Lio/portone/sdk/server/schemas/GetPaymentsResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/GetPaymentsResponse;Ljava/util/List;Lio/portone/sdk/server/schemas/PageInfo;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/GetPaymentsResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getItems ()Ljava/util/List; + public final fun getPage ()Lio/portone/sdk/server/schemas/PageInfo; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/GetPaymentsResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/GetPaymentsResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/GetPaymentsResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/GetPaymentsResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/GetPaymentsResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/IdentityVerification { + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerification$Companion; + public abstract fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public abstract fun getCustomData ()Ljava/lang/String; + public abstract fun getId ()Ljava/lang/String; + public abstract fun getRequestedAt ()Ljava/time/Instant; + public abstract fun getStatusChangedAt ()Ljava/time/Instant; + public abstract fun getUpdatedAt ()Ljava/time/Instant; +} + +public final class io/portone/sdk/server/schemas/IdentityVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationAlreadySentException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationFailure { + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerificationFailure$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/IdentityVerificationFailure; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IdentityVerificationFailure;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IdentityVerificationFailure; + public fun equals (Ljava/lang/Object;)Z + public final fun getPgCode ()Ljava/lang/String; + public final fun getPgMessage ()Ljava/lang/String; + public final fun getReason ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IdentityVerificationFailure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IdentityVerificationFailure$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IdentityVerificationFailure; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IdentityVerificationFailure;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationFailure$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationMethod : java/lang/Enum { + public static final field APP Lio/portone/sdk/server/schemas/IdentityVerificationMethod; + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerificationMethod$Companion; + public static final field SMS Lio/portone/sdk/server/schemas/IdentityVerificationMethod; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/IdentityVerificationMethod; + public static fun values ()[Lio/portone/sdk/server/schemas/IdentityVerificationMethod; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationMethod$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationNotSentException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationOperator : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerificationOperator$Companion; + public static final field KT Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static final field KT_MVNO Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static final field LGU Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static final field LGU_MVNO Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static final field SKT Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static final field SKT_MVNO Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public static fun values ()[Lio/portone/sdk/server/schemas/IdentityVerificationOperator; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationOperator$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer { + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer { + public static final field Companion Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Lio/portone/sdk/server/schemas/Gender; + public final fun component7 ()Ljava/lang/Boolean; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/IdentityVerificationOperator;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Gender;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer; + public fun equals (Ljava/lang/Object;)Z + public final fun getBirthDate ()Ljava/lang/String; + public final fun getCi ()Ljava/lang/String; + public final fun getDi ()Ljava/lang/String; + public final fun getGender ()Lio/portone/sdk/server/schemas/Gender; + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getOperator ()Lio/portone/sdk/server/schemas/IdentityVerificationOperator; + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public final fun isForeigner ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput { + public static final field Companion Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;)V + public synthetic fun (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard; + public final fun copy (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getCard ()Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard { + public static final field Companion Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard$Companion; + public fun (Lio/portone/sdk/server/schemas/CardCredential;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CardCredential; + public final fun copy (Lio/portone/sdk/server/schemas/CardCredential;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;Lio/portone/sdk/server/schemas/CardCredential;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard; + public fun equals (Ljava/lang/Object;)Z + public final fun getCredential ()Lio/portone/sdk/server/schemas/CardCredential; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInput { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInput$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;)V + public synthetic fun (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard; + public final fun component2 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount; + public final fun copy (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getCard ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard; + public final fun getVirtualAccount ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputCard { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard$Companion; + public fun (Lio/portone/sdk/server/schemas/CardCredential;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V + public synthetic fun (Lio/portone/sdk/server/schemas/CardCredential;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CardCredential; + public final fun component2 ()Ljava/lang/Integer; + public final fun component3 ()Ljava/lang/Boolean; + public final fun component4 ()Ljava/lang/Boolean; + public final fun component5 ()Ljava/lang/Boolean; + public final fun copy (Lio/portone/sdk/server/schemas/CardCredential;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;Lio/portone/sdk/server/schemas/CardCredential;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard; + public fun equals (Ljava/lang/Object;)Z + public final fun getCredential ()Lio/portone/sdk/server/schemas/CardCredential; + public final fun getInstallmentMonth ()Ljava/lang/Integer; + public final fun getUseCardPoint ()Ljava/lang/Boolean; + public final fun getUseFreeInstallmentPlan ()Ljava/lang/Boolean; + public final fun getUseFreeInterestFromMerchant ()Ljava/lang/Boolean; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputCard$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputCard;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputCard$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount$Companion; + public fun (Lio/portone/sdk/server/schemas/Bank;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun component2 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry; + public final fun component3 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption; + public final fun component4 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;Ljava/lang/String;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;Lio/portone/sdk/server/schemas/Bank;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount; + public fun equals (Ljava/lang/Object;)Z + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public final fun getCashReceipt ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo; + public final fun getExpiry ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry; + public final fun getOption ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption; + public final fun getRemitteeName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo$Companion; + public fun (Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;Lio/portone/sdk/server/schemas/CashReceiptInputType;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo; + public fun equals (Ljava/lang/Object;)Z + public final fun getCustomerIdentityNumber ()Ljava/lang/String; + public final fun getType ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry$Companion; + public fun ()V + public fun (Ljava/lang/Integer;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/Integer;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Integer; + public final fun component2 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/Integer;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;Ljava/lang/Integer;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry; + public fun equals (Ljava/lang/Object;)Z + public final fun getDueDate ()Ljava/time/Instant; + public final fun getValidHours ()Ljava/lang/Integer; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption$Companion; + public fun (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;)V + public synthetic fun (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; + public final fun component2 ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed; + public final fun copy (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption; + public fun equals (Ljava/lang/Object;)Z + public final fun getFixed ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed; + public final fun getType ()Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed; + public fun equals (Ljava/lang/Object;)Z + public final fun getAccountNumber ()Ljava/lang/String; + public final fun getPgAccountId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType$Companion; + public static final field FIXED Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; + public static final field NORMAL Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; + public static fun values ()[Lio/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentSummary { + public static final field Companion Lio/portone/sdk/server/schemas/InstantPaymentSummary$Companion; + public fun (Ljava/lang/String;Ljava/time/Instant;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/InstantPaymentSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/InstantPaymentSummary;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/InstantPaymentSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getPaidAt ()Ljava/time/Instant; + public final fun getPgTxId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/InstantPaymentSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/InstantPaymentSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/InstantPaymentSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/InstantPaymentSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InstantPaymentSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/InvalidRequestException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/IssueBillingKeyResponse { + public static final field Companion Lio/portone/sdk/server/schemas/IssueBillingKeyResponse$Companion; + public fun (Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;Ljava/util/List;)V + public synthetic fun (Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/BillingKeyInfoSummary; + public final fun component2 ()Ljava/util/List; + public final fun copy (Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;Ljava/util/List;)Lio/portone/sdk/server/schemas/IssueBillingKeyResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssueBillingKeyResponse;Lio/portone/sdk/server/schemas/BillingKeyInfoSummary;Ljava/util/List;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssueBillingKeyResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getBillingKeyInfo ()Lio/portone/sdk/server/schemas/BillingKeyInfoSummary; + public final fun getChannelSpecificFailures ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssueBillingKeyResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssueBillingKeyResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssueBillingKeyResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssueBillingKeyResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssueBillingKeyResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput { + public static final field Companion Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getEmail ()Ljava/lang/String; + public final fun getIdentityNumber ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssueCashReceiptCustomerInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssueFailedCashReceipt : io/portone/sdk/server/schemas/CashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/IssueFailedCashReceipt$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Z)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Z + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Z)Lio/portone/sdk/server/schemas/IssueFailedCashReceipt; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssueFailedCashReceipt;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;ZILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssueFailedCashReceipt; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getMerchantId ()Ljava/lang/String; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getStoreId ()Ljava/lang/String; + public fun hashCode ()I + public fun isManual ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssueFailedCashReceipt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssueFailedCashReceipt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssueFailedCashReceipt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssueFailedCashReceipt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssueFailedCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedBillingKeyInfo : io/portone/sdk/server/schemas/BillingKeyInfo { + public static final field Companion Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/time/Instant; + public final fun component11 ()Ljava/time/Instant; + public final fun component12 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component13 ()Ljava/util/List; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;)Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Ljava/util/List;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getChannels ()Ljava/util/List; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getIssueId ()Ljava/lang/String; + public fun getIssueName ()Ljava/lang/String; + public fun getIssuedAt ()Ljava/time/Instant; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethods ()Ljava/util/List; + public fun getPgBillingKeyIssueResponses ()Ljava/util/List; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssuedBillingKeyInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssuedBillingKeyInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedBillingKeyInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedCashReceipt : io/portone/sdk/server/schemas/CashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/IssuedCashReceipt$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Z + public final fun component11 ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun component12 ()Ljava/lang/String; + public final fun component13 ()Ljava/lang/String; + public final fun component14 ()Ljava/lang/String; + public final fun component15 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component5 ()J + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Ljava/lang/Long; + public final fun component8 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/IssuedCashReceipt; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssuedCashReceipt;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;ZLio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssuedCashReceipt; + public fun equals (Ljava/lang/Object;)Z + public final fun getAmount ()J + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public final fun getIssueNumber ()Ljava/lang/String; + public final fun getIssuedAt ()Ljava/time/Instant; + public fun getMerchantId ()Ljava/lang/String; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public final fun getPgReceiptId ()Ljava/lang/String; + public fun getStoreId ()Ljava/lang/String; + public final fun getTaxFreeAmount ()Ljava/lang/Long; + public final fun getType ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun getUrl ()Ljava/lang/String; + public final fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isManual ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssuedCashReceipt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssuedCashReceipt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssuedCashReceipt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssuedCashReceipt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedPaymentCashReceipt : io/portone/sdk/server/schemas/PaymentCashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt$Companion; + public fun (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;)V + public synthetic fun (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/CashReceiptType; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()J + public final fun component5 ()Ljava/lang/Long; + public final fun component6 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/time/Instant; + public final fun copy (Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt;Lio/portone/sdk/server/schemas/CashReceiptType;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt; + public fun equals (Ljava/lang/Object;)Z + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getIssueNumber ()Ljava/lang/String; + public fun getIssuedAt ()Ljava/time/Instant; + public fun getPgReceiptId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTotalAmount ()J + public fun getType ()Lio/portone/sdk/server/schemas/CashReceiptType; + public fun getUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssuedPaymentCashReceipt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssuedPaymentCashReceipt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedPaymentCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse : io/portone/sdk/server/schemas/PgBillingKeyIssueResponse { + public static final field Companion Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse$Companion; + public fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod;)V + public synthetic fun (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod; + public final fun copy (Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod;)Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse;Lio/portone/sdk/server/schemas/SelectedChannel;Ljava/lang/String;Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun getMethod ()Lio/portone/sdk/server/schemas/BillingKeyPaymentMethod; + public final fun getPgTxId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse { + public static final field Companion Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse$Companion; + public fun (Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/time/Instant; + public final fun component3 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getModifiedAt ()Ljava/time/Instant; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/OneLineAddress : io/portone/sdk/server/schemas/Address { + public static final field Companion Lio/portone/sdk/server/schemas/OneLineAddress$Companion; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lio/portone/sdk/server/schemas/OneLineAddress; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/OneLineAddress;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/OneLineAddress; + public fun equals (Ljava/lang/Object;)Z + public fun getOneLine ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/OneLineAddress$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/OneLineAddress$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/OneLineAddress; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/OneLineAddress;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/OneLineAddress$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PageInfo { + public static final field Companion Lio/portone/sdk/server/schemas/PageInfo$Companion; + public fun (III)V + public final fun component1 ()I + public final fun component2 ()I + public final fun component3 ()I + public final fun copy (III)Lio/portone/sdk/server/schemas/PageInfo; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PageInfo;IIIILjava/lang/Object;)Lio/portone/sdk/server/schemas/PageInfo; + public fun equals (Ljava/lang/Object;)Z + public final fun getNumber ()I + public final fun getSize ()I + public final fun getTotalCount ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PageInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PageInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PageInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PageInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PageInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PageInput { + public static final field Companion Lio/portone/sdk/server/schemas/PageInput$Companion; + public fun ()V + public fun (Ljava/lang/Integer;Ljava/lang/Integer;)V + public synthetic fun (Ljava/lang/Integer;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Integer; + public final fun component2 ()Ljava/lang/Integer; + public final fun copy (Ljava/lang/Integer;Ljava/lang/Integer;)Lio/portone/sdk/server/schemas/PageInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PageInput;Ljava/lang/Integer;Ljava/lang/Integer;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PageInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getNumber ()Ljava/lang/Integer; + public final fun getSize ()Ljava/lang/Integer; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PageInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PageInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PageInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PageInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PageInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaidPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/PaidPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component26 ()Ljava/time/Instant; + public final fun component27 ()Ljava/lang/String; + public final fun component28 ()Ljava/lang/String; + public final fun component29 ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public final fun component3 ()Ljava/lang/String; + public final fun component30 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaidPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaidPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaidPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public final fun getCashReceipt ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public final fun getPaidAt ()Ljava/time/Instant; + public final fun getPgResponse ()Ljava/lang/String; + public final fun getPgTxId ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public final fun getReceiptUrl ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaidPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaidPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaidPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaidPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaidPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PartialCancelledPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/PartialCancelledPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component26 ()Ljava/time/Instant; + public final fun component27 ()Ljava/lang/String; + public final fun component28 ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public final fun component29 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component30 ()Ljava/util/List; + public final fun component31 ()Ljava/time/Instant; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/PartialCancelledPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PartialCancelledPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentCashReceipt;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PartialCancelledPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public final fun getCancellations ()Ljava/util/List; + public final fun getCancelledAt ()Ljava/time/Instant; + public final fun getCashReceipt ()Lio/portone/sdk/server/schemas/PaymentCashReceipt; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public final fun getPaidAt ()Ljava/time/Instant; + public final fun getPgTxId ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public final fun getReceiptUrl ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PartialCancelledPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PartialCancelledPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PartialCancelledPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PartialCancelledPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PartialCancelledPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PayPendingPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/PayPendingPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/util/List; + public final fun component11 ()Ljava/time/Instant; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/lang/String; + public final fun component15 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component16 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component17 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component18 ()Ljava/lang/String; + public final fun component19 ()Ljava/lang/Boolean; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component21 ()Ljava/util/List; + public final fun component22 ()Ljava/lang/Integer; + public final fun component23 ()Ljava/lang/String; + public final fun component24 ()Lio/portone/sdk/server/schemas/Country; + public final fun component25 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component5 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component6 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component7 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PayPendingPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PayPendingPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PayPendingPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public final fun getPgTxId ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PayPendingPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PayPendingPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PayPendingPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PayPendingPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PayPendingPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/Payment$Companion; + public abstract fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public abstract fun getBillingKey ()Ljava/lang/String; + public abstract fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public abstract fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public abstract fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public abstract fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public abstract fun getCustomData ()Ljava/lang/String; + public abstract fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public abstract fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public abstract fun getId ()Ljava/lang/String; + public abstract fun getMerchantId ()Ljava/lang/String; + public abstract fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public abstract fun getOrderName ()Ljava/lang/String; + public abstract fun getProductCount ()Ljava/lang/Integer; + public abstract fun getProducts ()Ljava/util/List; + public abstract fun getPromotionId ()Ljava/lang/String; + public abstract fun getRequestedAt ()Ljava/time/Instant; + public abstract fun getScheduleId ()Ljava/lang/String; + public abstract fun getStatusChangedAt ()Ljava/time/Instant; + public abstract fun getStoreId ()Ljava/lang/String; + public abstract fun getUpdatedAt ()Ljava/time/Instant; + public abstract fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public abstract fun getWebhooks ()Ljava/util/List; + public abstract fun isCulturalExpense ()Ljava/lang/Boolean; +} + +public final class io/portone/sdk/server/schemas/Payment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentAlreadyCancelledException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentAmount { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentAmount$Companion; + public fun (JJLjava/lang/Long;Ljava/lang/Long;JJJJ)V + public synthetic fun (JJLjava/lang/Long;Ljava/lang/Long;JJJJILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()J + public final fun component2 ()J + public final fun component3 ()Ljava/lang/Long; + public final fun component4 ()Ljava/lang/Long; + public final fun component5 ()J + public final fun component6 ()J + public final fun component7 ()J + public final fun component8 ()J + public final fun copy (JJLjava/lang/Long;Ljava/lang/Long;JJJJ)Lio/portone/sdk/server/schemas/PaymentAmount; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentAmount;JJLjava/lang/Long;Ljava/lang/Long;JJJJILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentAmount; + public fun equals (Ljava/lang/Object;)Z + public final fun getCancelled ()J + public final fun getCancelledTaxFree ()J + public final fun getDiscount ()J + public final fun getPaid ()J + public final fun getSupply ()Ljava/lang/Long; + public final fun getTaxFree ()J + public final fun getTotal ()J + public final fun getVat ()Ljava/lang/Long; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentAmount$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentAmount$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentAmount; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentAmount;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentAmount$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentAmountInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentAmountInput$Companion; + public fun (JLjava/lang/Long;Ljava/lang/Long;)V + public synthetic fun (JLjava/lang/Long;Ljava/lang/Long;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()J + public final fun component2 ()Ljava/lang/Long; + public final fun component3 ()Ljava/lang/Long; + public final fun copy (JLjava/lang/Long;Ljava/lang/Long;)Lio/portone/sdk/server/schemas/PaymentAmountInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentAmountInput;JLjava/lang/Long;Ljava/lang/Long;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentAmountInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getTaxFree ()Ljava/lang/Long; + public final fun getTotal ()J + public final fun getVat ()Ljava/lang/Long; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentAmountInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentAmountInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentAmountInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentAmountInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentAmountInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentCancellation { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentCancellation$Companion; + public abstract fun getCancelledAt ()Ljava/time/Instant; + public abstract fun getEasyPayDiscountAmount ()Ljava/lang/Long; + public abstract fun getId ()Ljava/lang/String; + public abstract fun getPgCancellationId ()Ljava/lang/String; + public abstract fun getReason ()Ljava/lang/String; + public abstract fun getRequestedAt ()Ljava/time/Instant; + public abstract fun getTaxFreeAmount ()J + public abstract fun getTotalAmount ()J + public abstract fun getVatAmount ()J +} + +public final class io/portone/sdk/server/schemas/PaymentCancellation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentCashReceipt { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentCashReceipt$Companion; + public abstract fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public abstract fun getIssueNumber ()Ljava/lang/String; + public abstract fun getIssuedAt ()Ljava/time/Instant; + public abstract fun getPgReceiptId ()Ljava/lang/String; + public abstract fun getTaxFreeAmount ()Ljava/lang/Long; + public abstract fun getTotalAmount ()J + public abstract fun getType ()Lio/portone/sdk/server/schemas/CashReceiptType; + public abstract fun getUrl ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/PaymentCashReceipt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentCashReceiptStatus : java/lang/Enum { + public static final field CANCELLED Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus$Companion; + public static final field ISSUED Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentCashReceiptStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentClientType : java/lang/Enum { + public static final field API Lio/portone/sdk/server/schemas/PaymentClientType; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentClientType$Companion; + public static final field SDK_MOBILE Lio/portone/sdk/server/schemas/PaymentClientType; + public static final field SDK_PC Lio/portone/sdk/server/schemas/PaymentClientType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentClientType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentClientType; +} + +public final class io/portone/sdk/server/schemas/PaymentClientType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentEscrow$Companion; +} + +public final class io/portone/sdk/server/schemas/PaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentEscrowReceiverInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddress ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public final fun getZipcode ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentEscrowReceiverInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentEscrowReceiverInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentEscrowReceiverInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentEscrowSenderInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddress ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public final fun getRelationship ()Ljava/lang/String; + public final fun getZipcode ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentEscrowSenderInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentEscrowSenderInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentEscrowSenderInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentFailure { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentFailure$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentFailure; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentFailure;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentFailure; + public fun equals (Ljava/lang/Object;)Z + public final fun getPgCode ()Ljava/lang/String; + public final fun getPgMessage ()Ljava/lang/String; + public final fun getReason ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentFailure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentFailure$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentFailure; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentFailure;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentFailure$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentFilterInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentFilterInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentTimestampType;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentSortBy;Lio/portone/sdk/server/schemas/SortOrder;Lio/portone/sdk/server/schemas/PortOneVersion;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Lio/portone/sdk/server/schemas/CashReceiptInputType;Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus;Lio/portone/sdk/server/schemas/DateTimeRange;Lio/portone/sdk/server/schemas/DateTimeRange;Ljava/util/List;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentTimestampType;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentSortBy;Lio/portone/sdk/server/schemas/SortOrder;Lio/portone/sdk/server/schemas/PortOneVersion;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Lio/portone/sdk/server/schemas/CashReceiptInputType;Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus;Lio/portone/sdk/server/schemas/DateTimeRange;Lio/portone/sdk/server/schemas/DateTimeRange;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/Boolean; + public final fun component11 ()Lio/portone/sdk/server/schemas/PaymentSortBy; + public final fun component12 ()Lio/portone/sdk/server/schemas/SortOrder; + public final fun component13 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component14 ()Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public final fun component15 ()Lio/portone/sdk/server/schemas/PaymentClientType; + public final fun component16 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component17 ()Ljava/lang/Boolean; + public final fun component18 ()Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public final fun component19 ()Lio/portone/sdk/server/schemas/CardBrand; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Lio/portone/sdk/server/schemas/CardType; + public final fun component21 ()Lio/portone/sdk/server/schemas/CardOwnerType; + public final fun component22 ()Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public final fun component23 ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public final fun component24 ()Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; + public final fun component25 ()Lio/portone/sdk/server/schemas/DateTimeRange; + public final fun component26 ()Lio/portone/sdk/server/schemas/DateTimeRange; + public final fun component27 ()Ljava/util/List; + public final fun component3 ()Lio/portone/sdk/server/schemas/PaymentTimestampType; + public final fun component4 ()Ljava/time/Instant; + public final fun component5 ()Ljava/time/Instant; + public final fun component6 ()Ljava/util/List; + public final fun component7 ()Ljava/util/List; + public final fun component8 ()Ljava/util/List; + public final fun component9 ()Ljava/lang/Boolean; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentTimestampType;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentSortBy;Lio/portone/sdk/server/schemas/SortOrder;Lio/portone/sdk/server/schemas/PortOneVersion;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Lio/portone/sdk/server/schemas/CashReceiptInputType;Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus;Lio/portone/sdk/server/schemas/DateTimeRange;Lio/portone/sdk/server/schemas/DateTimeRange;Ljava/util/List;)Lio/portone/sdk/server/schemas/PaymentFilterInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentFilterInput;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentTimestampType;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentSortBy;Lio/portone/sdk/server/schemas/SortOrder;Lio/portone/sdk/server/schemas/PortOneVersion;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Lio/portone/sdk/server/schemas/PaymentClientType;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus;Lio/portone/sdk/server/schemas/CardBrand;Lio/portone/sdk/server/schemas/CardType;Lio/portone/sdk/server/schemas/CardOwnerType;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Lio/portone/sdk/server/schemas/CashReceiptInputType;Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus;Lio/portone/sdk/server/schemas/DateTimeRange;Lio/portone/sdk/server/schemas/DateTimeRange;Ljava/util/List;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentFilterInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getCardBrand ()Lio/portone/sdk/server/schemas/CardBrand; + public final fun getCardOwnerType ()Lio/portone/sdk/server/schemas/CardOwnerType; + public final fun getCardType ()Lio/portone/sdk/server/schemas/CardType; + public final fun getCashReceiptCancelledAtRange ()Lio/portone/sdk/server/schemas/DateTimeRange; + public final fun getCashReceiptIssuedAtRange ()Lio/portone/sdk/server/schemas/DateTimeRange; + public final fun getCashReceiptStatus ()Lio/portone/sdk/server/schemas/PaymentCashReceiptStatus; + public final fun getCashReceiptType ()Lio/portone/sdk/server/schemas/CashReceiptInputType; + public final fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public final fun getEscrowStatus ()Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public final fun getFrom ()Ljava/time/Instant; + public final fun getGiftCertificateType ()Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public final fun getMerchantId ()Ljava/lang/String; + public final fun getMethods ()Ljava/util/List; + public final fun getPgProvider ()Ljava/util/List; + public final fun getPlatformType ()Lio/portone/sdk/server/schemas/PaymentClientType; + public final fun getSortBy ()Lio/portone/sdk/server/schemas/PaymentSortBy; + public final fun getSortOrder ()Lio/portone/sdk/server/schemas/SortOrder; + public final fun getStatus ()Ljava/util/List; + public final fun getStoreId ()Ljava/lang/String; + public final fun getTextSearch ()Ljava/util/List; + public final fun getTimestampType ()Lio/portone/sdk/server/schemas/PaymentTimestampType; + public final fun getUntil ()Ljava/time/Instant; + public final fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun getWebhookStatus ()Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public fun hashCode ()I + public final fun isEscrow ()Ljava/lang/Boolean; + public final fun isScheduled ()Ljava/lang/Boolean; + public final fun isTest ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentFilterInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentFilterInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentFilterInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentFilterInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentFilterInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus : java/lang/Enum { + public static final field CANCELLED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static final field CONFIRMED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus$Companion; + public static final field DELIVERED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static final field REGISTERED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static final field REJECTED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static final field REJECT_CONFIRMED Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentInstallment { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentInstallment$Companion; + public fun (IZ)V + public final fun component1 ()I + public final fun component2 ()Z + public final fun copy (IZ)Lio/portone/sdk/server/schemas/PaymentInstallment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentInstallment;IZILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentInstallment; + public fun equals (Ljava/lang/Object;)Z + public final fun getMonth ()I + public fun hashCode ()I + public final fun isInterestFree ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentInstallment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentInstallment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentInstallment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentInstallment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentInstallment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentLogistics { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentLogistics$Companion; + public fun (Lio/portone/sdk/server/schemas/PaymentLogisticsCompany;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)V + public synthetic fun (Lio/portone/sdk/server/schemas/PaymentLogisticsCompany;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun component5 ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun copy (Lio/portone/sdk/server/schemas/PaymentLogisticsCompany;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)Lio/portone/sdk/server/schemas/PaymentLogistics; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentLogistics;Lio/portone/sdk/server/schemas/PaymentLogisticsCompany;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/SeparatedAddressInput;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentLogistics; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddress ()Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public final fun getCompany ()Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getReceivedAt ()Ljava/time/Instant; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentLogistics$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentLogistics$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentLogistics; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentLogistics;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentLogistics$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentLogisticsCompany : java/lang/Enum { + public static final field ACI Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field CHUNIL Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field CJ Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field CJ_INTL Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentLogisticsCompany$Companion; + public static final field DAESIN Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field DHL Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field DONGWON Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field EMS Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field ETC Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field FEDEX Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field GOODSTOLUCK Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field GS Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field GSM_NTON Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field HANJIN Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field HAPDONG Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field ILYANG Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field KGL Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field KUNYOUNG Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field KYUNGDONG Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field LOGEN Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field LOTTE Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field LX_PANTOS Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field POST Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field POST_REGISTERED Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field SF Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field SLX Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field SUNGWON Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field UPS Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field USPS Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static final field WOORI Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentLogisticsCompany; +} + +public final class io/portone/sdk/server/schemas/PaymentLogisticsCompany$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethod$Companion; +} + +public final class io/portone/sdk/server/schemas/PaymentMethod$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodCard : io/portone/sdk/server/schemas/PaymentMethod, io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodCard$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/Card;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentInstallment;Ljava/lang/Boolean;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Card;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentInstallment;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Card; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/PaymentInstallment; + public final fun component4 ()Ljava/lang/Boolean; + public final fun copy (Lio/portone/sdk/server/schemas/Card;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentInstallment;Ljava/lang/Boolean;)Lio/portone/sdk/server/schemas/PaymentMethodCard; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodCard;Lio/portone/sdk/server/schemas/Card;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentInstallment;Ljava/lang/Boolean;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodCard; + public fun equals (Ljava/lang/Object;)Z + public final fun getApprovalNumber ()Ljava/lang/String; + public final fun getCard ()Lio/portone/sdk/server/schemas/Card; + public final fun getInstallment ()Lio/portone/sdk/server/schemas/PaymentInstallment; + public final fun getPointUsed ()Ljava/lang/Boolean; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodCard$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodCard$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodCard; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodCard;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodCard$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodEasyPay : io/portone/sdk/server/schemas/PaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodEasyPay$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod;)V + public synthetic fun (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/EasyPayProvider; + public final fun component2 ()Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod; + public final fun copy (Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPay; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodEasyPay;Lio/portone/sdk/server/schemas/EasyPayProvider;Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPay; + public fun equals (Ljava/lang/Object;)Z + public final fun getEasyPayMethod ()Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod; + public final fun getProvider ()Lio/portone/sdk/server/schemas/EasyPayProvider; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodEasyPay$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodEasyPay$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPay; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodEasyPay;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodEasyPay$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethod$Companion; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge : io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/Bank;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge;Lio/portone/sdk/server/schemas/Bank;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge; + public fun equals (Ljava/lang/Object;)Z + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodGiftCertificate : io/portone/sdk/server/schemas/PaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate$Companion; + public fun (Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate; + public fun equals (Ljava/lang/Object;)Z + public final fun getApprovalNumber ()Ljava/lang/String; + public final fun getGiftCertificateType ()Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodGiftCertificate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificate;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodGiftCertificate$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodGiftCertificateType : java/lang/Enum { + public static final field BOOKNLIFE Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static final field CULTUREGIFT Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static final field CULTURELAND Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType$Companion; + public static final field HAPPYMONEY Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static final field SMART_MUNSANG Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentMethodGiftCertificateType; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodGiftCertificateType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodMobile : io/portone/sdk/server/schemas/PaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodMobile$Companion; + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodMobile; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodMobile;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodMobile; + public fun equals (Ljava/lang/Object;)Z + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodMobile$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodMobile$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodMobile; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodMobile;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodMobile$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodTransfer : io/portone/sdk/server/schemas/PaymentMethod, io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodTransfer$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/Bank;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;)Lio/portone/sdk/server/schemas/PaymentMethodTransfer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodTransfer;Lio/portone/sdk/server/schemas/Bank;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodTransfer; + public fun equals (Ljava/lang/Object;)Z + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodTransfer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodTransfer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodTransfer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodTransfer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodTransfer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodType : java/lang/Enum { + public static final field CARD Lio/portone/sdk/server/schemas/PaymentMethodType; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodType$Companion; + public static final field EASY_PAY Lio/portone/sdk/server/schemas/PaymentMethodType; + public static final field GIFT_CERTIFICATE Lio/portone/sdk/server/schemas/PaymentMethodType; + public static final field MOBILE Lio/portone/sdk/server/schemas/PaymentMethodType; + public static final field TRANSFER Lio/portone/sdk/server/schemas/PaymentMethodType; + public static final field VIRTUAL_ACCOUNT Lio/portone/sdk/server/schemas/PaymentMethodType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentMethodType; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccount : io/portone/sdk/server/schemas/PaymentMethod { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount$Companion; + public fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus;)V + public synthetic fun (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Bank; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/time/Instant; + public final fun component7 ()Ljava/time/Instant; + public final fun component8 ()Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public final fun copy (Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus;)Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount;Lio/portone/sdk/server/schemas/Bank;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount; + public fun equals (Ljava/lang/Object;)Z + public final fun getAccountNumber ()Ljava/lang/String; + public final fun getAccountType ()Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; + public final fun getBank ()Lio/portone/sdk/server/schemas/Bank; + public final fun getExpiredAt ()Ljava/time/Instant; + public final fun getIssuedAt ()Ljava/time/Instant; + public final fun getRefundStatus ()Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public final fun getRemitteeName ()Ljava/lang/String; + public final fun getRemitterName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentMethodVirtualAccount$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccount;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccount$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus : java/lang/Enum { + public static final field COMPLETED Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus$Companion; + public static final field FAILED Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public static final field PARTIAL_REFUND_FAILED Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public static final field PENDING Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccountType : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType$Companion; + public static final field FIXED Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; + public static final field NORMAL Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentMethodVirtualAccountType; +} + +public final class io/portone/sdk/server/schemas/PaymentMethodVirtualAccountType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentNotPaidException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentNotWaitingForDepositException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentProduct { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentProduct$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JI)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()J + public final fun component6 ()I + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JI)Lio/portone/sdk/server/schemas/PaymentProduct; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentProduct;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentProduct; + public fun equals (Ljava/lang/Object;)Z + public final fun getAmount ()J + public final fun getCode ()Ljava/lang/String; + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getQuantity ()I + public final fun getTag ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentProduct$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentProduct$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentProduct; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentProduct;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentProduct$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentProductType : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentProductType$Companion; + public static final field DIGITAL Lio/portone/sdk/server/schemas/PaymentProductType; + public static final field PHYSICAL Lio/portone/sdk/server/schemas/PaymentProductType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentProductType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentProductType; +} + +public final class io/portone/sdk/server/schemas/PaymentProductType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentSchedule$Companion; + public abstract fun getBillingKey ()Ljava/lang/String; + public abstract fun getCreatedAt ()Ljava/time/Instant; + public abstract fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public abstract fun getCustomData ()Ljava/lang/String; + public abstract fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public abstract fun getId ()Ljava/lang/String; + public abstract fun getInstallmentMonth ()Ljava/lang/Integer; + public abstract fun getMerchantId ()Ljava/lang/String; + public abstract fun getNoticeUrls ()Ljava/util/List; + public abstract fun getOrderName ()Ljava/lang/String; + public abstract fun getPaymentId ()Ljava/lang/String; + public abstract fun getProducts ()Ljava/util/List; + public abstract fun getStoreId ()Ljava/lang/String; + public abstract fun getTaxFreeAmount ()Ljava/lang/Long; + public abstract fun getTimeToPay ()Ljava/time/Instant; + public abstract fun getTotalAmount ()J + public abstract fun getVatAmount ()Ljava/lang/Long; + public abstract fun isCulturalExpense ()Z + public abstract fun isEscrow ()Z +} + +public final class io/portone/sdk/server/schemas/PaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleFilterInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun component5 ()Ljava/util/List; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;)Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/util/List;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getBillingKey ()Ljava/lang/String; + public final fun getFrom ()Ljava/time/Instant; + public final fun getStatus ()Ljava/util/List; + public final fun getStoreId ()Ljava/lang/String; + public final fun getUntil ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentScheduleFilterInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentScheduleFilterInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleFilterInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSortBy : java/lang/Enum { + public static final field COMPLETED_AT Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public static final field CREATED_AT Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentScheduleSortBy$Companion; + public static final field TIME_TO_PAY Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSortBy$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSortInput { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentScheduleSortInput$Companion; + public fun ()V + public fun (Lio/portone/sdk/server/schemas/PaymentScheduleSortBy;Lio/portone/sdk/server/schemas/SortOrder;)V + public synthetic fun (Lio/portone/sdk/server/schemas/PaymentScheduleSortBy;Lio/portone/sdk/server/schemas/SortOrder;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public final fun component2 ()Lio/portone/sdk/server/schemas/SortOrder; + public final fun copy (Lio/portone/sdk/server/schemas/PaymentScheduleSortBy;Lio/portone/sdk/server/schemas/SortOrder;)Lio/portone/sdk/server/schemas/PaymentScheduleSortInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;Lio/portone/sdk/server/schemas/PaymentScheduleSortBy;Lio/portone/sdk/server/schemas/SortOrder;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentScheduleSortInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getBy ()Lio/portone/sdk/server/schemas/PaymentScheduleSortBy; + public final fun getOrder ()Lio/portone/sdk/server/schemas/SortOrder; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentScheduleSortInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentScheduleSortInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentScheduleSortInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentScheduleSortInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSortInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleStatus : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentScheduleStatus$Companion; + public static final field FAILED Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static final field PENDING Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static final field REVOKED Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static final field SCHEDULED Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static final field STARTED Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static final field SUCCEEDED Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentScheduleStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentScheduleStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSummary { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentScheduleSummary$Companion; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentScheduleSummary; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentScheduleSummary;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentScheduleSummary; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentScheduleSummary$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentScheduleSummary$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentScheduleSummary; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentScheduleSummary;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentScheduleSummary$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentSortBy : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentSortBy$Companion; + public static final field REQUESTED_AT Lio/portone/sdk/server/schemas/PaymentSortBy; + public static final field STATUS_CHANGED_AT Lio/portone/sdk/server/schemas/PaymentSortBy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentSortBy; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentSortBy; +} + +public final class io/portone/sdk/server/schemas/PaymentSortBy$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentStatus : java/lang/Enum { + public static final field CANCELLED Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentStatus$Companion; + public static final field FAILED Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field PAID Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field PARTIAL_CANCELLED Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field PENDING Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field READY Lio/portone/sdk/server/schemas/PaymentStatus; + public static final field VIRTUAL_ACCOUNT_ISSUED Lio/portone/sdk/server/schemas/PaymentStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentTextSearch { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentTextSearch$Companion; + public fun (Lio/portone/sdk/server/schemas/PaymentTextSearchField;Ljava/lang/String;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/PaymentTextSearchField;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentTextSearch; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentTextSearch;Lio/portone/sdk/server/schemas/PaymentTextSearchField;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentTextSearch; + public fun equals (Ljava/lang/Object;)Z + public final fun getField ()Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public final fun getValue ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentTextSearch$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentTextSearch$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentTextSearch; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentTextSearch;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentTextSearch$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentTextSearchField : java/lang/Enum { + public static final field ALL Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field BILLING_KEY Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CANCEL_REASON Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_ACQUIRER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_APPROVAL_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_BIN Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_INSTALLMENT Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_ISSUER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CARD_RECEIPT_NAME Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CUSTOMER_ADDRESS Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CUSTOMER_EMAIL Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CUSTOMER_NAME Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CUSTOMER_PHONE_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field CUSTOMER_ZIPCODE Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentTextSearchField$Companion; + public static final field FAIL_REASON Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field GIFT_CERTIFICATION_APPROVAL_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field ORDER_NAME Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PAYMENT_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PG_CANCELLATION_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PG_MERCHANT_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PG_RECEIPT_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PG_TX_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field PROMOTION_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field RECEIPT_APPROVAL_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field SCHEDULE_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field TRANS_BANK Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field TX_ID Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field USER_AGENT Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field VIRTUAL_ACCOUNT_BANK Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field VIRTUAL_ACCOUNT_HOLDER_NAME Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static final field VIRTUAL_ACCOUNT_NUMBER Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentTextSearchField; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentTextSearchField; +} + +public final class io/portone/sdk/server/schemas/PaymentTextSearchField$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentTimestampType : java/lang/Enum { + public static final field CREATED_AT Lio/portone/sdk/server/schemas/PaymentTimestampType; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentTimestampType$Companion; + public static final field STATUS_CHANGED_AT Lio/portone/sdk/server/schemas/PaymentTimestampType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentTimestampType; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentTimestampType; +} + +public final class io/portone/sdk/server/schemas/PaymentTimestampType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhook { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhook$Companion; + public fun (Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentWebhookTrigger;Lio/portone/sdk/server/schemas/PaymentWebhookRequest;Lio/portone/sdk/server/schemas/PaymentWebhookResponse;Ljava/time/Instant;)V + public synthetic fun (Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentWebhookTrigger;Lio/portone/sdk/server/schemas/PaymentWebhookRequest;Lio/portone/sdk/server/schemas/PaymentWebhookResponse;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public final fun component10 ()Lio/portone/sdk/server/schemas/PaymentWebhookResponse; + public final fun component11 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/Boolean; + public final fun component6 ()Ljava/lang/Integer; + public final fun component7 ()Ljava/lang/Integer; + public final fun component8 ()Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public final fun component9 ()Lio/portone/sdk/server/schemas/PaymentWebhookRequest; + public final fun copy (Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentWebhookTrigger;Lio/portone/sdk/server/schemas/PaymentWebhookRequest;Lio/portone/sdk/server/schemas/PaymentWebhookResponse;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/PaymentWebhook; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentWebhook;Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentWebhookStatus;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Lio/portone/sdk/server/schemas/PaymentWebhookTrigger;Lio/portone/sdk/server/schemas/PaymentWebhookRequest;Lio/portone/sdk/server/schemas/PaymentWebhookResponse;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentWebhook; + public fun equals (Ljava/lang/Object;)Z + public final fun getCurrentExecutionCount ()Ljava/lang/Integer; + public final fun getId ()Ljava/lang/String; + public final fun getMaxExecutionCount ()Ljava/lang/Integer; + public final fun getPaymentStatus ()Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public final fun getRequest ()Lio/portone/sdk/server/schemas/PaymentWebhookRequest; + public final fun getResponse ()Lio/portone/sdk/server/schemas/PaymentWebhookResponse; + public final fun getStatus ()Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public final fun getTrigger ()Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public final fun getTriggeredAt ()Ljava/time/Instant; + public final fun getUrl ()Ljava/lang/String; + public fun hashCode ()I + public final fun isAsync ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentWebhook$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentWebhook$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentWebhook; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentWebhook;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhook$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookPaymentStatus : java/lang/Enum { + public static final field CANCELLED Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus$Companion; + public static final field FAILED Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field PAID Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field PARTIAL_CANCELLED Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field PAY_PENDING Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field READY Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static final field VIRTUAL_ACCOUNT_ISSUED Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentWebhookPaymentStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookPaymentStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookRequest { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhookRequest$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/PaymentWebhookRequest; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentWebhookRequest;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentWebhookRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getBody ()Ljava/lang/String; + public final fun getHeader ()Ljava/lang/String; + public final fun getRequestedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentWebhookRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentWebhookRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentWebhookRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentWebhookRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookResponse { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhookResponse$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/PaymentWebhookResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentWebhookResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentWebhookResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getBody ()Ljava/lang/String; + public final fun getCode ()Ljava/lang/String; + public final fun getHeader ()Ljava/lang/String; + public final fun getRespondedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentWebhookResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentWebhookResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentWebhookResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentWebhookResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookStatus : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhookStatus$Companion; + public static final field FAILED_NOT_OK_RESPONSE Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public static final field FAILED_UNEXPECTED_ERROR Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public static final field SUCCEEDED Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentWebhookStatus; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentWebhookStatus; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookStatus$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookTrigger : java/lang/Enum { + public static final field ASYNC_CANCEL_APPROVED Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static final field ASYNC_CANCEL_FAILED Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static final field ASYNC_PAY_APPROVED Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static final field ASYNC_PAY_FAILED Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWebhookTrigger$Companion; + public static final field MANUAL Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static final field VIRTUAL_ACCOUNT_DEPOSIT Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; + public static fun values ()[Lio/portone/sdk/server/schemas/PaymentWebhookTrigger; +} + +public final class io/portone/sdk/server/schemas/PaymentWebhookTrigger$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWithCursor { + public static final field Companion Lio/portone/sdk/server/schemas/PaymentWithCursor$Companion; + public fun (Lio/portone/sdk/server/schemas/Payment;Ljava/lang/String;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/Payment; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/Payment;Ljava/lang/String;)Lio/portone/sdk/server/schemas/PaymentWithCursor; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PaymentWithCursor;Lio/portone/sdk/server/schemas/Payment;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PaymentWithCursor; + public fun equals (Ljava/lang/Object;)Z + public final fun getCursor ()Ljava/lang/String; + public final fun getPayment ()Lio/portone/sdk/server/schemas/Payment; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PaymentWithCursor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PaymentWithCursor$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PaymentWithCursor; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PaymentWithCursor;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PaymentWithCursor$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PendingPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/PendingPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/time/Instant; + public final fun component21 ()Ljava/time/Instant; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/PendingPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/PendingPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/PendingPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public final fun getCompletedAt ()Ljava/time/Instant; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public final fun getStartedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/PendingPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/PendingPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/PendingPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/PendingPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PendingPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class io/portone/sdk/server/schemas/PgBillingKeyIssueResponse { + public static final field Companion Lio/portone/sdk/server/schemas/PgBillingKeyIssueResponse$Companion; + public abstract fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; +} + +public final class io/portone/sdk/server/schemas/PgBillingKeyIssueResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PgCompany : java/lang/Enum { + public static final field ALIPAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field BLUEWALNUT Lio/portone/sdk/server/schemas/PgCompany; + public static final field CHAI Lio/portone/sdk/server/schemas/PgCompany; + public static final field Companion Lio/portone/sdk/server/schemas/PgCompany$Companion; + public static final field DANAL Lio/portone/sdk/server/schemas/PgCompany; + public static final field DAOU Lio/portone/sdk/server/schemas/PgCompany; + public static final field EXIMBAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field GALAXIA Lio/portone/sdk/server/schemas/PgCompany; + public static final field HYPHEN Lio/portone/sdk/server/schemas/PgCompany; + public static final field INICIS Lio/portone/sdk/server/schemas/PgCompany; + public static final field JTNET Lio/portone/sdk/server/schemas/PgCompany; + public static final field KAKAO Lio/portone/sdk/server/schemas/PgCompany; + public static final field KAKAOPAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field KCP Lio/portone/sdk/server/schemas/PgCompany; + public static final field KICC Lio/portone/sdk/server/schemas/PgCompany; + public static final field KPN Lio/portone/sdk/server/schemas/PgCompany; + public static final field KSNET Lio/portone/sdk/server/schemas/PgCompany; + public static final field MOBILIANS Lio/portone/sdk/server/schemas/PgCompany; + public static final field NAVERPAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field NICE Lio/portone/sdk/server/schemas/PgCompany; + public static final field PAYCO Lio/portone/sdk/server/schemas/PgCompany; + public static final field PAYMENTWALL Lio/portone/sdk/server/schemas/PgCompany; + public static final field PAYPAL Lio/portone/sdk/server/schemas/PgCompany; + public static final field PAYPLE Lio/portone/sdk/server/schemas/PgCompany; + public static final field SETTLE Lio/portone/sdk/server/schemas/PgCompany; + public static final field SMARTRO Lio/portone/sdk/server/schemas/PgCompany; + public static final field SMILEPAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field SYRUP Lio/portone/sdk/server/schemas/PgCompany; + public static final field TOSSPAY Lio/portone/sdk/server/schemas/PgCompany; + public static final field TOSSPAYMENTS Lio/portone/sdk/server/schemas/PgCompany; + public static final field WELCOME Lio/portone/sdk/server/schemas/PgCompany; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PgCompany; + public static fun values ()[Lio/portone/sdk/server/schemas/PgCompany; +} + +public final class io/portone/sdk/server/schemas/PgCompany$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PgProvider : java/lang/Enum { + public static final field ALIPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field BLUEWALNUT Lio/portone/sdk/server/schemas/PgProvider; + public static final field CHAI Lio/portone/sdk/server/schemas/PgProvider; + public static final field Companion Lio/portone/sdk/server/schemas/PgProvider$Companion; + public static final field DANAL Lio/portone/sdk/server/schemas/PgProvider; + public static final field DANAL_TPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field DAOU Lio/portone/sdk/server/schemas/PgProvider; + public static final field EXIMBAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field GALAXIA Lio/portone/sdk/server/schemas/PgProvider; + public static final field HTML5_INICIS Lio/portone/sdk/server/schemas/PgProvider; + public static final field HYPHEN Lio/portone/sdk/server/schemas/PgProvider; + public static final field INICIS Lio/portone/sdk/server/schemas/PgProvider; + public static final field INICIS_UNIFIED Lio/portone/sdk/server/schemas/PgProvider; + public static final field INICIS_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field JTNET Lio/portone/sdk/server/schemas/PgProvider; + public static final field KAKAO Lio/portone/sdk/server/schemas/PgProvider; + public static final field KAKAOPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field KCP Lio/portone/sdk/server/schemas/PgProvider; + public static final field KCP_BILLING Lio/portone/sdk/server/schemas/PgProvider; + public static final field KCP_DIRECT Lio/portone/sdk/server/schemas/PgProvider; + public static final field KCP_QUICK Lio/portone/sdk/server/schemas/PgProvider; + public static final field KCP_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field KICC Lio/portone/sdk/server/schemas/PgProvider; + public static final field KPN Lio/portone/sdk/server/schemas/PgProvider; + public static final field KSNET Lio/portone/sdk/server/schemas/PgProvider; + public static final field MOBILIANS Lio/portone/sdk/server/schemas/PgProvider; + public static final field NAVERCO Lio/portone/sdk/server/schemas/PgProvider; + public static final field NAVERPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field NICE Lio/portone/sdk/server/schemas/PgProvider; + public static final field NICE_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field PAYCO Lio/portone/sdk/server/schemas/PgProvider; + public static final field PAYMENTWALL Lio/portone/sdk/server/schemas/PgProvider; + public static final field PAYPAL Lio/portone/sdk/server/schemas/PgProvider; + public static final field PAYPAL_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field PAYPLE Lio/portone/sdk/server/schemas/PgProvider; + public static final field PINPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field SETTLE Lio/portone/sdk/server/schemas/PgProvider; + public static final field SETTLE_ACC Lio/portone/sdk/server/schemas/PgProvider; + public static final field SETTLE_FIRM Lio/portone/sdk/server/schemas/PgProvider; + public static final field SMARTRO Lio/portone/sdk/server/schemas/PgProvider; + public static final field SMARTRO_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field SMILEPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field SYRUP Lio/portone/sdk/server/schemas/PgProvider; + public static final field TOSSPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field TOSSPAYMENTS Lio/portone/sdk/server/schemas/PgProvider; + public static final field TOSSPAY_V2 Lio/portone/sdk/server/schemas/PgProvider; + public static final field TOSS_BRANDPAY Lio/portone/sdk/server/schemas/PgProvider; + public static final field UPLUS Lio/portone/sdk/server/schemas/PgProvider; + public static final field WELCOME Lio/portone/sdk/server/schemas/PgProvider; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PgProvider; + public static fun values ()[Lio/portone/sdk/server/schemas/PgProvider; +} + +public final class io/portone/sdk/server/schemas/PgProvider$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PgProviderException : java/lang/Exception { + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getPgCode ()Ljava/lang/String; + public final fun getPgMessage ()Ljava/lang/String; +} + +public final class io/portone/sdk/server/schemas/PortOneVersion : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/PortOneVersion$Companion; + public static final field V1 Lio/portone/sdk/server/schemas/PortOneVersion; + public static final field V2 Lio/portone/sdk/server/schemas/PortOneVersion; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/PortOneVersion; + public static fun values ()[Lio/portone/sdk/server/schemas/PortOneVersion; +} + +public final class io/portone/sdk/server/schemas/PortOneVersion$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/ReadyIdentityVerification : io/portone/sdk/server/schemas/IdentityVerification { + public static final field Companion Lio/portone/sdk/server/schemas/ReadyIdentityVerification$Companion; + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component3 ()Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/time/Instant; + public final fun component6 ()Ljava/time/Instant; + public final fun component7 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/ReadyIdentityVerification; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ReadyIdentityVerification;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ReadyIdentityVerification; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getCustomData ()Ljava/lang/String; + public fun getId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public final fun getRequestedCustomer ()Lio/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ReadyIdentityVerification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ReadyIdentityVerification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ReadyIdentityVerification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ReadyIdentityVerification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ReadyIdentityVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ReadyPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/ReadyPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)Lio/portone/sdk/server/schemas/ReadyPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ReadyPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ReadyPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ReadyPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ReadyPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ReadyPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ReadyPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ReadyPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem { + public static final field Companion Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()Ljava/lang/Long; + public final fun component5 ()Ljava/lang/Long; + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Lio/portone/sdk/server/schemas/Currency; + public final fun copy (Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem;Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem; + public fun equals (Ljava/lang/Object;)Z + public final fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public final fun getStoreBusinessRegistrationNumber ()Ljava/lang/String; + public final fun getStoreName ()Ljava/lang/String; + public final fun getSupplyAmount ()Ljava/lang/Long; + public final fun getTaxFreeAmount ()Ljava/lang/Long; + public final fun getTotalAmount ()J + public final fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisterStoreReceiptResponse { + public static final field Companion Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse$Companion; + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getReceiptUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RegisterStoreReceiptResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RegisterStoreReceiptResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisterStoreReceiptResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisteredPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RegisteredPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RegisteredPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RegisteredPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RejectedPaymentEscrow : io/portone/sdk/server/schemas/PaymentEscrow { + public static final field Companion Lio/portone/sdk/server/schemas/RejectedPaymentEscrow$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/time/Instant; + public final fun component4 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RejectedPaymentEscrow; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RejectedPaymentEscrow;Ljava/lang/String;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RejectedPaymentEscrow; + public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedAt ()Ljava/time/Instant; + public final fun getCompany ()Ljava/lang/String; + public final fun getInvoiceNumber ()Ljava/lang/String; + public final fun getSentAt ()Ljava/time/Instant; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RejectedPaymentEscrow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RejectedPaymentEscrow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RejectedPaymentEscrow; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RejectedPaymentEscrow;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RejectedPaymentEscrow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/RequestedPaymentCancellation : io/portone/sdk/server/schemas/PaymentCancellation { + public static final field Companion Lio/portone/sdk/server/schemas/RequestedPaymentCancellation$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()J + public final fun component5 ()J + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/time/Instant; + public final fun component9 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RequestedPaymentCancellation; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RequestedPaymentCancellation;Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RequestedPaymentCancellation; + public fun equals (Ljava/lang/Object;)Z + public fun getCancelledAt ()Ljava/time/Instant; + public fun getEasyPayDiscountAmount ()Ljava/lang/Long; + public fun getId ()Ljava/lang/String; + public fun getPgCancellationId ()Ljava/lang/String; + public fun getReason ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getTaxFreeAmount ()J + public fun getTotalAmount ()J + public fun getVatAmount ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RequestedPaymentCancellation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RequestedPaymentCancellation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RequestedPaymentCancellation; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RequestedPaymentCancellation;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RequestedPaymentCancellation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse { + public static final field Companion Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse$Companion; + public fun (Ljava/util/List;Ljava/time/Instant;)V + public synthetic fun (Ljava/util/List;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/time/Instant; + public final fun copy (Ljava/util/List;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse;Ljava/util/List;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getRevokedAt ()Ljava/time/Instant; + public final fun getRevokedScheduleIds ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RevokePaymentSchedulesResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RevokedPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/RevokedPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/time/Instant; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/RevokedPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/RevokedPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/RevokedPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public final fun getRevokedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/RevokedPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/RevokedPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/RevokedPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/RevokedPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/RevokedPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ScheduledPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/ScheduledPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/ScheduledPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/ScheduledPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SelectedChannel { + public static final field Companion Lio/portone/sdk/server/schemas/SelectedChannel$Companion; + public fun (Lio/portone/sdk/server/schemas/SelectedChannelType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PgProvider;Ljava/lang/String;)V + public synthetic fun (Lio/portone/sdk/server/schemas/SelectedChannelType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PgProvider;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lio/portone/sdk/server/schemas/SelectedChannelType; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PgProvider; + public final fun component6 ()Ljava/lang/String; + public final fun copy (Lio/portone/sdk/server/schemas/SelectedChannelType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PgProvider;Ljava/lang/String;)Lio/portone/sdk/server/schemas/SelectedChannel; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/SelectedChannelType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PgProvider;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SelectedChannel; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public final fun getKey ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getPgMerchantId ()Ljava/lang/String; + public final fun getPgProvider ()Lio/portone/sdk/server/schemas/PgProvider; + public final fun getType ()Lio/portone/sdk/server/schemas/SelectedChannelType; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SelectedChannel$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SelectedChannel$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SelectedChannel; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SelectedChannel;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SelectedChannel$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SelectedChannelType : java/lang/Enum { + public static final field Companion Lio/portone/sdk/server/schemas/SelectedChannelType$Companion; + public static final field LIVE Lio/portone/sdk/server/schemas/SelectedChannelType; + public static final field TEST Lio/portone/sdk/server/schemas/SelectedChannelType; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/SelectedChannelType; + public static fun values ()[Lio/portone/sdk/server/schemas/SelectedChannelType; +} + +public final class io/portone/sdk/server/schemas/SelectedChannelType$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer { + public static final field Companion Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public final fun getIdentityNumber ()Ljava/lang/String; + public final fun getIpAddress ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getPhoneNumber ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SeparatedAddress : io/portone/sdk/server/schemas/Address { + public static final field Companion Lio/portone/sdk/server/schemas/SeparatedAddress$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Lio/portone/sdk/server/schemas/Country; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)Lio/portone/sdk/server/schemas/SeparatedAddress; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SeparatedAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SeparatedAddress; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddressLine1 ()Ljava/lang/String; + public final fun getAddressLine2 ()Ljava/lang/String; + public final fun getCity ()Ljava/lang/String; + public final fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getOneLine ()Ljava/lang/String; + public final fun getProvince ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SeparatedAddress$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SeparatedAddress$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SeparatedAddress; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SeparatedAddress;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SeparatedAddress$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SeparatedAddressInput { + public static final field Companion Lio/portone/sdk/server/schemas/SeparatedAddressInput$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/Country; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;)Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SeparatedAddressInput;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public fun equals (Ljava/lang/Object;)Z + public final fun getAddressLine1 ()Ljava/lang/String; + public final fun getAddressLine2 ()Ljava/lang/String; + public final fun getCity ()Ljava/lang/String; + public final fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public final fun getProvince ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SeparatedAddressInput$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SeparatedAddressInput$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SeparatedAddressInput; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SeparatedAddressInput;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SeparatedAddressInput$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SortOrder : java/lang/Enum { + public static final field ASC Lio/portone/sdk/server/schemas/SortOrder; + public static final field Companion Lio/portone/sdk/server/schemas/SortOrder$Companion; + public static final field DESC Lio/portone/sdk/server/schemas/SortOrder; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lio/portone/sdk/server/schemas/SortOrder; + public static fun values ()[Lio/portone/sdk/server/schemas/SortOrder; +} + +public final class io/portone/sdk/server/schemas/SortOrder$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/StartedPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/StartedPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/time/Instant; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/StartedPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/StartedPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/StartedPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public final fun getStartedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/StartedPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/StartedPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/StartedPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/StartedPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/StartedPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SucceededPaymentCancellation : io/portone/sdk/server/schemas/PaymentCancellation { + public static final field Companion Lio/portone/sdk/server/schemas/SucceededPaymentCancellation$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()J + public final fun component5 ()J + public final fun component6 ()Ljava/lang/Long; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/time/Instant; + public final fun component9 ()Ljava/time/Instant; + public final fun copy (Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;)Lio/portone/sdk/server/schemas/SucceededPaymentCancellation; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SucceededPaymentCancellation;Ljava/lang/String;Ljava/lang/String;JJJLjava/lang/Long;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SucceededPaymentCancellation; + public fun equals (Ljava/lang/Object;)Z + public fun getCancelledAt ()Ljava/time/Instant; + public fun getEasyPayDiscountAmount ()Ljava/lang/Long; + public fun getId ()Ljava/lang/String; + public fun getPgCancellationId ()Ljava/lang/String; + public fun getReason ()Ljava/lang/String; + public final fun getReceiptUrl ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getTaxFreeAmount ()J + public fun getTotalAmount ()J + public fun getVatAmount ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SucceededPaymentCancellation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SucceededPaymentCancellation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SucceededPaymentCancellation; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SucceededPaymentCancellation;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SucceededPaymentCancellation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SucceededPaymentSchedule : io/portone/sdk/server/schemas/PaymentSchedule { + public static final field Companion Lio/portone/sdk/server/schemas/SucceededPaymentSchedule$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()J + public final fun component12 ()Ljava/lang/Long; + public final fun component13 ()Ljava/lang/Long; + public final fun component14 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component15 ()Ljava/lang/Integer; + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Ljava/util/List; + public final fun component18 ()Ljava/time/Instant; + public final fun component19 ()Ljava/time/Instant; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/time/Instant; + public final fun component21 ()Ljava/time/Instant; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9 ()Lio/portone/sdk/server/schemas/Customer; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;)Lio/portone/sdk/server/schemas/SucceededPaymentSchedule; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/SucceededPaymentSchedule;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLio/portone/sdk/server/schemas/Customer;Ljava/lang/String;JLjava/lang/Long;Ljava/lang/Long;Lio/portone/sdk/server/schemas/Currency;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/SucceededPaymentSchedule; + public fun equals (Ljava/lang/Object;)Z + public fun getBillingKey ()Ljava/lang/String; + public final fun getCompletedAt ()Ljava/time/Instant; + public fun getCreatedAt ()Ljava/time/Instant; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getId ()Ljava/lang/String; + public fun getInstallmentMonth ()Ljava/lang/Integer; + public fun getMerchantId ()Ljava/lang/String; + public fun getNoticeUrls ()Ljava/util/List; + public fun getOrderName ()Ljava/lang/String; + public fun getPaymentId ()Ljava/lang/String; + public fun getProducts ()Ljava/util/List; + public final fun getStartedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public fun getTaxFreeAmount ()Ljava/lang/Long; + public fun getTimeToPay ()Ljava/time/Instant; + public fun getTotalAmount ()J + public fun getVatAmount ()Ljava/lang/Long; + public fun hashCode ()I + public fun isCulturalExpense ()Z + public fun isEscrow ()Z + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/SucceededPaymentSchedule$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/SucceededPaymentSchedule$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/SucceededPaymentSchedule; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/SucceededPaymentSchedule;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SucceededPaymentSchedule$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/UnauthorizedException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/schemas/VerifiedIdentityVerification : io/portone/sdk/server/schemas/IdentityVerification { + public static final field Companion Lio/portone/sdk/server/schemas/VerifiedIdentityVerification$Companion; + public fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component2 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component3 ()Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/time/Instant; + public final fun component6 ()Ljava/time/Instant; + public final fun component7 ()Ljava/time/Instant; + public final fun component8 ()Ljava/time/Instant; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;)Lio/portone/sdk/server/schemas/VerifiedIdentityVerification; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/VerifiedIdentityVerification;Ljava/lang/String;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/VerifiedIdentityVerification; + public fun equals (Ljava/lang/Object;)Z + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getCustomData ()Ljava/lang/String; + public fun getId ()Ljava/lang/String; + public final fun getPgRawResponse ()Ljava/lang/String; + public final fun getPgTxId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getUpdatedAt ()Ljava/time/Instant; + public final fun getVerifiedAt ()Ljava/time/Instant; + public final fun getVerifiedCustomer ()Lio/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/VerifiedIdentityVerification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/VerifiedIdentityVerification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/VerifiedIdentityVerification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/VerifiedIdentityVerification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/VerifiedIdentityVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/VirtualAccountIssuedPayment : io/portone/sdk/server/schemas/Payment { + public static final field Companion Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; + public final fun component11 ()Ljava/util/List; + public final fun component12 ()Ljava/time/Instant; + public final fun component13 ()Ljava/time/Instant; + public final fun component14 ()Ljava/time/Instant; + public final fun component15 ()Ljava/lang/String; + public final fun component16 ()Lio/portone/sdk/server/schemas/PaymentAmount; + public final fun component17 ()Lio/portone/sdk/server/schemas/Currency; + public final fun component18 ()Lio/portone/sdk/server/schemas/Customer; + public final fun component19 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component20 ()Ljava/lang/Boolean; + public final fun component21 ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public final fun component22 ()Ljava/util/List; + public final fun component23 ()Ljava/lang/Integer; + public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Lio/portone/sdk/server/schemas/Country; + public final fun component26 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Lio/portone/sdk/server/schemas/PaymentMethod; + public final fun component6 ()Lio/portone/sdk/server/schemas/SelectedChannel; + public final fun component7 ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public final fun component8 ()Lio/portone/sdk/server/schemas/PortOneVersion; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;)Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment; + public static synthetic fun copy$default (Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentMethod;Lio/portone/sdk/server/schemas/SelectedChannel;Lio/portone/sdk/server/schemas/ChannelGroupSummary;Lio/portone/sdk/server/schemas/PortOneVersion;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/time/Instant;Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/String;Lio/portone/sdk/server/schemas/PaymentAmount;Lio/portone/sdk/server/schemas/Currency;Lio/portone/sdk/server/schemas/Customer;Ljava/lang/String;Ljava/lang/Boolean;Lio/portone/sdk/server/schemas/PaymentEscrow;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/String;Lio/portone/sdk/server/schemas/Country;Ljava/lang/String;ILjava/lang/Object;)Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Lio/portone/sdk/server/schemas/PaymentAmount; + public fun getBillingKey ()Ljava/lang/String; + public fun getChannel ()Lio/portone/sdk/server/schemas/SelectedChannel; + public fun getChannelGroup ()Lio/portone/sdk/server/schemas/ChannelGroupSummary; + public fun getCountry ()Lio/portone/sdk/server/schemas/Country; + public fun getCurrency ()Lio/portone/sdk/server/schemas/Currency; + public fun getCustomData ()Ljava/lang/String; + public fun getCustomer ()Lio/portone/sdk/server/schemas/Customer; + public fun getEscrow ()Lio/portone/sdk/server/schemas/PaymentEscrow; + public fun getId ()Ljava/lang/String; + public fun getMerchantId ()Ljava/lang/String; + public fun getMethod ()Lio/portone/sdk/server/schemas/PaymentMethod; + public fun getOrderName ()Ljava/lang/String; + public final fun getPgTxId ()Ljava/lang/String; + public fun getProductCount ()Ljava/lang/Integer; + public fun getProducts ()Ljava/util/List; + public fun getPromotionId ()Ljava/lang/String; + public fun getRequestedAt ()Ljava/time/Instant; + public fun getScheduleId ()Ljava/lang/String; + public fun getStatusChangedAt ()Ljava/time/Instant; + public fun getStoreId ()Ljava/lang/String; + public final fun getTransactionId ()Ljava/lang/String; + public fun getUpdatedAt ()Ljava/time/Instant; + public fun getVersion ()Lio/portone/sdk/server/schemas/PortOneVersion; + public fun getWebhooks ()Ljava/util/List; + public fun hashCode ()I + public fun isCulturalExpense ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public synthetic class io/portone/sdk/server/schemas/VirtualAccountIssuedPayment$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/portone/sdk/server/schemas/VirtualAccountIssuedPayment;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/VirtualAccountIssuedPayment$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class io/portone/sdk/server/schemas/WebhookNotFoundException : java/lang/Exception { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class io/portone/sdk/server/serializers/InstantSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lio/portone/sdk/server/serializers/InstantSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/time/Instant; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/time/Instant;)V +} + public final class io/portone/sdk/server/webhook/WebhookVerificationException : java/lang/Exception { public static final field Companion Lio/portone/sdk/server/webhook/WebhookVerificationException$Companion; } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index ac7356e..3c6b86a 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,15 +1,22 @@ import com.vanniktech.maven.publish.SonatypeHost +import io.portone.openapi.GenerateSchemaCodeTask +import io.portone.openapi.GenerateVersionCodeTask +import io.portone.openapi.PatchCodeTask +import io.portone.openapi.SavePatchTask import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.jvm.JvmTargetValidationMode import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile +import java.io.ByteArrayOutputStream import java.net.URI +import java.nio.charset.StandardCharsets plugins { `java-library` signing alias(libs.plugins.kotlin.jvm) + alias(libs.plugins.kotlin.plugin.serialization) alias(libs.plugins.ktlint) alias(libs.plugins.binary.compatibility.validator) alias(libs.plugins.dokka) @@ -19,13 +26,58 @@ plugins { group = "io.portone" description = "JVM library for integrating PortOne payment infrastructure." -val githubRef = System.getenv("GITHUB_REF") version = - if (githubRef != null && githubRef.startsWith("refs/tags/v")) { - githubRef.substring("refs/tags/v".length) - } else { - "0.0.1-SNAPSHOT" + run { + val output = ByteArrayOutputStream() + exec { + workingDir = rootProject.projectDir + executable = "git" + args = listOf("describe", "--dirty", "--tags", "--match", "v*", "--first-parent") + standardOutput = output + } + output.toString(StandardCharsets.UTF_8).trimEnd('\n', '\r').substring(1) + } + +val generateVersionCode = + tasks.register("generateVersionCode") { + version = project.version.toString() + outputDirectory = layout.buildDirectory.dir("generated/sources/versionCode/kotlin/main") + outputs.upToDateWhen { false } + } + +val generateSchemaCode = + tasks.register("generateSchemaCode") { + inputFile = file("../openapi/portone-v2-openapi.json") + outputDirectory.set(layout.buildDirectory.dir("generated/sources/schemaCode/kotlin/main")) + } + +val patchCode = + tasks.register("patchCode") { + originDirectory = generateSchemaCode.flatMap { it.outputDirectory } + patchesDirectory = file("patches") + outputDirectory.set(layout.buildDirectory.dir("generated/sources/patchedCode/kotlin/main")) + outputs.upToDateWhen { false } + } + +val savePatch = + tasks.register("savePatch") { + inputDirectory.set(layout.buildDirectory.dir("generated/sources/patchedCode/kotlin/main")) + outputDirectory = file("patches") + outputs.upToDateWhen { false } + } + +sourceSets { + main { + kotlin { + srcDir(generateVersionCode) + srcDir(patchCode) + } } +} + +tasks.compileKotlin { + dependsOn(generateSchemaCode) +} tasks.withType().configureEach { jvmTargetValidationMode = JvmTargetValidationMode.ERROR @@ -38,7 +90,12 @@ kotlin { jvmTarget = JvmTarget.JVM_11 progressiveMode = true allWarningsAsErrors = true - freeCompilerArgs.addAll("-Xjdk-release=11", "-Xjsr305=strict") + freeCompilerArgs.addAll( + "-Xjdk-release=11", + "-Xjsr305=strict", + "-opt-in=kotlinx.coroutines.DelicateCoroutinesApi", + "-opt-in=kotlinx.serialization.ExperimentalSerializationApi", + ) } } @@ -56,11 +113,14 @@ tasks.compileJava { ) } -repositories { - mavenCentral() +dependencies { + implementation(libs.kotlinx.serialization.json) + implementation(libs.ktor.client.core) + implementation(libs.ktor.client.okhttp) } -dependencies { +repositories { + mavenCentral() } testing { diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/PortOneApi.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/PortOneApi.kt new file mode 100644 index 0000000..ed5ce6a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/PortOneApi.kt @@ -0,0 +1,2465 @@ +package io.portone.sdk.server + +import io.ktor.client.HttpClient +import io.ktor.client.call.body +import io.ktor.client.engine.okhttp.OkHttp +import io.ktor.client.request.`get` +import io.ktor.client.request.accept +import io.ktor.client.request.delete +import io.ktor.client.request.headers +import io.ktor.client.request.patch +import io.ktor.client.request.post +import io.ktor.client.request.setBody +import io.ktor.http.ContentType +import io.ktor.http.HttpHeaders +import io.ktor.http.appendPathSegments +import io.ktor.http.contentType +import io.ktor.http.userAgent +import io.portone.sdk.server.schemas.AlreadyPaidError +import io.portone.sdk.server.schemas.AlreadyPaidException +import io.portone.sdk.server.schemas.AlreadyPaidOrWaitingError +import io.portone.sdk.server.schemas.AlreadyPaidOrWaitingException +import io.portone.sdk.server.schemas.ApplyEscrowLogisticsError +import io.portone.sdk.server.schemas.ApplyEscrowLogisticsResponse +import io.portone.sdk.server.schemas.BillingKeyAlreadyDeletedError +import io.portone.sdk.server.schemas.BillingKeyAlreadyDeletedException +import io.portone.sdk.server.schemas.BillingKeyFilterInput +import io.portone.sdk.server.schemas.BillingKeyInfo +import io.portone.sdk.server.schemas.BillingKeyNotFoundError +import io.portone.sdk.server.schemas.BillingKeyNotFoundException +import io.portone.sdk.server.schemas.BillingKeyNotIssuedError +import io.portone.sdk.server.schemas.BillingKeyNotIssuedException +import io.portone.sdk.server.schemas.BillingKeyPaymentInput +import io.portone.sdk.server.schemas.BillingKeySortInput +import io.portone.sdk.server.schemas.CancelAmountExceedsCancellableAmountError +import io.portone.sdk.server.schemas.CancelAmountExceedsCancellableAmountException +import io.portone.sdk.server.schemas.CancelCashReceiptError +import io.portone.sdk.server.schemas.CancelCashReceiptResponse +import io.portone.sdk.server.schemas.CancelPaymentBody +import io.portone.sdk.server.schemas.CancelPaymentBodyRefundAccount +import io.portone.sdk.server.schemas.CancelPaymentError +import io.portone.sdk.server.schemas.CancelPaymentResponse +import io.portone.sdk.server.schemas.CancelRequester +import io.portone.sdk.server.schemas.CancelTaxAmountExceedsCancellableTaxAmountError +import io.portone.sdk.server.schemas.CancelTaxAmountExceedsCancellableTaxAmountException +import io.portone.sdk.server.schemas.CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError +import io.portone.sdk.server.schemas.CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException +import io.portone.sdk.server.schemas.CancellableAmountConsistencyBrokenError +import io.portone.sdk.server.schemas.CancellableAmountConsistencyBrokenException +import io.portone.sdk.server.schemas.CashReceipt +import io.portone.sdk.server.schemas.CashReceiptAlreadyIssuedError +import io.portone.sdk.server.schemas.CashReceiptAlreadyIssuedException +import io.portone.sdk.server.schemas.CashReceiptInput +import io.portone.sdk.server.schemas.CashReceiptNotFoundError +import io.portone.sdk.server.schemas.CashReceiptNotFoundException +import io.portone.sdk.server.schemas.CashReceiptNotIssuedError +import io.portone.sdk.server.schemas.CashReceiptNotIssuedException +import io.portone.sdk.server.schemas.CashReceiptType +import io.portone.sdk.server.schemas.ChannelNotFoundError +import io.portone.sdk.server.schemas.ChannelNotFoundException +import io.portone.sdk.server.schemas.ChannelSpecificError +import io.portone.sdk.server.schemas.ChannelSpecificException +import io.portone.sdk.server.schemas.CloseVirtualAccountError +import io.portone.sdk.server.schemas.CloseVirtualAccountResponse +import io.portone.sdk.server.schemas.ConfirmEscrowBody +import io.portone.sdk.server.schemas.ConfirmEscrowError +import io.portone.sdk.server.schemas.ConfirmEscrowResponse +import io.portone.sdk.server.schemas.ConfirmIdentityVerificationBody +import io.portone.sdk.server.schemas.ConfirmIdentityVerificationError +import io.portone.sdk.server.schemas.ConfirmIdentityVerificationResponse +import io.portone.sdk.server.schemas.Country +import io.portone.sdk.server.schemas.CreatePaymentScheduleBody +import io.portone.sdk.server.schemas.CreatePaymentScheduleError +import io.portone.sdk.server.schemas.CreatePaymentScheduleResponse +import io.portone.sdk.server.schemas.Currency +import io.portone.sdk.server.schemas.CustomerInput +import io.portone.sdk.server.schemas.DeleteBillingKeyError +import io.portone.sdk.server.schemas.DeleteBillingKeyResponse +import io.portone.sdk.server.schemas.DiscountAmountExceedsTotalAmountError +import io.portone.sdk.server.schemas.DiscountAmountExceedsTotalAmountException +import io.portone.sdk.server.schemas.ForbiddenError +import io.portone.sdk.server.schemas.ForbiddenException +import io.portone.sdk.server.schemas.GetAllPaymentsByCursorBody +import io.portone.sdk.server.schemas.GetAllPaymentsByCursorResponse +import io.portone.sdk.server.schemas.GetAllPaymentsError +import io.portone.sdk.server.schemas.GetBillingKeyInfoError +import io.portone.sdk.server.schemas.GetBillingKeyInfosBody +import io.portone.sdk.server.schemas.GetBillingKeyInfosError +import io.portone.sdk.server.schemas.GetBillingKeyInfosResponse +import io.portone.sdk.server.schemas.GetCashReceiptError +import io.portone.sdk.server.schemas.GetIdentityVerificationError +import io.portone.sdk.server.schemas.GetKakaopayPaymentOrderError +import io.portone.sdk.server.schemas.GetKakaopayPaymentOrderResponse +import io.portone.sdk.server.schemas.GetPaymentError +import io.portone.sdk.server.schemas.GetPaymentScheduleError +import io.portone.sdk.server.schemas.GetPaymentSchedulesBody +import io.portone.sdk.server.schemas.GetPaymentSchedulesError +import io.portone.sdk.server.schemas.GetPaymentSchedulesResponse +import io.portone.sdk.server.schemas.GetPaymentsBody +import io.portone.sdk.server.schemas.GetPaymentsError +import io.portone.sdk.server.schemas.GetPaymentsResponse +import io.portone.sdk.server.schemas.IdentityVerification +import io.portone.sdk.server.schemas.IdentityVerificationAlreadySentError +import io.portone.sdk.server.schemas.IdentityVerificationAlreadySentException +import io.portone.sdk.server.schemas.IdentityVerificationAlreadyVerifiedError +import io.portone.sdk.server.schemas.IdentityVerificationAlreadyVerifiedException +import io.portone.sdk.server.schemas.IdentityVerificationMethod +import io.portone.sdk.server.schemas.IdentityVerificationNotFoundError +import io.portone.sdk.server.schemas.IdentityVerificationNotFoundException +import io.portone.sdk.server.schemas.IdentityVerificationNotSentError +import io.portone.sdk.server.schemas.IdentityVerificationNotSentException +import io.portone.sdk.server.schemas.IdentityVerificationOperator +import io.portone.sdk.server.schemas.InstantBillingKeyPaymentMethodInput +import io.portone.sdk.server.schemas.InstantPaymentInput +import io.portone.sdk.server.schemas.InstantPaymentMethodInput +import io.portone.sdk.server.schemas.InvalidRequestError +import io.portone.sdk.server.schemas.InvalidRequestException +import io.portone.sdk.server.schemas.IssueBillingKeyBody +import io.portone.sdk.server.schemas.IssueBillingKeyError +import io.portone.sdk.server.schemas.IssueBillingKeyResponse +import io.portone.sdk.server.schemas.IssueCashReceiptBody +import io.portone.sdk.server.schemas.IssueCashReceiptCustomerInput +import io.portone.sdk.server.schemas.IssueCashReceiptError +import io.portone.sdk.server.schemas.IssueCashReceiptResponse +import io.portone.sdk.server.schemas.ModifyEscrowLogisticsBody +import io.portone.sdk.server.schemas.ModifyEscrowLogisticsError +import io.portone.sdk.server.schemas.ModifyEscrowLogisticsResponse +import io.portone.sdk.server.schemas.PageInput +import io.portone.sdk.server.schemas.PayInstantlyError +import io.portone.sdk.server.schemas.PayInstantlyResponse +import io.portone.sdk.server.schemas.PayWithBillingKeyError +import io.portone.sdk.server.schemas.PayWithBillingKeyResponse +import io.portone.sdk.server.schemas.Payment +import io.portone.sdk.server.schemas.PaymentAlreadyCancelledError +import io.portone.sdk.server.schemas.PaymentAlreadyCancelledException +import io.portone.sdk.server.schemas.PaymentAmountInput +import io.portone.sdk.server.schemas.PaymentEscrowReceiverInput +import io.portone.sdk.server.schemas.PaymentEscrowSenderInput +import io.portone.sdk.server.schemas.PaymentFilterInput +import io.portone.sdk.server.schemas.PaymentLogistics +import io.portone.sdk.server.schemas.PaymentNotFoundError +import io.portone.sdk.server.schemas.PaymentNotFoundException +import io.portone.sdk.server.schemas.PaymentNotPaidError +import io.portone.sdk.server.schemas.PaymentNotPaidException +import io.portone.sdk.server.schemas.PaymentNotWaitingForDepositError +import io.portone.sdk.server.schemas.PaymentNotWaitingForDepositException +import io.portone.sdk.server.schemas.PaymentProduct +import io.portone.sdk.server.schemas.PaymentProductType +import io.portone.sdk.server.schemas.PaymentSchedule +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyExistsError +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyExistsException +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyProcessedError +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyProcessedException +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyRevokedError +import io.portone.sdk.server.schemas.PaymentScheduleAlreadyRevokedException +import io.portone.sdk.server.schemas.PaymentScheduleFilterInput +import io.portone.sdk.server.schemas.PaymentScheduleNotFoundError +import io.portone.sdk.server.schemas.PaymentScheduleNotFoundException +import io.portone.sdk.server.schemas.PaymentScheduleSortInput +import io.portone.sdk.server.schemas.PgProviderError +import io.portone.sdk.server.schemas.PgProviderException +import io.portone.sdk.server.schemas.PreRegisterPaymentBody +import io.portone.sdk.server.schemas.PreRegisterPaymentError +import io.portone.sdk.server.schemas.PromotionPayMethodDoesNotMatchError +import io.portone.sdk.server.schemas.PromotionPayMethodDoesNotMatchException +import io.portone.sdk.server.schemas.RegisterEscrowLogisticsBody +import io.portone.sdk.server.schemas.RegisterStoreReceiptBody +import io.portone.sdk.server.schemas.RegisterStoreReceiptBodyItem +import io.portone.sdk.server.schemas.RegisterStoreReceiptError +import io.portone.sdk.server.schemas.RegisterStoreReceiptResponse +import io.portone.sdk.server.schemas.RemainedAmountLessThanPromotionMinPaymentAmountError +import io.portone.sdk.server.schemas.RemainedAmountLessThanPromotionMinPaymentAmountException +import io.portone.sdk.server.schemas.ResendIdentityVerificationError +import io.portone.sdk.server.schemas.ResendWebhookBody +import io.portone.sdk.server.schemas.ResendWebhookError +import io.portone.sdk.server.schemas.ResendWebhookResponse +import io.portone.sdk.server.schemas.RevokePaymentSchedulesBody +import io.portone.sdk.server.schemas.RevokePaymentSchedulesError +import io.portone.sdk.server.schemas.RevokePaymentSchedulesResponse +import io.portone.sdk.server.schemas.SendIdentityVerificationBody +import io.portone.sdk.server.schemas.SendIdentityVerificationBodyCustomer +import io.portone.sdk.server.schemas.SendIdentityVerificationError +import io.portone.sdk.server.schemas.SeparatedAddressInput +import io.portone.sdk.server.schemas.SumOfPartsExceedsCancelAmountError +import io.portone.sdk.server.schemas.SumOfPartsExceedsCancelAmountException +import io.portone.sdk.server.schemas.SumOfPartsExceedsTotalAmountError +import io.portone.sdk.server.schemas.SumOfPartsExceedsTotalAmountException +import io.portone.sdk.server.schemas.UnauthorizedError +import io.portone.sdk.server.schemas.UnauthorizedException +import io.portone.sdk.server.schemas.WebhookNotFoundError +import io.portone.sdk.server.schemas.WebhookNotFoundException +import java.io.Closeable +import java.time.Instant +import java.util.concurrent.CompletableFuture +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.Unit +import kotlin.collections.List +import kotlin.jvm.JvmName +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.future.future +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonObject + +public class PortOneApi( + public val apiSecret: String, + public val storeId: String? = null, +) : Closeable { + private val client: HttpClient = HttpClient(OkHttp) + + private val json: Json = Json { ignoreUnknownKeys = true } + + override fun close() { + client.close() + } + + /** + * 본인인증 단건 조회 + * + * 주어진 아이디에 대응되는 본인인증 내역을 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws IdentityVerificationNotFoundError 요청된 본인인증 건이 존재하지 않는 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param identityVerificationId 조회할 본인인증 아이디 + * @return 성공 응답으로 본인 인증 객체를 반환합니다. + */ + @JvmName("getIdentityVerificationSuspend") + public suspend fun getIdentityVerification(identityVerificationId: String): IdentityVerification { + val httpResponse = client.get("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId) + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is IdentityVerificationNotFoundError -> throw IdentityVerificationNotFoundException(message + = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getIdentityVerification") + public fun getIdentityVerificationFuture(identityVerificationId: String): + CompletableFuture = GlobalScope.future { + getIdentityVerification(identityVerificationId) } + + /** + * 본인인증 요청 전송 + * + * SMS 또는 APP 방식을 이용하여 본인인증 요청을 전송합니다. + * + * @throws ChannelNotFoundError 요청된 채널이 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws IdentityVerificationAlreadySentError 본인인증 건이 이미 API로 요청된 상태인 경우 + * @throws IdentityVerificationAlreadyVerifiedError 본인인증 건이 이미 인증 완료된 상태인 경우 + * @throws IdentityVerificationNotFoundError 요청된 본인인증 건이 존재하지 않는 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param identityVerificationId 본인인증 아이디 + * @param channelKey 채널 키 + * @param customer 고객 정보 + * @param customData 사용자 지정 데이터 + * @param bypass PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + * @param operator 통신사 + * @param method 본인인증 방식 + */ + @JvmName("sendIdentityVerificationSuspend") + public suspend fun sendIdentityVerification( + identityVerificationId: String, + channelKey: String, + customer: SendIdentityVerificationBodyCustomer, + customData: String? = null, + bypass: JsonObject? = null, + `operator`: IdentityVerificationOperator, + method: IdentityVerificationMethod, + ) { + val httpResponse = client.post("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId, "send") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(SendIdentityVerificationBody(storeId = storeId, + channelKey = channelKey, customer = customer, customData = customData, bypass = bypass, + operator = operator, method = method))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ChannelNotFoundError -> throw ChannelNotFoundException(message = httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is IdentityVerificationAlreadySentError -> throw + IdentityVerificationAlreadySentException(message = httpBodyDecoded.message) + is IdentityVerificationAlreadyVerifiedError -> throw + IdentityVerificationAlreadyVerifiedException(message = httpBodyDecoded.message) + is IdentityVerificationNotFoundError -> throw IdentityVerificationNotFoundException(message + = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + } + + /** + * @suppress + */ + @JvmName("sendIdentityVerification") + public fun sendIdentityVerificationFuture( + identityVerificationId: String, + channelKey: String, + customer: SendIdentityVerificationBodyCustomer, + customData: String? = null, + bypass: JsonObject? = null, + `operator`: IdentityVerificationOperator, + method: IdentityVerificationMethod, + ): CompletableFuture = GlobalScope.future { sendIdentityVerification(identityVerificationId, + channelKey, customer, customData, bypass, operator, method) } + + /** + * 본인인증 확인 + * + * 요청된 본인인증에 대한 확인을 진행합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws IdentityVerificationAlreadyVerifiedError 본인인증 건이 이미 인증 완료된 상태인 경우 + * @throws IdentityVerificationNotFoundError 요청된 본인인증 건이 존재하지 않는 경우 + * @throws IdentityVerificationNotSentError 본인인증 건이 API로 요청된 상태가 아닌 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param identityVerificationId 본인인증 아이디 + * @param otp OTP (One-Time Password) - SMS 방식에서만 사용됩니다. + * @return 성공 응답 + */ + @JvmName("confirmIdentityVerificationSuspend") + public suspend fun confirmIdentityVerification(identityVerificationId: String, otp: String? = + null): ConfirmIdentityVerificationResponse { + val httpResponse = client.post("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId, "confirm") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(ConfirmIdentityVerificationBody(storeId = storeId, + otp = otp))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is IdentityVerificationAlreadyVerifiedError -> throw + IdentityVerificationAlreadyVerifiedException(message = httpBodyDecoded.message) + is IdentityVerificationNotFoundError -> throw IdentityVerificationNotFoundException(message + = httpBodyDecoded.message) + is IdentityVerificationNotSentError -> throw IdentityVerificationNotSentException(message = + httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("confirmIdentityVerification") + public fun confirmIdentityVerificationFuture(identityVerificationId: String, otp: String? = null): + CompletableFuture = GlobalScope.future { + confirmIdentityVerification(identityVerificationId, otp) } + + /** + * SMS 본인인증 요청 재전송 + * + * SMS 본인인증 요청을 재전송합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws IdentityVerificationAlreadyVerifiedError 본인인증 건이 이미 인증 완료된 상태인 경우 + * @throws IdentityVerificationNotFoundError 요청된 본인인증 건이 존재하지 않는 경우 + * @throws IdentityVerificationNotSentError 본인인증 건이 API로 요청된 상태가 아닌 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param identityVerificationId 본인인증 아이디 + */ + @JvmName("resendIdentityVerificationSuspend") + public suspend fun resendIdentityVerification(identityVerificationId: String) { + val httpResponse = client.post("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId, "resend") + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody("{}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is IdentityVerificationAlreadyVerifiedError -> throw + IdentityVerificationAlreadyVerifiedException(message = httpBodyDecoded.message) + is IdentityVerificationNotFoundError -> throw IdentityVerificationNotFoundException(message + = httpBodyDecoded.message) + is IdentityVerificationNotSentError -> throw IdentityVerificationNotSentException(message = + httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + } + + /** + * @suppress + */ + @JvmName("resendIdentityVerification") + public fun resendIdentityVerificationFuture(identityVerificationId: String): + CompletableFuture = GlobalScope.future { + resendIdentityVerification(identityVerificationId) } + + /** + * 결제 정보 사전 등록 + * + * 결제 정보를 사전 등록합니다. + * + * @throws AlreadyPaidError 결제가 이미 완료된 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param totalAmount 결제 총 금액 + * @param taxFreeAmount 결제 면세 금액 + * @param currency 통화 단위 + */ + @JvmName("preRegisterPaymentSuspend") + public suspend fun preRegisterPayment( + paymentId: String, + totalAmount: Long? = null, + taxFreeAmount: Long? = null, + currency: Currency? = null, + ) { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "pre-register") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(PreRegisterPaymentBody(storeId = storeId, + totalAmount = totalAmount, taxFreeAmount = taxFreeAmount, currency = currency))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is AlreadyPaidError -> throw AlreadyPaidException(message = httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + } + + /** + * @suppress + */ + @JvmName("preRegisterPayment") + public fun preRegisterPaymentFuture( + paymentId: String, + totalAmount: Long? = null, + taxFreeAmount: Long? = null, + currency: Currency? = null, + ): CompletableFuture = GlobalScope.future { preRegisterPayment(paymentId, totalAmount, + taxFreeAmount, currency) } + + /** + * 빌링키 단건 조회 + * + * 주어진 빌링키에 대응되는 빌링키 정보를 조회합니다. + * + * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param billingKey 조회할 빌링키 + * @return 성공 응답으로 빌링키 정보를 반환합니다. + */ + @JvmName("getBillingKeyInfoSuspend") + public suspend fun getBillingKeyInfo(billingKey: String): BillingKeyInfo { + val httpResponse = client.get("https://api.portone.io/billing-keys") { + url { + appendPathSegments(billingKey) + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getBillingKeyInfo") + public fun getBillingKeyInfoFuture(billingKey: String): CompletableFuture = + GlobalScope.future { getBillingKeyInfo(billingKey) } + + /** + * 빌링키 삭제 + * + * 빌링키를 삭제합니다. + * + * @throws BillingKeyAlreadyDeletedError 빌링키가 이미 삭제된 경우 + * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws BillingKeyNotIssuedError BillingKeyNotIssuedError + * @throws ChannelSpecificError 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentScheduleAlreadyExistsError 결제 예약건이 이미 존재하는 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param billingKey 삭제할 빌링키 + * @return 성공 응답 + */ + @JvmName("deleteBillingKeySuspend") + public suspend fun deleteBillingKey(billingKey: String): DeleteBillingKeyResponse { + val httpResponse = client.delete("https://api.portone.io/billing-keys") { + url { + appendPathSegments(billingKey) + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is BillingKeyAlreadyDeletedError -> throw BillingKeyAlreadyDeletedException(message = + httpBodyDecoded.message) + is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = + httpBodyDecoded.message) + is BillingKeyNotIssuedError -> throw BillingKeyNotIssuedException(message = + httpBodyDecoded.message) + is ChannelSpecificError -> throw ChannelSpecificException(message = httpBodyDecoded.message, + failures = httpBodyDecoded.failures, succeededChannels = + httpBodyDecoded.succeededChannels) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentScheduleAlreadyExistsError -> throw PaymentScheduleAlreadyExistsException(message + = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("deleteBillingKey") + public fun deleteBillingKeyFuture(billingKey: String): CompletableFuture + = GlobalScope.future { deleteBillingKey(billingKey) } + + /** + * 빌링키 다건 조회 + * + * 주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param page 요청할 페이지 정보 - 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + * @param sort 정렬 조건 - 미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다. + * @param filter 조회할 빌링키 조건 필터 - V1 빌링키 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다. + * @return 성공 응답으로 조회된 빌링키 리스트와 페이지 정보가 반환됩니다. + */ + @JvmName("getBillingKeyInfosSuspend") + public suspend fun getBillingKeyInfos( + page: PageInput? = null, + sort: BillingKeySortInput? = null, + filter: BillingKeyFilterInput? = null, + ): GetBillingKeyInfosResponse { + val httpResponse = client.get("https://api.portone.io/billing-keys") { + url { + parameters.append("requestBody", + this@PortOneApi.json.encodeToString(GetBillingKeyInfosBody(page = page, sort = sort, + filter = filter))) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getBillingKeyInfos") + public fun getBillingKeyInfosFuture( + page: PageInput? = null, + sort: BillingKeySortInput? = null, + filter: BillingKeyFilterInput? = null, + ): CompletableFuture = GlobalScope.future { getBillingKeyInfos(page, + sort, filter) } + + /** + * 빌링키 발급 + * + * 빌링키 발급을 요청합니다. + * + * @throws ChannelNotFoundError 요청된 채널이 존재하지 않는 경우 + * @throws ChannelSpecificError 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param method 빌링키 결제 수단 정보 + * @param channelKey 채널 키 - 채널 키 또는 채널 그룹 ID 필수 + * @param channelGroupId 채널 그룹 ID - 채널 키 또는 채널 그룹 ID 필수 + * @param customer 고객 정보 + * @param customData 사용자 지정 데이터 + * @param bypass PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + * @param noticeUrls 웹훅 주소 - 빌링키 발급 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + * @return 성공 응답 + */ + @JvmName("issueBillingKeySuspend") + public suspend fun issueBillingKey( + method: InstantBillingKeyPaymentMethodInput, + channelKey: String? = null, + channelGroupId: String? = null, + customer: CustomerInput? = null, + customData: String? = null, + bypass: JsonObject? = null, + noticeUrls: List? = null, + ): IssueBillingKeyResponse { + val httpResponse = client.post("https://api.portone.io/billing-keys") { + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(IssueBillingKeyBody(storeId = storeId, method = + method, channelKey = channelKey, channelGroupId = channelGroupId, customer = customer, + customData = customData, bypass = bypass, noticeUrls = noticeUrls))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ChannelNotFoundError -> throw ChannelNotFoundException(message = httpBodyDecoded.message) + is ChannelSpecificError -> throw ChannelSpecificException(message = httpBodyDecoded.message, + failures = httpBodyDecoded.failures, succeededChannels = + httpBodyDecoded.succeededChannels) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("issueBillingKey") + public fun issueBillingKeyFuture( + method: InstantBillingKeyPaymentMethodInput, + channelKey: String? = null, + channelGroupId: String? = null, + customer: CustomerInput? = null, + customData: String? = null, + bypass: JsonObject? = null, + noticeUrls: List? = null, + ): CompletableFuture = GlobalScope.future { issueBillingKey(method, + channelKey, channelGroupId, customer, customData, bypass, noticeUrls) } + + /** + * 현금 영수증 단건 조회 + * + * 주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다. + * + * @throws CashReceiptNotFoundError 현금영수증이 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @return 성공 응답으로 현금 영수증 객체를 반환합니다. + */ + @JvmName("getCashReceiptByPaymentIdSuspend") + public suspend fun getCashReceiptByPaymentId(paymentId: String): CashReceipt { + val httpResponse = client.get("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "cash-receipt") + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is CashReceiptNotFoundError -> throw CashReceiptNotFoundException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getCashReceiptByPaymentId") + public fun getCashReceiptByPaymentIdFuture(paymentId: String): CompletableFuture = + GlobalScope.future { getCashReceiptByPaymentId(paymentId) } + + /** + * 결제 단건 조회 + * + * 주어진 아이디에 대응되는 결제 건을 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 조회할 결제 아이디 + * @return 성공 응답으로 결제 건 객체를 반환합니다. + */ + @JvmName("getPaymentSuspend") + public suspend fun getPayment(paymentId: String): Payment { + val httpResponse = client.get("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId) + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getPayment") + public fun getPaymentFuture(paymentId: String): CompletableFuture = GlobalScope.future { + getPayment(paymentId) } + + /** + * 결제 다건 조회(페이지 기반) + * + * 주어진 조건에 맞는 결제 건들을 페이지 기반으로 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param page 요청할 페이지 정보 - 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + * @param filter 조회할 결제 건 조건 필터 - V1 결제 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다. + * @return 성공 응답으로 조회된 결제 건 리스트와 페이지 정보가 반환됩니다. + */ + @JvmName("getPaymentsSuspend") + public suspend fun getPayments(page: PageInput? = null, filter: PaymentFilterInput? = null): + GetPaymentsResponse { + val httpResponse = client.get("https://api.portone.io/payments") { + url { + parameters.append("requestBody", this@PortOneApi.json.encodeToString(GetPaymentsBody(page = + page, filter = filter))) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getPayments") + public fun getPaymentsFuture(page: PageInput? = null, filter: PaymentFilterInput? = null): + CompletableFuture = GlobalScope.future { getPayments(page, filter) } + + /** + * 결제 대용량 다건 조회(커서 기반) + * + * 기간 내 모든 결제 건을 커서 기반으로 조회합니다. 결제 건의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제 건이 조회됩니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param from 결제 건 생성시점 범위 조건의 시작 - 값을 입력하지 않으면 end의 90일 전으로 설정됩니다. + * @param until 결제 건 생성시점 범위 조건의 끝 - 값을 입력하지 않으면 현재 시점으로 설정됩니다. + * @param cursor 커서 - 결제 건 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는 이전 요청 + * 응답값의 cursor를 입력해주시면 됩니다. + * @param size 페이지 크기 - 미입력 시 기본값은 10 이며 최대 1000까지 허용 + * @return 성공 응답으로 조회된 결제 건 리스트와 커서 정보가 반환됩니다. + */ + @JvmName("getAllPaymentsByCursorSuspend") + public suspend fun getAllPaymentsByCursor( + from: Instant? = null, + until: Instant? = null, + cursor: String? = null, + size: Int? = null, + ): GetAllPaymentsByCursorResponse { + val httpResponse = client.get("https://api.portone.io/payments-by-cursor") { + url { + parameters.append("requestBody", + this@PortOneApi.json.encodeToString(GetAllPaymentsByCursorBody(storeId = storeId, from = + from, until = until, cursor = cursor, size = size))) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getAllPaymentsByCursor") + public fun getAllPaymentsByCursorFuture( + from: Instant? = null, + until: Instant? = null, + cursor: String? = null, + size: Int? = null, + ): CompletableFuture = GlobalScope.future { + getAllPaymentsByCursor(from, until, cursor, size) } + + /** + * 결제 예약 단건 조회 + * + * 주어진 아이디에 대응되는 결제 예약 건을 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentScheduleNotFoundError 결제 예약건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentScheduleId 조회할 결제 예약 건 아이디 + * @return 성공 응답으로 결제 예약 건 객체를 반환합니다. + */ + @JvmName("getPaymentScheduleSuspend") + public suspend fun getPaymentSchedule(paymentScheduleId: String): PaymentSchedule { + val httpResponse = client.get("https://api.portone.io/payment-schedules") { + url { + appendPathSegments(paymentScheduleId) + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentScheduleNotFoundError -> throw PaymentScheduleNotFoundException(message = + httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getPaymentSchedule") + public fun getPaymentScheduleFuture(paymentScheduleId: String): CompletableFuture + = GlobalScope.future { getPaymentSchedule(paymentScheduleId) } + + /** + * 결제 예약 다건 조회 + * + * 주어진 조건에 맞는 결제 예약 건들을 조회합니다. + * `filter.from`, `filter.until` 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록 되어 있으니, 미래 예약 상태의 건을 + * 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param page 요청할 페이지 정보 - 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + * @param sort 정렬 조건 - 미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다. + * @param filter 조회할 결제 예약 건의 조건 필터 + * @return 성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다. + */ + @JvmName("getPaymentSchedulesSuspend") + public suspend fun getPaymentSchedules( + page: PageInput? = null, + sort: PaymentScheduleSortInput? = null, + filter: PaymentScheduleFilterInput? = null, + ): GetPaymentSchedulesResponse { + val httpResponse = client.get("https://api.portone.io/payment-schedules") { + url { + parameters.append("requestBody", + this@PortOneApi.json.encodeToString(GetPaymentSchedulesBody(page = page, sort = sort, + filter = filter))) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getPaymentSchedules") + public fun getPaymentSchedulesFuture( + page: PageInput? = null, + sort: PaymentScheduleSortInput? = null, + filter: PaymentScheduleFilterInput? = null, + ): CompletableFuture = GlobalScope.future { getPaymentSchedules(page, + sort, filter) } + + /** + * 결제 예약 취소 + * + * 결제 예약 건을 취소합니다. + * + * @throws BillingKeyAlreadyDeletedError 빌링키가 이미 삭제된 경우 + * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentScheduleAlreadyProcessedError 결제 예약건이 이미 처리된 경우 + * @throws PaymentScheduleAlreadyRevokedError 결제 예약건이 이미 취소된 경우 + * @throws PaymentScheduleNotFoundError 결제 예약건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param billingKey 빌링키 + * @param scheduleIds 결제 예약 건 아이디 목록 + * @return 성공 응답 + */ + @JvmName("revokePaymentSchedulesSuspend") + public suspend fun revokePaymentSchedules(billingKey: String? = null, scheduleIds: List? = + null): RevokePaymentSchedulesResponse { + val httpResponse = client.delete("https://api.portone.io/payment-schedules") { + url { + parameters.append("requestBody", + this@PortOneApi.json.encodeToString(RevokePaymentSchedulesBody(storeId = storeId, + billingKey = billingKey, scheduleIds = scheduleIds))) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is BillingKeyAlreadyDeletedError -> throw BillingKeyAlreadyDeletedException(message = + httpBodyDecoded.message) + is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentScheduleAlreadyProcessedError -> throw + PaymentScheduleAlreadyProcessedException(message = httpBodyDecoded.message) + is PaymentScheduleAlreadyRevokedError -> throw + PaymentScheduleAlreadyRevokedException(message = httpBodyDecoded.message) + is PaymentScheduleNotFoundError -> throw PaymentScheduleNotFoundException(message = + httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("revokePaymentSchedules") + public fun revokePaymentSchedulesFuture(billingKey: String? = null, scheduleIds: List? = + null): CompletableFuture = GlobalScope.future { + revokePaymentSchedules(billingKey, scheduleIds) } + + /** + * 결제 예약 + * + * 결제를 예약합니다. + * + * @throws AlreadyPaidOrWaitingError 결제가 이미 완료되었거나 대기중인 경우 + * @throws BillingKeyAlreadyDeletedError 빌링키가 이미 삭제된 경우 + * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentScheduleAlreadyExistsError 결제 예약건이 이미 존재하는 경우 + * @throws SumOfPartsExceedsTotalAmountError 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param payment 빌링키 결제 입력 정보 + * @param timeToPay 결제 예정 시점 + * @return 성공 응답 + */ + @JvmName("createPaymentScheduleSuspend") + public suspend fun createPaymentSchedule( + paymentId: String, + payment: BillingKeyPaymentInput, + timeToPay: Instant, + ): CreatePaymentScheduleResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "schedule") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(CreatePaymentScheduleBody(payment = payment, + timeToPay = timeToPay))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is AlreadyPaidOrWaitingError -> throw AlreadyPaidOrWaitingException(message = + httpBodyDecoded.message) + is BillingKeyAlreadyDeletedError -> throw BillingKeyAlreadyDeletedException(message = + httpBodyDecoded.message) + is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentScheduleAlreadyExistsError -> throw PaymentScheduleAlreadyExistsException(message + = httpBodyDecoded.message) + is SumOfPartsExceedsTotalAmountError -> throw SumOfPartsExceedsTotalAmountException(message + = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("createPaymentSchedule") + public fun createPaymentScheduleFuture( + paymentId: String, + payment: BillingKeyPaymentInput, + timeToPay: Instant, + ): CompletableFuture = GlobalScope.future { + createPaymentSchedule(paymentId, payment, timeToPay) } + + /** + * 결제 취소 + * + * 결제 취소를 요청합니다. + * + * @throws CancellableAmountConsistencyBrokenError 취소 가능 잔액 검증에 실패한 경우 + * @throws CancelAmountExceedsCancellableAmountError 결제 취소 금액이 취소 가능 금액을 초과한 경우 + * @throws CancelTaxAmountExceedsCancellableTaxAmountError 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우 + * @throws CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentAlreadyCancelledError 결제가 이미 취소된 경우 + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotPaidError 결제가 완료되지 않은 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws RemainedAmountLessThanPromotionMinPaymentAmountError 부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 + * 결제 금액보다 작아지는 경우 + * @throws SumOfPartsExceedsCancelAmountError 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param amount 취소 총 금액 - 값을 입력하지 않으면 전액 취소됩니다. + * @param taxFreeAmount 취소 금액 중 면세 금액 - 값을 입력하지 않으면 전액 과세 취소됩니다. + * @param vatAmount 취소 금액 중 부가세액 - 값을 입력하지 않으면 자동 계산됩니다. + * @param reason 취소 사유 + * @param requester 취소 요청자 - 고객에 의한 취소일 경우 Customer, 관리자에 의한 취소일 경우 Admin으로 입력합니다. + * @param currentCancellableAmount 결제 건의 취소 가능 잔액 - 본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 + * 취소가 진행됩니다. 값을 입력하지 않으면 별도의 검증 처리를 수행하지 않습니다. + * @param refundAccount 환불 계좌 - 계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다. + * @return 성공 응답 + */ + @JvmName("cancelPaymentSuspend") + public suspend fun cancelPayment( + paymentId: String, + amount: Long? = null, + taxFreeAmount: Long? = null, + vatAmount: Long? = null, + reason: String, + requester: CancelRequester? = null, + currentCancellableAmount: Long? = null, + refundAccount: CancelPaymentBodyRefundAccount? = null, + ): CancelPaymentResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "cancel") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(CancelPaymentBody(storeId = storeId, amount = + amount, taxFreeAmount = taxFreeAmount, vatAmount = vatAmount, reason = reason, requester = + requester, currentCancellableAmount = currentCancellableAmount, refundAccount = + refundAccount))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is CancellableAmountConsistencyBrokenError -> throw + CancellableAmountConsistencyBrokenException(message = httpBodyDecoded.message) + is CancelAmountExceedsCancellableAmountError -> throw + CancelAmountExceedsCancellableAmountException(message = httpBodyDecoded.message) + is CancelTaxAmountExceedsCancellableTaxAmountError -> throw + CancelTaxAmountExceedsCancellableTaxAmountException(message = httpBodyDecoded.message) + is CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError -> throw + CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentAlreadyCancelledError -> throw PaymentAlreadyCancelledException(message = + httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotPaidError -> throw PaymentNotPaidException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is RemainedAmountLessThanPromotionMinPaymentAmountError -> throw + RemainedAmountLessThanPromotionMinPaymentAmountException(message = + httpBodyDecoded.message) + is SumOfPartsExceedsCancelAmountError -> throw + SumOfPartsExceedsCancelAmountException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("cancelPayment") + public fun cancelPaymentFuture( + paymentId: String, + amount: Long? = null, + taxFreeAmount: Long? = null, + vatAmount: Long? = null, + reason: String, + requester: CancelRequester? = null, + currentCancellableAmount: Long? = null, + refundAccount: CancelPaymentBodyRefundAccount? = null, + ): CompletableFuture = GlobalScope.future { cancelPayment(paymentId, + amount, taxFreeAmount, vatAmount, reason, requester, currentCancellableAmount, refundAccount) + } + + /** + * 빌링키 결제 + * + * 빌링키로 결제를 진행합니다. + * + * @throws AlreadyPaidError 결제가 이미 완료된 경우 + * @throws BillingKeyAlreadyDeletedError 빌링키가 이미 삭제된 경우 + * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws ChannelNotFoundError 요청된 채널이 존재하지 않는 경우 + * @throws DiscountAmountExceedsTotalAmountError 프로모션 할인 금액이 결제 시도 금액 이상인 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws PromotionPayMethodDoesNotMatchError 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우 + * @throws SumOfPartsExceedsTotalAmountError 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param billingKey 빌링키 결제에 사용할 빌링키 + * @param channelKey 채널 키 - 다수 채널에 대해 발급된 빌링키에 대해, 결제 채널을 특정하고 싶을 때 명시 + * @param orderName 주문명 + * @param customer 고객 정보 + * @param customData 사용자 지정 데이터 + * @param amount 결제 금액 세부 입력 정보 + * @param currency 통화 + * @param installmentMonth 할부 개월 수 + * @param useFreeInterestFromMerchant 무이자 할부 이자를 고객사가 부담할지 여부 + * @param useCardPoint 카드 포인트 사용 여부 + * @param cashReceipt 현금영수증 정보 + * @param country 결제 국가 + * @param noticeUrls 웹훅 주소 - 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + * @param products 상품 정보 - 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + * @param productCount 상품 개수 + * @param productType 상품 유형 + * @param shippingAddress 배송지 주소 + * @param promotionId 해당 결제에 적용할 프로모션 아이디 + * @param bypass PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + * @return 성공 응답 + */ + @JvmName("payWithBillingKeySuspend") + public suspend fun payWithBillingKey( + paymentId: String, + billingKey: String, + channelKey: String? = null, + orderName: String, + customer: CustomerInput? = null, + customData: String? = null, + amount: PaymentAmountInput, + currency: Currency, + installmentMonth: Int? = null, + useFreeInterestFromMerchant: Boolean? = null, + useCardPoint: Boolean? = null, + cashReceipt: CashReceiptInput? = null, + country: Country? = null, + noticeUrls: List? = null, + products: List? = null, + productCount: Int? = null, + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + bypass: JsonObject? = null, + ): PayWithBillingKeyResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "billing-key") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(BillingKeyPaymentInput(storeId = storeId, + billingKey = billingKey, channelKey = channelKey, orderName = orderName, customer = + customer, customData = customData, amount = amount, currency = currency, installmentMonth + = installmentMonth, useFreeInterestFromMerchant = useFreeInterestFromMerchant, + useCardPoint = useCardPoint, cashReceipt = cashReceipt, country = country, noticeUrls = + noticeUrls, products = products, productCount = productCount, productType = productType, + shippingAddress = shippingAddress, promotionId = promotionId, bypass = bypass))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is AlreadyPaidError -> throw AlreadyPaidException(message = httpBodyDecoded.message) + is BillingKeyAlreadyDeletedError -> throw BillingKeyAlreadyDeletedException(message = + httpBodyDecoded.message) + is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = + httpBodyDecoded.message) + is ChannelNotFoundError -> throw ChannelNotFoundException(message = httpBodyDecoded.message) + is DiscountAmountExceedsTotalAmountError -> throw + DiscountAmountExceedsTotalAmountException(message = httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is PromotionPayMethodDoesNotMatchError -> throw + PromotionPayMethodDoesNotMatchException(message = httpBodyDecoded.message) + is SumOfPartsExceedsTotalAmountError -> throw SumOfPartsExceedsTotalAmountException(message + = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("payWithBillingKey") + public fun payWithBillingKeyFuture( + paymentId: String, + billingKey: String, + channelKey: String? = null, + orderName: String, + customer: CustomerInput? = null, + customData: String? = null, + amount: PaymentAmountInput, + currency: Currency, + installmentMonth: Int? = null, + useFreeInterestFromMerchant: Boolean? = null, + useCardPoint: Boolean? = null, + cashReceipt: CashReceiptInput? = null, + country: Country? = null, + noticeUrls: List? = null, + products: List? = null, + productCount: Int? = null, + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + bypass: JsonObject? = null, + ): CompletableFuture = GlobalScope.future { + payWithBillingKey(paymentId, billingKey, channelKey, orderName, customer, customData, amount, + currency, installmentMonth, useFreeInterestFromMerchant, useCardPoint, cashReceipt, country, + noticeUrls, products, productCount, productType, shippingAddress, promotionId, bypass) } + + /** + * 수기 결제 + * + * 수기 결제를 진행합니다. + * + * @throws AlreadyPaidError 결제가 이미 완료된 경우 + * @throws ChannelNotFoundError 요청된 채널이 존재하지 않는 경우 + * @throws DiscountAmountExceedsTotalAmountError 프로모션 할인 금액이 결제 시도 금액 이상인 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws PromotionPayMethodDoesNotMatchError 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우 + * @throws SumOfPartsExceedsTotalAmountError 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param channelKey 채널 키 - 채널 키 또는 채널 그룹 ID 필수 + * @param channelGroupId 채널 그룹 ID - 채널 키 또는 채널 그룹 ID 필수 + * @param method 결제수단 정보 + * @param orderName 주문명 + * @param isCulturalExpense 문화비 지출 여부 - 기본값은 false 입니다. + * @param isEscrow 에스크로 결제 여부 - 기본값은 false 입니다. + * @param customer 고객 정보 + * @param customData 사용자 지정 데이터 + * @param amount 결제 금액 세부 입력 정보 + * @param currency 통화 + * @param country 결제 국가 + * @param noticeUrls 웹훅 주소 - 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + * @param products 상품 정보 - 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + * @param productCount 상품 개수 + * @param productType 상품 유형 + * @param shippingAddress 배송지 주소 + * @param promotionId 해당 결제에 적용할 프로모션 아이디 + * @return 성공 응답 + */ + @JvmName("payInstantlySuspend") + public suspend fun payInstantly( + paymentId: String, + channelKey: String? = null, + channelGroupId: String? = null, + method: InstantPaymentMethodInput, + orderName: String, + isCulturalExpense: Boolean? = null, + isEscrow: Boolean? = null, + customer: CustomerInput? = null, + customData: String? = null, + amount: PaymentAmountInput, + currency: Currency, + country: Country? = null, + noticeUrls: List? = null, + products: List? = null, + productCount: Int? = null, + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + ): PayInstantlyResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "instant") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(InstantPaymentInput(storeId = storeId, channelKey + = channelKey, channelGroupId = channelGroupId, method = method, orderName = orderName, + isCulturalExpense = isCulturalExpense, isEscrow = isEscrow, customer = customer, + customData = customData, amount = amount, currency = currency, country = country, + noticeUrls = noticeUrls, products = products, productCount = productCount, productType = + productType, shippingAddress = shippingAddress, promotionId = promotionId))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is AlreadyPaidError -> throw AlreadyPaidException(message = httpBodyDecoded.message) + is ChannelNotFoundError -> throw ChannelNotFoundException(message = httpBodyDecoded.message) + is DiscountAmountExceedsTotalAmountError -> throw + DiscountAmountExceedsTotalAmountException(message = httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is PromotionPayMethodDoesNotMatchError -> throw + PromotionPayMethodDoesNotMatchException(message = httpBodyDecoded.message) + is SumOfPartsExceedsTotalAmountError -> throw SumOfPartsExceedsTotalAmountException(message + = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("payInstantly") + public fun payInstantlyFuture( + paymentId: String, + channelKey: String? = null, + channelGroupId: String? = null, + method: InstantPaymentMethodInput, + orderName: String, + isCulturalExpense: Boolean? = null, + isEscrow: Boolean? = null, + customer: CustomerInput? = null, + customData: String? = null, + amount: PaymentAmountInput, + currency: Currency, + country: Country? = null, + noticeUrls: List? = null, + products: List? = null, + productCount: Int? = null, + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + ): CompletableFuture = GlobalScope.future { payInstantly(paymentId, + channelKey, channelGroupId, method, orderName, isCulturalExpense, isEscrow, customer, + customData, amount, currency, country, noticeUrls, products, productCount, productType, + shippingAddress, promotionId) } + + /** + * 현금 영수증 수동 발급 + * + * 현금 영수증 발급을 요청합니다. + * + * @throws CashReceiptAlreadyIssuedError 현금영수증이 이미 발급된 경우 + * @throws ChannelNotFoundError 요청된 채널이 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 - 외부 결제 건에 대한 수동 발급의 경우, 아이디를 직접 채번하여 입력합니다. + * @param channelKey 채널 키 + * @param type 현금 영수증 유형 + * @param orderName 주문명 + * @param currency 화폐 + * @param amount 금액 세부 입력 정보 + * @param productType 상품 유형 + * @param customer 고객 정보 + * @param paidAt 결제 일자 + * @return 성공 응답 + */ + @JvmName("issueCashReceiptSuspend") + public suspend fun issueCashReceipt( + paymentId: String, + channelKey: String, + type: CashReceiptType, + orderName: String, + currency: Currency, + amount: PaymentAmountInput, + productType: PaymentProductType? = null, + customer: IssueCashReceiptCustomerInput, + paidAt: Instant? = null, + ): IssueCashReceiptResponse { + val httpResponse = client.post("https://api.portone.io/cash-receipts") { + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(IssueCashReceiptBody(storeId = storeId, paymentId + = paymentId, channelKey = channelKey, type = type, orderName = orderName, currency = + currency, amount = amount, productType = productType, customer = customer, paidAt = + paidAt))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is CashReceiptAlreadyIssuedError -> throw CashReceiptAlreadyIssuedException(message = + httpBodyDecoded.message) + is ChannelNotFoundError -> throw ChannelNotFoundException(message = httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("issueCashReceipt") + public fun issueCashReceiptFuture( + paymentId: String, + channelKey: String, + type: CashReceiptType, + orderName: String, + currency: Currency, + amount: PaymentAmountInput, + productType: PaymentProductType? = null, + customer: IssueCashReceiptCustomerInput, + paidAt: Instant? = null, + ): CompletableFuture = GlobalScope.future { issueCashReceipt(paymentId, + channelKey, type, orderName, currency, amount, productType, customer, paidAt) } + + /** + * 현금 영수증 취소 + * + * 현금 영수증 취소를 요청합니다. + * + * @throws CashReceiptNotFoundError 현금영수증이 존재하지 않는 경우 + * @throws CashReceiptNotIssuedError 현금영수증이 발급되지 않은 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @return 성공 응답 + */ + @JvmName("cancelCashReceiptByPaymentIdSuspend") + public suspend fun cancelCashReceiptByPaymentId(paymentId: String): CancelCashReceiptResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "cash-receipt", "cancel") + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody("{}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is CashReceiptNotFoundError -> throw CashReceiptNotFoundException(message = + httpBodyDecoded.message) + is CashReceiptNotIssuedError -> throw CashReceiptNotIssuedException(message = + httpBodyDecoded.message) + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("cancelCashReceiptByPaymentId") + public fun cancelCashReceiptByPaymentIdFuture(paymentId: String): + CompletableFuture = GlobalScope.future { + cancelCashReceiptByPaymentId(paymentId) } + + /** + * 가상계좌 말소 + * + * 발급된 가상계좌를 말소합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotWaitingForDepositError 결제 건이 입금 대기 상태가 아닌 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @return 성공 응답 + */ + @JvmName("closeVirtualAccountSuspend") + public suspend fun closeVirtualAccount(paymentId: String): CloseVirtualAccountResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "virtual-account", "close") + if (storeId != null) parameters.append("storeId", storeId) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody("{}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotWaitingForDepositError -> throw PaymentNotWaitingForDepositException(message = + httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("closeVirtualAccount") + public fun closeVirtualAccountFuture(paymentId: String): + CompletableFuture = GlobalScope.future { + closeVirtualAccount(paymentId) } + + /** + * 에스크로 배송 정보 등록 + * + * 에스크로 배송 정보를 등록합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotPaidError 결제가 완료되지 않은 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param sender 에스크로 발송자 정보 + * @param receiver 에스크로 수취인 정보 + * @param logistics 에스크로 물류 정보 + * @param sendEmail 이메일 알림 전송 여부 - 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다. + * @param products 상품 정보 + * @return 성공 응답 + */ + @JvmName("applyEscrowLogisticsSuspend") + public suspend fun applyEscrowLogistics( + paymentId: String, + sender: PaymentEscrowSenderInput? = null, + `receiver`: PaymentEscrowReceiverInput? = null, + logistics: PaymentLogistics, + sendEmail: Boolean? = null, + products: List? = null, + ): ApplyEscrowLogisticsResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "escrow", "logistics") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(RegisterEscrowLogisticsBody(storeId = storeId, + sender = sender, receiver = receiver, logistics = logistics, sendEmail = sendEmail, + products = products))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotPaidError -> throw PaymentNotPaidException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("applyEscrowLogistics") + public fun applyEscrowLogisticsFuture( + paymentId: String, + sender: PaymentEscrowSenderInput? = null, + `receiver`: PaymentEscrowReceiverInput? = null, + logistics: PaymentLogistics, + sendEmail: Boolean? = null, + products: List? = null, + ): CompletableFuture = GlobalScope.future { + applyEscrowLogistics(paymentId, sender, receiver, logistics, sendEmail, products) } + + /** + * 에스크로 배송 정보 수정 + * + * 에스크로 배송 정보를 수정합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotPaidError 결제가 완료되지 않은 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param sender 에스크로 발송자 정보 + * @param receiver 에스크로 수취인 정보 + * @param logistics 에스크로 물류 정보 + * @param sendEmail 이메일 알림 전송 여부 - 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다. + * @param products 상품 정보 + * @return 성공 응답 + */ + @JvmName("modifyEscrowLogisticsSuspend") + public suspend fun modifyEscrowLogistics( + paymentId: String, + sender: PaymentEscrowSenderInput? = null, + `receiver`: PaymentEscrowReceiverInput? = null, + logistics: PaymentLogistics, + sendEmail: Boolean? = null, + products: List? = null, + ): ModifyEscrowLogisticsResponse { + val httpResponse = client.patch("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "escrow", "logistics") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(ModifyEscrowLogisticsBody(storeId = storeId, + sender = sender, receiver = receiver, logistics = logistics, sendEmail = sendEmail, + products = products))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotPaidError -> throw PaymentNotPaidException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("modifyEscrowLogistics") + public fun modifyEscrowLogisticsFuture( + paymentId: String, + sender: PaymentEscrowSenderInput? = null, + `receiver`: PaymentEscrowReceiverInput? = null, + logistics: PaymentLogistics, + sendEmail: Boolean? = null, + products: List? = null, + ): CompletableFuture = GlobalScope.future { + modifyEscrowLogistics(paymentId, sender, receiver, logistics, sendEmail, products) } + + /** + * 에스크로 구매 확정 + * + * 에스크로 결제를 구매 확정 처리합니다 + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotPaidError 결제가 완료되지 않은 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param fromStore 확인 주체가 상점인지 여부 - 구매확정요청 주체가 고객사 관리자인지 구매자인지 구분하기 위한 필드입니다. + * 네이버페이 전용 파라미터이며, 구분이 모호한 경우 고객사 관리자(true)로 입력합니다. + * @return 성공 응답 + */ + @JvmName("confirmEscrowSuspend") + public suspend fun confirmEscrow(paymentId: String, fromStore: Boolean? = null): + ConfirmEscrowResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "escrow", "complete") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(ConfirmEscrowBody(storeId = storeId, fromStore = + fromStore))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotPaidError -> throw PaymentNotPaidException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("confirmEscrow") + public fun confirmEscrowFuture(paymentId: String, fromStore: Boolean? = null): + CompletableFuture = GlobalScope.future { confirmEscrow(paymentId, + fromStore) } + + /** + * 웹훅 재발송 + * + * 웹훅을 재발송합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws WebhookNotFoundError 웹훅 내역이 존재하지 않는 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 + * @param webhookId 웹훅 아이디 - 입력하지 않으면 결제 건의 가장 최근 웹훅 아이디가 기본 적용됩니다 + * @return 성공 응답 + */ + @JvmName("resendWebhookSuspend") + public suspend fun resendWebhook(paymentId: String, webhookId: String? = null): + ResendWebhookResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "resend-webhook") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(ResendWebhookBody(storeId = storeId, webhookId = + webhookId))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + is WebhookNotFoundError -> throw WebhookNotFoundException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("resendWebhook") + public fun resendWebhookFuture(paymentId: String, webhookId: String? = null): + CompletableFuture = GlobalScope.future { resendWebhook(paymentId, + webhookId) } + + /** + * 카카오페이 주문 조회 API + * + * 주어진 아이디에 대응되는 카카오페이 주문 건을 조회합니다. + * 해당 API 사용이 필요한 경우 포트원 기술지원팀으로 문의 주시길 바랍니다. + * + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param pgTxId 카카오페이 주문 번호 (tid) + * @param channelKey 채널 키 + * @return 성공 응답으로 카카오페이 주문 조회 응답 객체를 반환합니다. + */ + @JvmName("getKakaopayPaymentOrderSuspend") + public suspend fun getKakaopayPaymentOrder(pgTxId: String, channelKey: String): + GetKakaopayPaymentOrderResponse { + val httpResponse = client.get("https://api.portone.io/kakaopay/payment/order") { + url { + parameters.append("pgTxId", pgTxId) + parameters.append("channelKey", channelKey) + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("getKakaopayPaymentOrder") + public fun getKakaopayPaymentOrderFuture(pgTxId: String, channelKey: String): + CompletableFuture = GlobalScope.future { + getKakaopayPaymentOrder(pgTxId, channelKey) } + + /** + * 영수증 내 하위 상점 거래 등록 + * + * 결제 내역 매출전표에 하위 상점의 거래를 등록합니다. + * 지원되는 PG사: + * KG이니시스(이용 전 콘솔 -> 결제연동 탭에서 INIApi Key 등록 필요) + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws PaymentNotPaidError 결제가 완료되지 않은 경우 + * @throws PgProviderError PG사에서 오류를 전달한 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 등록할 하위 상점 결제 건 아이디 + * @param items 하위 상점 거래 목록 + * @return 성공 응답 + */ + @JvmName("registerStoreReceiptSuspend") + public suspend fun registerStoreReceipt(paymentId: String, + items: List): RegisterStoreReceiptResponse { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "register-store-receipt") + } + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") + } + contentType(ContentType.Application.Json) + accept(ContentType.Application.Json) + userAgent("portone-server-sdk-jvm/${SDK_VERSION}") + setBody(this@PortOneApi.json.encodeToString(RegisterStoreReceiptBody(items = items, storeId = + storeId))) + } + if (httpResponse.status.value !in 200..299) { + val httpBody = httpResponse.body() + val httpBodyDecoded = try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) + is PaymentNotPaidError -> throw PaymentNotPaidException(message = httpBodyDecoded.message) + is PgProviderError -> throw PgProviderException(message = httpBodyDecoded.message, pgCode = + httpBodyDecoded.pgCode, pgMessage = httpBodyDecoded.pgMessage) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } + val httpBody = httpResponse.body() + return try { + this.json.decodeFromString(httpBody) + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") + } + } + + /** + * @suppress + */ + @JvmName("registerStoreReceipt") + public fun registerStoreReceiptFuture(paymentId: String, + items: List): CompletableFuture = + GlobalScope.future { registerStoreReceipt(paymentId, items) } +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Address.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Address.kt new file mode 100644 index 0000000..9f6dc1e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Address.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 분리 형식 주소 + * + * oneLine(한 줄 형식 주소) 필드는 항상 존재합니다. + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface Address { + /** + * 주소 (한 줄) + */ + public val oneLine: String +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidError.kt new file mode 100644 index 0000000..d522390 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidError.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제가 이미 완료된 경우 + */ +@Serializable +@SerialName("ALREADY_PAID") +internal data class AlreadyPaidError( + override val message: String? = null, +) : PreRegisterPaymentError, + PayWithBillingKeyError, + PayInstantlyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidException.kt new file mode 100644 index 0000000..d76c3c3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제가 이미 완료된 경우 + */ +public class AlreadyPaidException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingError.kt new file mode 100644 index 0000000..3cc4ea9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제가 이미 완료되었거나 대기중인 경우 + */ +@Serializable +@SerialName("ALREADY_PAID_OR_WAITING") +internal data class AlreadyPaidOrWaitingError( + override val message: String? = null, +) : CreatePaymentScheduleError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingException.kt new file mode 100644 index 0000000..7c60cd4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/AlreadyPaidOrWaitingException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제가 이미 완료되었거나 대기중인 경우 + */ +public class AlreadyPaidOrWaitingException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsError.kt new file mode 100644 index 0000000..3883bce --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ApplyEscrowLogisticsError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ApplyEscrowLogisticsError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse.kt new file mode 100644 index 0000000..909aa42 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ApplyEscrowLogisticsResponse.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 에스크로 배송 정보 등록 성공 응답 + */ +@Serializable +public data class ApplyEscrowLogisticsResponse( + /** + * 송장 번호 + */ + public val invoiceNumber: String, + /** + * 발송 시점 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant, + /** + * 에스크로 정보 등록 시점 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Bank.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Bank.kt new file mode 100644 index 0000000..e8acab0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Bank.kt @@ -0,0 +1,322 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 은행 + */ +@Serializable +public enum class Bank { + /** + * 한국은행 + */ + BANK_OF_KOREA, + /** + * 산업은행 + */ + KDB, + /** + * 기업은행 + */ + IBK, + /** + * 국민은행 + */ + KOOKMIN, + /** + * 수협은행 + */ + SUHYUP, + /** + * 수출입은행 + */ + KEXIM, + /** + * NH농협은행 + */ + NONGHYUP, + /** + * 지역농축협 + */ + LOCAL_NONGHYUP, + /** + * 우리은행 + */ + WOORI, + /** + * SC제일은행 + */ + STANDARD_CHARTERED, + /** + * 한국씨티은행 + */ + CITI, + /** + * 아이엠뱅크 + */ + DAEGU, + /** + * 부산은행 + */ + BUSAN, + /** + * 광주은행 + */ + KWANGJU, + /** + * 제주은행 + */ + JEJU, + /** + * 전북은행 + */ + JEONBUK, + /** + * 경남은행 + */ + KYONGNAM, + /** + * 새마을금고 + */ + KFCC, + /** + * 신협 + */ + SHINHYUP, + /** + * 저축은행 + */ + SAVINGS_BANK, + /** + * 모간스탠리은행 + */ + MORGAN_STANLEY, + /** + * HSBC은행 + */ + HSBC, + /** + * 도이치은행 + */ + DEUTSCHE, + /** + * 제이피모간체이스은행 + */ + JPMC, + /** + * 미즈호은행 + */ + MIZUHO, + /** + * 엠유에프지은행 + */ + MUFG, + /** + * BOA은행 + */ + BANK_OF_AMERICA, + /** + * 비엔피파리바은행 + */ + BNP_PARIBAS, + /** + * 중국공상은행 + */ + ICBC, + /** + * 중국은행 + */ + BANK_OF_CHINA, + /** + * 산림조합중앙회 + */ + NFCF, + /** + * 대화은행 + */ + UOB, + /** + * 교통은행 + */ + BOCOM, + /** + * 중국건설은행 + */ + CCB, + /** + * 우체국 + */ + POST, + /** + * 신용보증기금 + */ + KODIT, + /** + * 기술보증기금 + */ + KIBO, + /** + * 하나은행 + */ + HANA, + /** + * 신한은행 + */ + SHINHAN, + /** + * 케이뱅크 + */ + K_BANK, + /** + * 카카오뱅크 + */ + KAKAO, + /** + * 토스뱅크 + */ + TOSS, + /** + * 기타 외국계은행(중국 농업은행 등) + */ + MISC_FOREIGN, + /** + * 서울보증보험 + */ + SGI, + /** + * 한국신용정보원 + */ + KCIS, + /** + * 유안타증권 + */ + YUANTA_SECURITIES, + /** + * KB증권 + */ + KB_SECURITIES, + /** + * 상상인증권 + */ + SANGSANGIN_SECURITIES, + /** + * 한양증권 + */ + HANYANG_SECURITIES, + /** + * 리딩투자증권 + */ + LEADING_SECURITIES, + /** + * BNK투자증권 + */ + BNK_SECURITIES, + /** + * IBK투자증권 + */ + IBK_SECURITIES, + /** + * 다올투자증권 + */ + DAOL_SECURITIES, + /** + * 미래에셋증권 + */ + MIRAE_ASSET_SECURITIES, + /** + * 삼성증권 + */ + SAMSUNG_SECURITIES, + /** + * 한국투자증권 + */ + KOREA_SECURITIES, + /** + * NH투자증권 + */ + NH_SECURITIES, + /** + * 교보증권 + */ + KYOBO_SECURITIES, + /** + * 하이투자증권 + */ + HI_SECURITIES, + /** + * 현대차증권 + */ + HYUNDAI_MOTOR_SECURITIES, + /** + * 키움증권 + */ + KIWOOM_SECURITIES, + /** + * LS증권 + */ + EBEST_SECURITIES, + /** + * SK증권 + */ + SK_SECURITIES, + /** + * 대신증권 + */ + DAISHIN_SECURITIES, + /** + * 한화투자증권 + */ + HANHWA_SECURITIES, + /** + * 하나증권 + */ + HANA_SECURITIES, + /** + * 토스증권 + */ + TOSS_SECURITIES, + /** + * 신한투자증권 + */ + SHINHAN_SECURITIES, + /** + * DB금융투자 + */ + DB_SECURITIES, + /** + * 유진투자증권 + */ + EUGENE_SECURITIES, + /** + * 메리츠증권 + */ + MERITZ_SECURITIES, + /** + * 카카오페이증권 + */ + KAKAO_PAY_SECURITIES, + /** + * 부국증권 + */ + BOOKOOK_SECURITIES, + /** + * 신영증권 + */ + SHINYOUNG_SECURITIES, + /** + * 케이프투자증권 + */ + CAPE_SECURITIES, + /** + * 한국증권금융 + */ + KOREA_SECURITIES_FINANCE, + /** + * 한국포스증권 + */ + KOREA_FOSS_SECURITIES, + /** + * 우리종합금융 + */ + WOORI_INVESTMENT_BANK, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BeforeRegisteredPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BeforeRegisteredPaymentEscrow.kt new file mode 100644 index 0000000..f1bcbbd --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BeforeRegisteredPaymentEscrow.kt @@ -0,0 +1,9 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 배송 정보 등록 전 + */ +@Serializable +public data object BeforeRegisteredPaymentEscrow : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedError.kt new file mode 100644 index 0000000..1cfac2e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedError.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키가 이미 삭제된 경우 + */ +@Serializable +@SerialName("BILLING_KEY_ALREADY_DELETED") +internal data class BillingKeyAlreadyDeletedError( + override val message: String? = null, +) : DeleteBillingKeyError, + RevokePaymentSchedulesError, + CreatePaymentScheduleError, + PayWithBillingKeyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedException.kt new file mode 100644 index 0000000..b1c8e6e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyAlreadyDeletedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 빌링키가 이미 삭제된 경우 + */ +public class BillingKeyAlreadyDeletedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFailure.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFailure.kt new file mode 100644 index 0000000..85074b4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFailure.kt @@ -0,0 +1,29 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 발급 실패 상세 정보 + */ +@Serializable +public data class BillingKeyFailure( + /** + * 실패 사유 + */ + public val message: String? = null, + /** + * PG사 실패 코드 + */ + public val pgCode: String? = null, + /** + * PG사 실패 사유 + */ + public val pgMessage: String? = null, + /** + * 실패 시점 + */ + public val failedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFilterInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFilterInput.kt new file mode 100644 index 0000000..5267da8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyFilterInput.kt @@ -0,0 +1,82 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 빌링키 다건 조회를 위한 입력 정보 + */ +@Serializable +public data class BillingKeyFilterInput( + /** + * 상점 아이디 + * + * Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 빌링키를 조회합니다. + */ + public val storeId: String? = null, + /** + * 조회 기준 시점 유형 + */ + public val timeRangeField: BillingKeyTimeRangeField? = null, + /** + * 조회 기준 시점 범위의 시작 + * + * 값을 입력하지 않으면 end의 90일 전으로 설정됩니다. + */ + public val from: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 조회 기준 시점 범위의 끝 + * + * 값을 입력하지 않으면 현재 시점으로 설정됩니다. + */ + public val until: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 빌링키 상태 리스트 + * + * 값을 입력하지 않으면 빌링키 상태 필터링이 적용되지 않습니다. + */ + public val status: List? = null, + /** + * 채널 그룹 아이디 리스트 + * + * 값을 입력하지 않으면 스마트 라우팅 그룹 아이디 필터링이 적용되지 않습니다. + */ + public val channelGroupIds: List? = null, + /** + * 고객 ID + */ + public val customerId: String? = null, + /** + * 플랫폼 유형 + */ + public val platformType: PaymentClientType? = null, + /** + * 통합 검색 필터 + */ + public val textSearch: BillingKeyTextSearch? = null, + /** + * PG사 결제 모듈 리스트 + * + * 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다. + */ + public val pgProviders: List? = null, + /** + * PG사 리스트 + * + * 값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다. + */ + public val pgCompanies: List? = null, + /** + * 결제수단 리스트 + * + * 값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다. + */ + public val methods: List? = null, + /** + * 포트원 버전 + */ + public val version: PortOneVersion? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfo.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfo.kt new file mode 100644 index 0000000..a250f5a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfo.kt @@ -0,0 +1,86 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 빌링키 정보 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface BillingKeyInfo { + /** + * 빌링키 + */ + public val billingKey: String + + /** + * 고객사 아이디 + */ + public val merchantId: String + + /** + * 상점 아이디 + */ + public val storeId: String + + /** + * 빌링키 결제수단 상세 정보 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다. + */ + public val methods: List? + + /** + * 빌링키 발급 시 사용된 채널 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다. + */ + public val channels: List + + /** + * 고객 정보 + */ + public val customer: Customer + + /** + * 사용자 지정 데이터 + */ + public val customData: String? + + /** + * 고객사가 채번하는 빌링키 발급 건 고유 아이디 + */ + public val issueId: String? + + /** + * 빌링키 발급 건 이름 + */ + public val issueName: String? + + /** + * 발급 요청 시점 + */ + public val requestedAt: @Serializable(InstantSerializer::class) Instant? + + /** + * 발급 시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 채널 그룹 + */ + public val channelGroup: ChannelGroupSummary? + + /** + * 채널 별 빌링키 발급 응답 + * + * 슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 발급은 실패할 수 있습니다. + */ + public val pgBillingKeyIssueResponses: List? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfoSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfoSummary.kt new file mode 100644 index 0000000..82df87c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyInfoSummary.kt @@ -0,0 +1,26 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * BillingKeyInfoSummary + */ +@Serializable +public data class BillingKeyInfoSummary( + /** + * 발급된 빌링키 + */ + public val billingKey: String, + /** + * (결제, 본인인증 등에) 선택된 채널 정보 + */ + public val channels: List? = null, + /** + * 빌링크 발급 완료 시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundError.kt new file mode 100644 index 0000000..e9a7524 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundError.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키가 존재하지 않는 경우 + */ +@Serializable +@SerialName("BILLING_KEY_NOT_FOUND") +internal data class BillingKeyNotFoundError( + override val message: String? = null, +) : GetBillingKeyInfoError, + DeleteBillingKeyError, + RevokePaymentSchedulesError, + CreatePaymentScheduleError, + PayWithBillingKeyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundException.kt new file mode 100644 index 0000000..b43d341 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 빌링키가 존재하지 않는 경우 + */ +public class BillingKeyNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedError.kt new file mode 100644 index 0000000..fe48796 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * BillingKeyNotIssuedError + */ +@Serializable +@SerialName("BILLING_KEY_NOT_ISSUED") +internal data class BillingKeyNotIssuedError( + override val message: String? = null, +) : DeleteBillingKeyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedException.kt new file mode 100644 index 0000000..23c84ba --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyNotIssuedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * BillingKeyNotIssuedError + */ +public class BillingKeyNotIssuedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentInput.kt new file mode 100644 index 0000000..9a68642 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentInput.kt @@ -0,0 +1,105 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonObject + +/** + * 빌링키 결제 요청 입력 정보 + */ +@Serializable +public data class BillingKeyPaymentInput( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 빌링키 결제에 사용할 빌링키 + */ + public val billingKey: String, + /** + * 채널 키 + * + * 다수 채널에 대해 발급된 빌링키에 대해, 결제 채널을 특정하고 싶을 때 명시 + */ + public val channelKey: String? = null, + /** + * 주문명 + */ + public val orderName: String, + /** + * 고객 정보 + */ + public val customer: CustomerInput? = null, + /** + * 사용자 지정 데이터 + */ + public val customData: String? = null, + /** + * 결제 금액 세부 입력 정보 + */ + public val amount: PaymentAmountInput, + /** + * 통화 + */ + public val currency: Currency, + /** + * 할부 개월 수 + */ + public val installmentMonth: Int? = null, + /** + * 무이자 할부 이자를 고객사가 부담할지 여부 + */ + public val useFreeInterestFromMerchant: Boolean? = null, + /** + * 카드 포인트 사용 여부 + */ + public val useCardPoint: Boolean? = null, + /** + * 현금영수증 정보 + */ + public val cashReceipt: CashReceiptInput? = null, + /** + * 결제 국가 + */ + public val country: Country? = null, + /** + * 웹훅 주소 + * + * 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + */ + public val noticeUrls: List? = null, + /** + * 상품 정보 + * + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + */ + public val products: List? = null, + /** + * 상품 개수 + */ + public val productCount: Int? = null, + /** + * 상품 유형 + */ + public val productType: PaymentProductType? = null, + /** + * 배송지 주소 + */ + public val shippingAddress: SeparatedAddressInput? = null, + /** + * 해당 결제에 적용할 프로모션 아이디 + */ + public val promotionId: String? = null, + /** + * PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + */ + public val bypass: JsonObject? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethod.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethod.kt new file mode 100644 index 0000000..30f049a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethod.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 빌링키 발급 수단 정보 + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface BillingKeyPaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard.kt new file mode 100644 index 0000000..efa7309 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodCard.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 카드 정보 + */ +@Serializable +@SerialName("BillingKeyPaymentMethodCard") +public data class BillingKeyPaymentMethodCard( + /** + * 카드 상세 정보 + */ + public val card: Card? = null, +) : BillingKeyPaymentMethod, + BillingKeyPaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay.kt new file mode 100644 index 0000000..928ebbb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPay.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 간편 결제 정보 + */ +@Serializable +@SerialName("BillingKeyPaymentMethodEasyPay") +public data class BillingKeyPaymentMethodEasyPay( + /** + * 간편 결제 PG사 + */ + public val provider: EasyPayProvider? = null, + /** + * 간편 결제 수단 + */ + public val method: BillingKeyPaymentMethodEasyPayMethod? = null, +) : BillingKeyPaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayCharge.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayCharge.kt new file mode 100644 index 0000000..8edac93 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayCharge.kt @@ -0,0 +1,9 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 충전식 포인트 결제 정보 + */ +@Serializable +public data object BillingKeyPaymentMethodEasyPayCharge : BillingKeyPaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod.kt new file mode 100644 index 0000000..3920c44 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodEasyPayMethod.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 간편 결제 수단 + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface BillingKeyPaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile.kt new file mode 100644 index 0000000..d20569e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodMobile.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 모바일 정보 + */ +@Serializable +@SerialName("BillingKeyPaymentMethodMobile") +public data class BillingKeyPaymentMethodMobile( + /** + * 전화번호 + */ + public val phoneNumber: String? = null, +) : BillingKeyPaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodPaypal.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodPaypal.kt new file mode 100644 index 0000000..1dc02ab --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodPaypal.kt @@ -0,0 +1,9 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 페이팔 정보 + */ +@Serializable +public data object BillingKeyPaymentMethodPaypal : BillingKeyPaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer.kt new file mode 100644 index 0000000..5da8fe4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodTransfer.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 계좌이체 정보 + */ +@Serializable +@SerialName("BillingKeyPaymentMethodTransfer") +public data class BillingKeyPaymentMethodTransfer( + /** + * 표준 은행 코드 + */ + public val bank: Bank? = null, + /** + * 계좌번호 + */ + public val accountNumber: String? = null, +) : BillingKeyPaymentMethodEasyPayMethod, + BillingKeyPaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodType.kt new file mode 100644 index 0000000..c653c2e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentMethodType.kt @@ -0,0 +1,26 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 결제 수단 + */ +@Serializable +public enum class BillingKeyPaymentMethodType { + /** + * 카드 + */ + CARD, + /** + * 모바일 + */ + MOBILE, + /** + * 간편 결제 + */ + EASY_PAY, + /** + * 계좌 이체 + */ + TRANSFER, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentSummary.kt new file mode 100644 index 0000000..2697751 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyPaymentSummary.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 빌링키 결제 완료된 결제 건 요약 정보 + */ +@Serializable +public data class BillingKeyPaymentSummary( + /** + * PG사 결제 아이디 + */ + public val pgTxId: String, + /** + * 결제 완료 시점 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortBy.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortBy.kt new file mode 100644 index 0000000..b9851fb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortBy.kt @@ -0,0 +1,28 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 정렬 기준 + */ +@Serializable +public enum class BillingKeySortBy { + /** + * 발급 요청 시각 + */ + REQUESTED_AT, + /** + * 발급 완료 시각 + */ + ISSUED_AT, + /** + * 삭제 완료 시각 + */ + DELETED_AT, + /** + * 상태 변경 시각 + * + * 발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT + */ + STATUS_TIMESTAMP, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortInput.kt new file mode 100644 index 0000000..efe74f0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeySortInput.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 다건 조회 시 정렬 조건 + */ +@Serializable +public data class BillingKeySortInput( + /** + * 정렬 기준 필드 + * + * 어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, REQUESTED_AT이 기본값으로 설정됩니다. + */ + public val `by`: BillingKeySortBy? = null, + /** + * 정렬 순서 + * + * 어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다. + */ + public val order: SortOrder? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyStatus.kt new file mode 100644 index 0000000..5bbf573 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyStatus.kt @@ -0,0 +1,12 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 상태 + */ +@Serializable +public enum class BillingKeyStatus { + ISSUED, + DELETED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearch.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearch.kt new file mode 100644 index 0000000..b7d02f6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearch.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 통합검색 입력 정보 + */ +@Serializable +public data class BillingKeyTextSearch( + public val `field`: BillingKeyTextSearchField, + public val `value`: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearchField.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearchField.kt new file mode 100644 index 0000000..60ab1c6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTextSearchField.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 통합검색 항목 + */ +@Serializable +public enum class BillingKeyTextSearchField { + CARD_BIN, + CARD_NUMBER, + PG_MERCHANT_ID, + CUSTOMER_NAME, + CUSTOMER_EMAIL, + CUSTOMER_PHONE_NUMBER, + CUSTOMER_ADDRESS, + CUSTOMER_ZIPCODE, + USER_AGENT, + BILLING_KEY, + CHANNEL_GROUP_NAME, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTimeRangeField.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTimeRangeField.kt new file mode 100644 index 0000000..c0f5773 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/BillingKeyTimeRangeField.kt @@ -0,0 +1,28 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 다건 조회 시, 시각 범위를 적용할 필드 + */ +@Serializable +public enum class BillingKeyTimeRangeField { + /** + * 발급 요청 시각 + */ + REQUESTED_AT, + /** + * 발급 완료 시각 + */ + ISSUED_AT, + /** + * 삭제 완료 시각 + */ + DELETED_AT, + /** + * 상태 변경 시각 + * + * 발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT + */ + STATUS_TIMESTAMP, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountError.kt new file mode 100644 index 0000000..c023fad --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 취소 금액이 취소 가능 금액을 초과한 경우 + */ +@Serializable +@SerialName("CANCEL_AMOUNT_EXCEEDS_CANCELLABLE_AMOUNT") +internal data class CancelAmountExceedsCancellableAmountError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountException.kt new file mode 100644 index 0000000..41bb8b3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelAmountExceedsCancellableAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 취소 금액이 취소 가능 금액을 초과한 경우 + */ +public class CancelAmountExceedsCancellableAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptError.kt new file mode 100644 index 0000000..abd508b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * CancelCashReceiptError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface CancelCashReceiptError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptResponse.kt new file mode 100644 index 0000000..86445a9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelCashReceiptResponse.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlinx.serialization.Serializable + +/** + * 현금 영수증 취소 성공 응답 + */ +@Serializable +public data class CancelCashReceiptResponse( + /** + * 취소 금액 + */ + public val cancelledAmount: Long, + /** + * 현금 영수증 취소 완료 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBody.kt new file mode 100644 index 0000000..3be8da6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBody.kt @@ -0,0 +1,58 @@ +package io.portone.sdk.server.schemas + +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 결제 취소 요청 입력 정보 + */ +@Serializable +internal data class CancelPaymentBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 취소 총 금액 + * + * 값을 입력하지 않으면 전액 취소됩니다. + */ + public val amount: Long? = null, + /** + * 취소 금액 중 면세 금액 + * + * 값을 입력하지 않으면 전액 과세 취소됩니다. + */ + public val taxFreeAmount: Long? = null, + /** + * 취소 금액 중 부가세액 + * + * 값을 입력하지 않으면 자동 계산됩니다. + */ + public val vatAmount: Long? = null, + /** + * 취소 사유 + */ + public val reason: String, + /** + * 취소 요청자 + * + * 고객에 의한 취소일 경우 Customer, 관리자에 의한 취소일 경우 Admin으로 입력합니다. + */ + public val requester: CancelRequester? = null, + /** + * 결제 건의 취소 가능 잔액 + * + * 본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 취소가 진행됩니다. 값을 입력하지 않으면 별도의 검증 처리를 수행하지 않습니다. + */ + public val currentCancellableAmount: Long? = null, + /** + * 환불 계좌 + * + * 계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다. + */ + public val refundAccount: CancelPaymentBodyRefundAccount? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount.kt new file mode 100644 index 0000000..5e29147 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentBodyRefundAccount.kt @@ -0,0 +1,27 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고객 정보 입력 형식 + */ +@Serializable +public data class CancelPaymentBodyRefundAccount( + /** + * 은행 + */ + public val bank: Bank, + /** + * 계좌번호 + */ + public val number: String, + /** + * 예금주 + */ + public val holderName: String, + /** + * 예금주 연락처 - 스마트로 가상계좌 결제인 경우에 필요합니다. + */ + public val holderPhoneNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentError.kt new file mode 100644 index 0000000..eafd1cb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * CancelPaymentError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface CancelPaymentError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentResponse.kt new file mode 100644 index 0000000..a7798d7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelPaymentResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 취소 성공 응답 + */ +@Serializable +public data class CancelPaymentResponse( + /** + * 결체 취소 내역 + */ + public val cancellation: PaymentCancellation, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelRequester.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelRequester.kt new file mode 100644 index 0000000..09c039a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelRequester.kt @@ -0,0 +1,12 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * CancelRequester + */ +@Serializable +public enum class CancelRequester { + CUSTOMER, + ADMIN, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountError.kt new file mode 100644 index 0000000..96df13d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우 + */ +@Serializable +@SerialName("CANCEL_TAX_AMOUNT_EXCEEDS_CANCELLABLE_TAX_AMOUNT") +internal data class CancelTaxAmountExceedsCancellableTaxAmountError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountException.kt new file mode 100644 index 0000000..a01b2b9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxAmountExceedsCancellableTaxAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우 + */ +public class CancelTaxAmountExceedsCancellableTaxAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError.kt new file mode 100644 index 0000000..0e98b38 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우 + */ +@Serializable +@SerialName("CANCEL_TAX_FREE_AMOUNT_EXCEEDS_CANCELLABLE_TAX_FREE_AMOUNT") +internal data class CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException.kt new file mode 100644 index 0000000..7c54281 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우 + */ +public class CancelTaxFreeAmountExceedsCancellableTaxFreeAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenError.kt new file mode 100644 index 0000000..fd259ae --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 가능 잔액 검증에 실패한 경우 + */ +@Serializable +@SerialName("CANCELLABLE_AMOUNT_CONSISTENCY_BROKEN") +internal data class CancellableAmountConsistencyBrokenError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenException.kt new file mode 100644 index 0000000..b4b55a7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancellableAmountConsistencyBrokenException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 취소 가능 잔액 검증에 실패한 경우 + */ +public class CancellableAmountConsistencyBrokenException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledCashReceipt.kt new file mode 100644 index 0000000..05f86d8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledCashReceipt.kt @@ -0,0 +1,81 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 발급 취소 + */ +@Serializable +@SerialName("CANCELLED") +public data class CancelledCashReceipt( + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 현금영수증 발급에 사용된 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 금액 + */ + public val amount: Long, + /** + * 면세액 + */ + public val taxFreeAmount: Long? = null, + /** + * 부가세액 + */ + public val vatAmount: Long? = null, + /** + * 통화 + */ + public val currency: Currency, + /** + * 주문명 + */ + override val orderName: String, + /** + * 수동 발급 여부 + */ + override val isManual: Boolean, + /** + * 현금영수증 유형 + */ + public val type: CashReceiptType? = null, + /** + * PG사 현금영수증 아이디 + */ + public val pgReceiptId: String? = null, + /** + * 승인번호 + */ + public val issueNumber: String, + /** + * 현금영수증 URL + */ + public val url: String? = null, + /** + * 발급 시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 취소 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant, +) : CashReceipt diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPayment.kt new file mode 100644 index 0000000..fdae058 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPayment.kt @@ -0,0 +1,150 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 취소 상태 건 + */ +@Serializable +@SerialName("CANCELLED") +public data class CancelledPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * 결제 완료 시점 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, + /** + * 현금영수증 + */ + public val cashReceipt: PaymentCashReceipt? = null, + /** + * 거래 영수증 URL + */ + public val receiptUrl: String? = null, + /** + * 결제 취소 내역 + */ + public val cancellations: List, + /** + * 결제 취소 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentCashReceipt.kt new file mode 100644 index 0000000..aa3495e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentCashReceipt.kt @@ -0,0 +1,52 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소된 현금영수증 + */ +@Serializable +@SerialName("CANCELLED") +public data class CancelledPaymentCashReceipt( + /** + * 현금영수증 유형 + */ + override val type: CashReceiptType? = null, + /** + * PG사 영수증 발급 아이디 + */ + override val pgReceiptId: String? = null, + /** + * 승인 번호 + */ + override val issueNumber: String, + /** + * 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 현금영수증 URL + */ + override val url: String? = null, + /** + * 발급 시점 + */ + override val issuedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 취소 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentCashReceipt diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentEscrow.kt new file mode 100644 index 0000000..a156e46 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CancelledPaymentEscrow.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 거래 취소 + */ +@Serializable +@SerialName("CANCELLED") +public data class CancelledPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Card.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Card.kt new file mode 100644 index 0000000..d7d550e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Card.kt @@ -0,0 +1,43 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 카드 상세 정보 + */ +@Serializable +public data class Card( + /** + * 발행사 코드 + */ + public val publisher: String? = null, + /** + * 발급사 코드 + */ + public val issuer: String? = null, + /** + * 카드 브랜드 + */ + public val brand: CardBrand? = null, + /** + * 카드 유형 + */ + public val type: CardType? = null, + /** + * 카드 소유주 유형 + */ + public val ownerType: CardOwnerType? = null, + /** + * 카드 번호 앞 6자리 또는 8자리의 BIN (Bank Identification Number) + */ + public val bin: String? = null, + /** + * 카드 상품명 + */ + public val name: String? = null, + /** + * 마스킹된 카드 번호 + */ + public val number: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardBrand.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardBrand.kt new file mode 100644 index 0000000..11c9a86 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardBrand.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 카드 브랜드 + */ +@Serializable +public enum class CardBrand { + LOCAL, + MASTER, + UNIONPAY, + VISA, + JCB, + AMEX, + DINERS, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardCredential.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardCredential.kt new file mode 100644 index 0000000..4b0e840 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardCredential.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 카드 인증 관련 정보 + */ +@Serializable +public data class CardCredential( + /** + * 카드 번호 (숫자만) + */ + public val number: String, + /** + * 유효 기간 만료 연도 (2자리) + */ + public val expiryYear: String, + /** + * 유효 기간 만료 월 (2자리) + */ + public val expiryMonth: String, + /** + * 생년월일 (yyMMdd) 또는 사업자 등록 번호 (10자리, 숫자만) + */ + public val birthOrBusinessRegistrationNumber: String? = null, + /** + * 비밀번호 앞 2자리 + */ + public val passwordTwoDigits: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardOwnerType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardOwnerType.kt new file mode 100644 index 0000000..c91d8b3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardOwnerType.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 카드 소유주 유형 + */ +@Serializable +public enum class CardOwnerType { + /** + * 개인 + */ + PERSONAL, + /** + * 법인 + */ + CORPORATE, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardType.kt new file mode 100644 index 0000000..7da05b8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CardType.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 카드 유형 + */ +@Serializable +public enum class CardType { + /** + * 신용카드 + */ + CREDIT, + /** + * 체크카드 + */ + DEBIT, + /** + * 기프트카드 + */ + GIFT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceipt.kt new file mode 100644 index 0000000..e8a2245 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceipt.kt @@ -0,0 +1,43 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 현금영수증 내역 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface CashReceipt { + /** + * 고객사 아이디 + */ + public val merchantId: String + + /** + * 상점 아이디 + */ + public val storeId: String + + /** + * 결제 건 아이디 + */ + public val paymentId: String + + /** + * 현금영수증 발급에 사용된 채널 + */ + public val channel: SelectedChannel? + + /** + * 주문명 + */ + public val orderName: String + + /** + * 수동 발급 여부 + */ + public val isManual: Boolean +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedError.kt new file mode 100644 index 0000000..0ea7873 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 현금영수증이 이미 발급된 경우 + */ +@Serializable +@SerialName("CASH_RECEIPT_ALREADY_ISSUED") +internal data class CashReceiptAlreadyIssuedError( + override val message: String? = null, +) : IssueCashReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedException.kt new file mode 100644 index 0000000..90c62b7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptAlreadyIssuedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 현금영수증이 이미 발급된 경우 + */ +public class CashReceiptAlreadyIssuedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInput.kt new file mode 100644 index 0000000..cba8b30 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInput.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 현금영수증 입력 정보 + */ +@Serializable +public data class CashReceiptInput( + /** + * 현금영수증 유형 + */ + public val type: CashReceiptInputType, + /** + * 사용자 식별 번호 + * + * 미발행 유형 선택 시 입력하지 않습니다. + */ + public val customerIdentityNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInputType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInputType.kt new file mode 100644 index 0000000..99c0e1d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptInputType.kt @@ -0,0 +1,24 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 입력 시 발급 유형 + */ +@Serializable +public enum class CashReceiptInputType { + /** + * 소득공제용 + */ + PERSONAL, + /** + * 지출증빙용 + */ + CORPORATE, + /** + * 미발행 + * + * PG사 설정에 따라 PG사가 자동으로 자진발급 처리할 수 있습니다. + */ + NO_RECEIPT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundError.kt new file mode 100644 index 0000000..1622c76 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 현금영수증이 존재하지 않는 경우 + */ +@Serializable +@SerialName("CASH_RECEIPT_NOT_FOUND") +internal data class CashReceiptNotFoundError( + override val message: String? = null, +) : GetCashReceiptError, + CancelCashReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundException.kt new file mode 100644 index 0000000..bd6ca2b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 현금영수증이 존재하지 않는 경우 + */ +public class CashReceiptNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedError.kt new file mode 100644 index 0000000..218671b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 현금영수증이 발급되지 않은 경우 + */ +@Serializable +@SerialName("CASH_RECEIPT_NOT_ISSUED") +internal data class CashReceiptNotIssuedError( + override val message: String? = null, +) : CancelCashReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedException.kt new file mode 100644 index 0000000..af4b042 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptNotIssuedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 현금영수증이 발급되지 않은 경우 + */ +public class CashReceiptNotIssuedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptSummary.kt new file mode 100644 index 0000000..45fad0f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptSummary.kt @@ -0,0 +1,23 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 현금영수증 내역 + */ +@Serializable +public data class CashReceiptSummary( + /** + * 발행 번호 + */ + public val issueNumber: String, + /** + * 현금 영수증 URL + */ + public val url: String, + /** + * PG사 현금영수증 아이디 + */ + public val pgReceiptId: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptType.kt new file mode 100644 index 0000000..bfdb6c6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CashReceiptType.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 발급 유형 + */ +@Serializable +public enum class CashReceiptType { + /** + * 소득공제용 + */ + PERSONAL, + /** + * 지출증빙용 + */ + CORPORATE, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelGroupSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelGroupSummary.kt new file mode 100644 index 0000000..a510f53 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelGroupSummary.kt @@ -0,0 +1,24 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 채널 그룹 정보 + */ +@Serializable +public data class ChannelGroupSummary( + /** + * 채널 그룹 아이디 + */ + public val id: String, + /** + * 채널 그룹 이름 + */ + public val name: String, + /** + * 테스트 채널 그룹 여부 + */ + public val isForTest: Boolean, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundError.kt new file mode 100644 index 0000000..3edaa66 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundError.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 요청된 채널이 존재하지 않는 경우 + */ +@Serializable +@SerialName("CHANNEL_NOT_FOUND") +internal data class ChannelNotFoundError( + override val message: String? = null, +) : SendIdentityVerificationError, + IssueBillingKeyError, + PayWithBillingKeyError, + PayInstantlyError, + IssueCashReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundException.kt new file mode 100644 index 0000000..12b9d10 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 요청된 채널이 존재하지 않는 경우 + */ +public class ChannelNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificError.kt new file mode 100644 index 0000000..513d589 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificError.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우 + */ +@Serializable +@SerialName("CHANNEL_SPECIFIC") +internal data class ChannelSpecificError( + override val message: String? = null, + public val failures: List, + /** + * (결제, 본인인증 등에) 선택된 채널 정보 + */ + public val succeededChannels: List, +) : DeleteBillingKeyError, + IssueBillingKeyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificException.kt new file mode 100644 index 0000000..cd76a63 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificException.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String +import kotlin.collections.List + +/** + * 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우 + */ +public class ChannelSpecificException( + message: String? = null, + public val failures: List, + /** + * (결제, 본인인증 등에) 선택된 채널 정보 + */ + public val succeededChannels: List, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailure.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailure.kt new file mode 100644 index 0000000..14d03b7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailure.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ChannelSpecificFailure + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface ChannelSpecificFailure { + public val channel: SelectedChannel + + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest.kt new file mode 100644 index 0000000..efedfa8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailureInvalidRequest.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 요청된 입력 정보가 유효하지 않은 경우 + * + * 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + */ +@Serializable +@SerialName("INVALID_REQUEST") +public data class ChannelSpecificFailureInvalidRequest( + override val channel: SelectedChannel, + override val message: String? = null, +) : ChannelSpecificFailure diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider.kt new file mode 100644 index 0000000..c4da49f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ChannelSpecificFailurePgProvider.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * PG사에서 오류를 전달한 경우 + */ +@Serializable +@SerialName("PG_PROVIDER") +public data class ChannelSpecificFailurePgProvider( + override val channel: SelectedChannel, + override val message: String? = null, + public val pgCode: String, + public val pgMessage: String, +) : ChannelSpecificFailure diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountError.kt new file mode 100644 index 0000000..fb67d42 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * CloseVirtualAccountError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface CloseVirtualAccountError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountResponse.kt new file mode 100644 index 0000000..a266064 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CloseVirtualAccountResponse.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlinx.serialization.Serializable + +/** + * 가상계좌 말소 성공 응답 + */ +@Serializable +public data class CloseVirtualAccountResponse( + /** + * 가상계좌 말소 시점 + */ + public val closedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowBody.kt new file mode 100644 index 0000000..7374056 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowBody.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 에스크로 구매 확정 입력 정보 + */ +@Serializable +internal data class ConfirmEscrowBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 확인 주체가 상점인지 여부 + * + * 구매확정요청 주체가 고객사 관리자인지 구매자인지 구분하기 위한 필드입니다. + * 네이버페이 전용 파라미터이며, 구분이 모호한 경우 고객사 관리자(true)로 입력합니다. + */ + public val fromStore: Boolean? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowError.kt new file mode 100644 index 0000000..669bee3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ConfirmEscrowError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ConfirmEscrowError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowResponse.kt new file mode 100644 index 0000000..26f163a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmEscrowResponse.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlinx.serialization.Serializable + +/** + * 에스크로 구매 확정 성공 응답 + */ +@Serializable +public data class ConfirmEscrowResponse( + /** + * 에스크로 구매 확정 시점 + */ + public val completedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationBody.kt new file mode 100644 index 0000000..112d467 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationBody.kt @@ -0,0 +1,23 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 본인인증 확인을 위한 입력 정보 + */ +@Serializable +internal data class ConfirmIdentityVerificationBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * OTP (One-Time Password) + * + * SMS 방식에서만 사용됩니다. + */ + public val otp: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationError.kt new file mode 100644 index 0000000..1ff6698 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ConfirmIdentityVerificationError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ConfirmIdentityVerificationError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt new file mode 100644 index 0000000..e4ecdf2 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 본인인증 확인 성공 응답 + */ +@Serializable +public data class ConfirmIdentityVerificationResponse( + /** + * 완료된 본인인증 내역 + */ + public val identityVerification: VerifiedIdentityVerification, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmedPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmedPaymentEscrow.kt new file mode 100644 index 0000000..4153798 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ConfirmedPaymentEscrow.kt @@ -0,0 +1,36 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 구매 확정 + */ +@Serializable +@SerialName("CONFIRMED") +public data class ConfirmedPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 자동 구매 확정 처리 여부 + */ + public val isAutomaticallyConfirmed: Boolean, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Country.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Country.kt new file mode 100644 index 0000000..35c2511 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Country.kt @@ -0,0 +1,1006 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 국가 + */ +@Serializable +public enum class Country { + /** + * Andorra + */ + AD, + /** + * United Arab Emirates (the) + */ + AE, + /** + * Afghanistan + */ + AF, + /** + * Antigua and Barbuda + */ + AG, + /** + * Anguilla + */ + AI, + /** + * Albania + */ + AL, + /** + * Armenia + */ + AM, + /** + * Angola + */ + AO, + /** + * Antarctica + */ + AQ, + /** + * Argentina + */ + AR, + /** + * American Samoa + */ + AS, + /** + * Austria + */ + AT, + /** + * Australia + */ + AU, + /** + * Aruba + */ + AW, + /** + * Åland Islands + */ + AX, + /** + * Azerbaijan + */ + AZ, + /** + * Bosnia and Herzegovina + */ + BA, + /** + * Barbados + */ + BB, + /** + * Bangladesh + */ + BD, + /** + * Belgium + */ + BE, + /** + * Burkina Faso + */ + BF, + /** + * Bulgaria + */ + BG, + /** + * Bahrain + */ + BH, + /** + * Burundi + */ + BI, + /** + * Benin + */ + BJ, + /** + * Saint Barthélemy + */ + BL, + /** + * Bermuda + */ + BM, + /** + * Brunei Darussalam + */ + BN, + /** + * Bolivia (Plurinational State of) + */ + BO, + /** + * Bonaire, Sint Eustatius and Saba + */ + BQ, + /** + * Brazil + */ + BR, + /** + * Bahamas (the) + */ + BS, + /** + * Bhutan + */ + BT, + /** + * Bouvet Island + */ + BV, + /** + * Botswana + */ + BW, + /** + * Belarus + */ + BY, + /** + * Belize + */ + BZ, + /** + * Canada + */ + CA, + /** + * Cocos (Keeling) Islands (the) + */ + CC, + /** + * Congo (the Democratic Republic of the) + */ + CD, + /** + * Central African Republic (the) + */ + CF, + /** + * Congo (the) + */ + CG, + /** + * Switzerland + */ + CH, + /** + * Côte d'Ivoire + */ + CI, + /** + * Cook Islands (the) + */ + CK, + /** + * Chile + */ + CL, + /** + * Cameroon + */ + CM, + /** + * China + */ + CN, + /** + * Colombia + */ + CO, + /** + * Costa Rica + */ + CR, + /** + * Cuba + */ + CU, + /** + * Cabo Verde + */ + CV, + /** + * Curaçao + */ + CW, + /** + * Christmas Island + */ + CX, + /** + * Cyprus + */ + CY, + /** + * Czechia + */ + CZ, + /** + * Germany + */ + DE, + /** + * Djibouti + */ + DJ, + /** + * Denmark + */ + DK, + /** + * Dominica + */ + DM, + /** + * Dominican Republic (the) + */ + DO, + /** + * Algeria + */ + DZ, + /** + * Ecuador + */ + EC, + /** + * Estonia + */ + EE, + /** + * Egypt + */ + EG, + /** + * Western Sahara + */ + EH, + /** + * Eritrea + */ + ER, + /** + * Spain + */ + ES, + /** + * Ethiopia + */ + ET, + /** + * Finland + */ + FI, + /** + * Fiji + */ + FJ, + /** + * Falkland Islands (the) [Malvinas] + */ + FK, + /** + * Micronesia (Federated States of) + */ + FM, + /** + * Faroe Islands (the) + */ + FO, + /** + * France + */ + FR, + /** + * Gabon + */ + GA, + /** + * United Kingdom of Great Britain and Northern Ireland (the) + */ + GB, + /** + * Grenada + */ + GD, + /** + * Georgia + */ + GE, + /** + * French Guiana + */ + GF, + /** + * Guernsey + */ + GG, + /** + * Ghana + */ + GH, + /** + * Gibraltar + */ + GI, + /** + * Greenland + */ + GL, + /** + * Gambia (the) + */ + GM, + /** + * Guinea + */ + GN, + /** + * Guadeloupe + */ + GP, + /** + * Equatorial Guinea + */ + GQ, + /** + * Greece + */ + GR, + /** + * South Georgia and the South Sandwich Islands + */ + GS, + /** + * Guatemala + */ + GT, + /** + * Guam + */ + GU, + /** + * Guinea-Bissau + */ + GW, + /** + * Guyana + */ + GY, + /** + * Hong Kong + */ + HK, + /** + * Heard Island and McDonald Islands + */ + HM, + /** + * Honduras + */ + HN, + /** + * Croatia + */ + HR, + /** + * Haiti + */ + HT, + /** + * Hungary + */ + HU, + /** + * Indonesia + */ + ID, + /** + * Ireland + */ + IE, + /** + * Israel + */ + IL, + /** + * Isle of Man + */ + IM, + /** + * India + */ + IN, + /** + * British Indian Ocean Territory (the) + */ + IO, + /** + * Iraq + */ + IQ, + /** + * Iran (Islamic Republic of) + */ + IR, + /** + * Iceland + */ + IS, + /** + * Italy + */ + IT, + /** + * Jersey + */ + JE, + /** + * Jamaica + */ + JM, + /** + * Jordan + */ + JO, + /** + * Japan + */ + JP, + /** + * Kenya + */ + KE, + /** + * Kyrgyzstan + */ + KG, + /** + * Cambodia + */ + KH, + /** + * Kiribati + */ + KI, + /** + * Comoros (the) + */ + KM, + /** + * Saint Kitts and Nevis + */ + KN, + /** + * Korea (the Democratic People's Republic of) + */ + KP, + /** + * Korea (the Republic of) + */ + KR, + /** + * Kuwait + */ + KW, + /** + * Cayman Islands (the) + */ + KY, + /** + * Kazakhstan + */ + KZ, + /** + * Lao People's Democratic Republic (the) + */ + LA, + /** + * Lebanon + */ + LB, + /** + * Saint Lucia + */ + LC, + /** + * Liechtenstein + */ + LI, + /** + * Sri Lanka + */ + LK, + /** + * Liberia + */ + LR, + /** + * Lesotho + */ + LS, + /** + * Lithuania + */ + LT, + /** + * Luxembourg + */ + LU, + /** + * Latvia + */ + LV, + /** + * Libya + */ + LY, + /** + * Morocco + */ + MA, + /** + * Monaco + */ + MC, + /** + * Moldova (the Republic of) + */ + MD, + /** + * Montenegro + */ + ME, + /** + * Saint Martin (French part) + */ + MF, + /** + * Madagascar + */ + MG, + /** + * Marshall Islands (the) + */ + MH, + /** + * North Macedonia + */ + MK, + /** + * Mali + */ + ML, + /** + * Myanmar + */ + MM, + /** + * Mongolia + */ + MN, + /** + * Macao + */ + MO, + /** + * Northern Mariana Islands (the) + */ + MP, + /** + * Martinique + */ + MQ, + /** + * Mauritania + */ + MR, + /** + * Montserrat + */ + MS, + /** + * Malta + */ + MT, + /** + * Mauritius + */ + MU, + /** + * Maldives + */ + MV, + /** + * Malawi + */ + MW, + /** + * Mexico + */ + MX, + /** + * Malaysia + */ + MY, + /** + * Mozambique + */ + MZ, + /** + * Namibia + */ + NA, + /** + * New Caledonia + */ + NC, + /** + * Niger (the) + */ + NE, + /** + * Norfolk Island + */ + NF, + /** + * Nigeria + */ + NG, + /** + * Nicaragua + */ + NI, + /** + * Netherlands (Kingdom of the) + */ + NL, + /** + * Norway + */ + NO, + /** + * Nepal + */ + NP, + /** + * Nauru + */ + NR, + /** + * Niue + */ + NU, + /** + * New Zealand + */ + NZ, + /** + * Oman + */ + OM, + /** + * Panama + */ + PA, + /** + * Peru + */ + PE, + /** + * French Polynesia + */ + PF, + /** + * Papua New Guinea + */ + PG, + /** + * Philippines (the) + */ + PH, + /** + * Pakistan + */ + PK, + /** + * Poland + */ + PL, + /** + * Saint Pierre and Miquelon + */ + PM, + /** + * Pitcairn + */ + PN, + /** + * Puerto Rico + */ + PR, + /** + * Palestine, State of + */ + PS, + /** + * Portugal + */ + PT, + /** + * Palau + */ + PW, + /** + * Paraguay + */ + PY, + /** + * Qatar + */ + QA, + /** + * Réunion + */ + RE, + /** + * Romania + */ + RO, + /** + * Serbia + */ + RS, + /** + * Russian Federation (the) + */ + RU, + /** + * Rwanda + */ + RW, + /** + * Saudi Arabia + */ + SA, + /** + * Solomon Islands + */ + SB, + /** + * Seychelles + */ + SC, + /** + * Sudan (the) + */ + SD, + /** + * Sweden + */ + SE, + /** + * Singapore + */ + SG, + /** + * Saint Helena, Ascension and Tristan da Cunha + */ + SH, + /** + * Slovenia + */ + SI, + /** + * Svalbard and Jan Mayen + */ + SJ, + /** + * Slovakia + */ + SK, + /** + * Sierra Leone + */ + SL, + /** + * San Marino + */ + SM, + /** + * Senegal + */ + SN, + /** + * Somalia + */ + SO, + /** + * Suriname + */ + SR, + /** + * South Sudan + */ + SS, + /** + * Sao Tome and Principe + */ + ST, + /** + * El Salvador + */ + SV, + /** + * Sint Maarten (Dutch part) + */ + SX, + /** + * Syrian Arab Republic (the) + */ + SY, + /** + * Eswatini + */ + SZ, + /** + * Turks and Caicos Islands (the) + */ + TC, + /** + * Chad + */ + TD, + /** + * French Southern Territories (the) + */ + TF, + /** + * Togo + */ + TG, + /** + * Thailand + */ + TH, + /** + * Tajikistan + */ + TJ, + /** + * Tokelau + */ + TK, + /** + * Timor-Leste + */ + TL, + /** + * Turkmenistan + */ + TM, + /** + * Tunisia + */ + TN, + /** + * Tonga + */ + TO, + /** + * Türkiye + */ + TR, + /** + * Trinidad and Tobago + */ + TT, + /** + * Tuvalu + */ + TV, + /** + * Taiwan (Province of China) + */ + TW, + /** + * Tanzania, the United Republic of + */ + TZ, + /** + * Ukraine + */ + UA, + /** + * Uganda + */ + UG, + /** + * United States Minor Outlying Islands (the) + */ + UM, + /** + * United States of America (the) + */ + US, + /** + * Uruguay + */ + UY, + /** + * Uzbekistan + */ + UZ, + /** + * Holy See (the) + */ + VA, + /** + * Saint Vincent and the Grenadines + */ + VC, + /** + * Venezuela (Bolivarian Republic of) + */ + VE, + /** + * Virgin Islands (British) + */ + VG, + /** + * Virgin Islands (U.S.) + */ + VI, + /** + * Viet Nam + */ + VN, + /** + * Vanuatu + */ + VU, + /** + * Wallis and Futuna + */ + WF, + /** + * Samoa + */ + WS, + /** + * Yemen + */ + YE, + /** + * Mayotte + */ + YT, + /** + * South Africa + */ + ZA, + /** + * Zambia + */ + ZM, + /** + * Zimbabwe + */ + ZW, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleBody.kt new file mode 100644 index 0000000..c678925 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleBody.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlinx.serialization.Serializable + +/** + * 결제 예약 요청 입력 정보 + */ +@Serializable +internal data class CreatePaymentScheduleBody( + /** + * 빌링키 결제 입력 정보 + */ + public val payment: BillingKeyPaymentInput, + /** + * 결제 예정 시점 + */ + public val timeToPay: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleError.kt new file mode 100644 index 0000000..ec4bbca --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * CreatePaymentScheduleError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface CreatePaymentScheduleError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt new file mode 100644 index 0000000..ac7d318 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 예약 성공 응답 + */ +@Serializable +public data class CreatePaymentScheduleResponse( + /** + * 결제 예약 건 + */ + public val schedule: PaymentScheduleSummary, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Currency.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Currency.kt new file mode 100644 index 0000000..5f317c9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Currency.kt @@ -0,0 +1,734 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 통화 단위 + */ +@Serializable +public enum class Currency { + /** + * 대한민국 원화 + */ + KRW, + /** + * 미국 달러 + */ + USD, + /** + * 일본 엔화 + */ + JPY, + /** + * UAE Dirham + */ + AED, + /** + * Afghani + */ + AFN, + /** + * Lek + */ + ALL, + /** + * Armenian Dram + */ + AMD, + /** + * Netherlands Antillean Guilder + */ + ANG, + /** + * Kwanza + */ + AOA, + /** + * Argentine Peso + */ + ARS, + /** + * Australian Dollar + */ + AUD, + /** + * Aruban Florin + */ + AWG, + /** + * Azerbaijan Manat + */ + AZN, + /** + * Convertible Mark + */ + BAM, + /** + * Barbados Dollar + */ + BBD, + /** + * Taka + */ + BDT, + /** + * Bulgarian Lev + */ + BGN, + /** + * Bahraini Dinar + */ + BHD, + /** + * Burundi Franc + */ + BIF, + /** + * Bermudian Dollar + */ + BMD, + /** + * Brunei Dollar + */ + BND, + /** + * Boliviano + */ + BOB, + /** + * Mvdol + */ + BOV, + /** + * Brazilian Real + */ + BRL, + /** + * Bahamian Dollar + */ + BSD, + /** + * Ngultrum + */ + BTN, + /** + * Pula + */ + BWP, + /** + * Belarusian Ruble + */ + BYN, + /** + * Belize Dollar + */ + BZD, + /** + * Canadian Dollar + */ + CAD, + /** + * Congolese Franc + */ + CDF, + /** + * WIR Euro + */ + CHE, + /** + * Swiss Franc + */ + CHF, + /** + * WIR Franc + */ + CHW, + /** + * Unidad de Fomento + */ + CLF, + /** + * Chilean Peso + */ + CLP, + /** + * Yuan Renminbi + */ + CNY, + /** + * Colombian Peso + */ + COP, + /** + * Unidad de Valor Real + */ + COU, + /** + * Costa Rican Colon + */ + CRC, + /** + * Peso Convertible + */ + CUC, + /** + * Cuban Peso + */ + CUP, + /** + * Cabo Verde Escudo + */ + CVE, + /** + * Czech Koruna + */ + CZK, + /** + * Djibouti Franc + */ + DJF, + /** + * Danish Krone + */ + DKK, + /** + * Dominican Peso + */ + DOP, + /** + * Algerian Dinar + */ + DZD, + /** + * Egyptian Pound + */ + EGP, + /** + * Nakfa + */ + ERN, + /** + * Ethiopian Birr + */ + ETB, + /** + * Euro + */ + EUR, + /** + * Fiji Dollar + */ + FJD, + /** + * Falkland Islands Pound + */ + FKP, + /** + * Pound Sterling + */ + GBP, + /** + * Lari + */ + GEL, + /** + * Ghana Cedi + */ + GHS, + /** + * Gibraltar Pound + */ + GIP, + /** + * Dalasi + */ + GMD, + /** + * Guinean Franc + */ + GNF, + /** + * Quetzal + */ + GTQ, + /** + * Guyana Dollar + */ + GYD, + /** + * Hong Kong Dollar + */ + HKD, + /** + * Lempira + */ + HNL, + /** + * Kuna (Replaced by EUR) + */ + HRK, + /** + * Gourde + */ + HTG, + /** + * Forint + */ + HUF, + /** + * Rupiah + */ + IDR, + /** + * New Israeli Sheqel + */ + ILS, + /** + * Indian Rupee + */ + INR, + /** + * Iraqi Dinar + */ + IQD, + /** + * Iranian Rial + */ + IRR, + /** + * Iceland Krona + */ + ISK, + /** + * Jamaican Dollar + */ + JMD, + /** + * Jordanian Dinar + */ + JOD, + /** + * Kenyan Shilling + */ + KES, + /** + * Som + */ + KGS, + /** + * Riel + */ + KHR, + /** + * Comorian Franc + */ + KMF, + /** + * North Korean Won + */ + KPW, + /** + * Kuwaiti Dinar + */ + KWD, + /** + * Cayman Islands Dollar + */ + KYD, + /** + * Tenge + */ + KZT, + /** + * Lao Kip + */ + LAK, + /** + * Lebanese Pound + */ + LBP, + /** + * Sri Lanka Rupee + */ + LKR, + /** + * Liberian Dollar + */ + LRD, + /** + * Loti + */ + LSL, + /** + * Libyan Dinar + */ + LYD, + /** + * Moroccan Dirham + */ + MAD, + /** + * Moldovan Leu + */ + MDL, + /** + * Malagasy Ariary + */ + MGA, + /** + * Denar + */ + MKD, + /** + * Kyat + */ + MMK, + /** + * Tugrik + */ + MNT, + /** + * Pataca + */ + MOP, + /** + * Ouguiya + */ + MRU, + /** + * Mauritius Rupee + */ + MUR, + /** + * Rufiyaa + */ + MVR, + /** + * Malawi Kwacha + */ + MWK, + /** + * Mexican Peso + */ + MXN, + /** + * Mexican Unidad de Inversion (UDI) + */ + MXV, + /** + * Malaysian Ringgit + */ + MYR, + /** + * Mozambique Metical + */ + MZN, + /** + * Namibia Dollar + */ + NAD, + /** + * Naira + */ + NGN, + /** + * Cordoba Oro + */ + NIO, + /** + * Norwegian Krone + */ + NOK, + /** + * Nepalese Rupee + */ + NPR, + /** + * New Zealand Dollar + */ + NZD, + /** + * Rial Omani + */ + OMR, + /** + * Balboa + */ + PAB, + /** + * Sol + */ + PEN, + /** + * Kina + */ + PGK, + /** + * Philippine Peso + */ + PHP, + /** + * Pakistan Rupee + */ + PKR, + /** + * Zloty + */ + PLN, + /** + * Guarani + */ + PYG, + /** + * Qatari Rial + */ + QAR, + /** + * Romanian Leu + */ + RON, + /** + * Serbian Dinar + */ + RSD, + /** + * Russian Ruble + */ + RUB, + /** + * Rwanda Franc + */ + RWF, + /** + * Saudi Riyal + */ + SAR, + /** + * Solomon Islands Dollar + */ + SBD, + /** + * Seychelles Rupee + */ + SCR, + /** + * Sudanese Pound + */ + SDG, + /** + * Swedish Krona + */ + SEK, + /** + * Singapore Dollar + */ + SGD, + /** + * Saint Helena Pound + */ + SHP, + /** + * Leone + */ + SLE, + /** + * Leone + */ + SLL, + /** + * Somali Shilling + */ + SOS, + /** + * Surinam Dollar + */ + SRD, + /** + * South Sudanese Pound + */ + SSP, + /** + * Dobra + */ + STN, + /** + * El Salvador Colon + */ + SVC, + /** + * Syrian Pound + */ + SYP, + /** + * Lilangeni + */ + SZL, + /** + * Baht + */ + THB, + /** + * Somoni + */ + TJS, + /** + * Turkmenistan New Manat + */ + TMT, + /** + * Tunisian Dinar + */ + TND, + /** + * Pa’anga + */ + TOP, + /** + * Turkish Lira + */ + TRY, + /** + * Trinidad and Tobago Dollar + */ + TTD, + /** + * New Taiwan Dollar + */ + TWD, + /** + * Tanzanian Shilling + */ + TZS, + /** + * Hryvnia + */ + UAH, + /** + * Uganda Shilling + */ + UGX, + /** + * US Dollar (Next day) + */ + USN, + /** + * Uruguay Peso en Unidades Indexadas (UI) + */ + UYI, + /** + * Peso Uruguayo + */ + UYU, + /** + * Unidad Previsional + */ + UYW, + /** + * Uzbekistan Sum + */ + UZS, + /** + * Bolívar Soberano + */ + VED, + /** + * Bolívar Soberano + */ + VES, + /** + * Dong + */ + VND, + /** + * Vatu + */ + VUV, + /** + * Tala + */ + WST, + /** + * CFA Franc BEAC + */ + XAF, + /** + * Silver + */ + XAG, + /** + * Gold + */ + XAU, + /** + * Bond Markets Unit European Composite Unit (EURCO) + */ + XBA, + /** + * Bond Markets Unit European Monetary Unit (E.M.U.-6) + */ + XBB, + /** + * Bond Markets Unit European Unit of Account 9 (E.U.A.-9) + */ + XBC, + /** + * Bond Markets Unit European Unit of Account 17 (E.U.A.-17) + */ + XBD, + /** + * East Caribbean Dollar + */ + XCD, + /** + * SDR (Special Drawing Right) + */ + XDR, + /** + * CFA Franc BCEAO + */ + XOF, + /** + * Palladium + */ + XPD, + /** + * CFP Franc + */ + XPF, + /** + * Platinum + */ + XPT, + /** + * Sucre + */ + XSU, + /** + * Codes specifically reserved for testing purposes + */ + XTS, + /** + * ADB Unit of Account + */ + XUA, + /** + * The codes assigned for transactions where no currency is involved + */ + XXX, + /** + * Yemeni Rial + */ + YER, + /** + * Rand + */ + ZAR, + /** + * Zambian Kwacha + */ + ZMW, + /** + * Zimbabwe Dollar + */ + ZWL, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Customer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Customer.kt new file mode 100644 index 0000000..07a6287 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Customer.kt @@ -0,0 +1,45 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고객 정보 + */ +@Serializable +public data class Customer( + /** + * 고객 아이디 + * + * 고객사가 지정한 고객의 고유 식별자입니다. + */ + public val id: String? = null, + /** + * 이름 + */ + public val name: String? = null, + /** + * 출생 연도 + */ + public val birthYear: String? = null, + /** + * 성별 + */ + public val gender: Gender? = null, + /** + * 이메일 + */ + public val email: String? = null, + /** + * 전화번호 + */ + public val phoneNumber: String? = null, + /** + * 주소 + */ + public val address: Address? = null, + /** + * 우편번호 + */ + public val zipcode: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerInput.kt new file mode 100644 index 0000000..fe88a5c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerInput.kt @@ -0,0 +1,61 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고객 정보 입력 정보 + */ +@Serializable +public data class CustomerInput( + /** + * 고객 아이디 + * + * 고객사가 지정한 고객의 고유 식별자입니다. + */ + public val id: String? = null, + /** + * 이름 + */ + public val name: CustomerNameInput? = null, + /** + * 출생 연도 + */ + public val birthYear: String? = null, + /** + * 출생월 + */ + public val birthMonth: String? = null, + /** + * 출생일 + */ + public val birthDay: String? = null, + /** + * 국가 + */ + public val country: Country? = null, + /** + * 성별 + */ + public val gender: Gender? = null, + /** + * 이메일 + */ + public val email: String? = null, + /** + * 전화번호 + */ + public val phoneNumber: String? = null, + /** + * 주소 + */ + public val address: SeparatedAddressInput? = null, + /** + * 우편번호 + */ + public val zipcode: String? = null, + /** + * 사업자 등록 번호 + */ + public val businessRegistrationNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerNameInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerNameInput.kt new file mode 100644 index 0000000..26dca5e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerNameInput.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고객 이름 입력 정보 + * + * 두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요. + */ +@Serializable +public data class CustomerNameInput( + /** + * 한 줄 이름 형식 + */ + public val full: String? = null, + /** + * 분리형 이름 형식 + */ + public val separated: CustomerSeparatedName? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerSeparatedName.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerSeparatedName.kt new file mode 100644 index 0000000..121fa52 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/CustomerSeparatedName.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고객 분리형 이름 + */ +@Serializable +public data class CustomerSeparatedName( + /** + * 이름 + */ + public val first: String, + /** + * 성 + */ + public val last: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DateTimeRange.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DateTimeRange.kt new file mode 100644 index 0000000..576b10a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DateTimeRange.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlinx.serialization.Serializable + +/** + * 시간 범위 + */ +@Serializable +public data class DateTimeRange( + public val from: @Serializable(InstantSerializer::class) Instant, + public val until: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyError.kt new file mode 100644 index 0000000..ec77f94 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * DeleteBillingKeyError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface DeleteBillingKeyError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyResponse.kt new file mode 100644 index 0000000..063c7ed --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeleteBillingKeyResponse.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlinx.serialization.Serializable + +/** + * 빌링키 삭제 성공 응답 + */ +@Serializable +public data class DeleteBillingKeyResponse( + /** + * 빌링키 삭제 완료 시점 + */ + public val deletedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeletedBillingKeyInfo.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeletedBillingKeyInfo.kt new file mode 100644 index 0000000..7084f55 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeletedBillingKeyInfo.kt @@ -0,0 +1,78 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키 삭제 완료 상태 건 + */ +@Serializable +@SerialName("DELETED") +public data class DeletedBillingKeyInfo( + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 빌링키 결제수단 상세 정보 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다. + */ + override val methods: List? = null, + /** + * 빌링키 발급 시 사용된 채널 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다. + */ + override val channels: List, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 고객사가 채번하는 빌링키 발급 건 고유 아이디 + */ + override val issueId: String? = null, + /** + * 빌링키 발급 건 이름 + */ + override val issueName: String? = null, + /** + * 발급 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 발급 시점 + */ + override val issuedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 채널 그룹 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 채널 별 빌링키 발급 응답 + * + * 슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 발급은 실패할 수 있습니다. + */ + override val pgBillingKeyIssueResponses: List? = null, + /** + * 발급 삭제 시점 + */ + public val deletedAt: @Serializable(InstantSerializer::class) Instant, +) : BillingKeyInfo diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeliveredPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeliveredPaymentEscrow.kt new file mode 100644 index 0000000..97a2306 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DeliveredPaymentEscrow.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 배송 완료 + */ +@Serializable +@SerialName("DELIVERED") +public data class DeliveredPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountError.kt new file mode 100644 index 0000000..0f7ad0b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 프로모션 할인 금액이 결제 시도 금액 이상인 경우 + */ +@Serializable +@SerialName("DISCOUNT_AMOUNT_EXCEEDS_TOTAL_AMOUNT") +internal data class DiscountAmountExceedsTotalAmountError( + override val message: String? = null, +) : PayWithBillingKeyError, + PayInstantlyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountException.kt new file mode 100644 index 0000000..b5035a4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/DiscountAmountExceedsTotalAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 프로모션 할인 금액이 결제 시도 금액 이상인 경우 + */ +public class DiscountAmountExceedsTotalAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/EasyPayProvider.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/EasyPayProvider.kt new file mode 100644 index 0000000..8793a53 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/EasyPayProvider.kt @@ -0,0 +1,27 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 간편 결제사 + */ +@Serializable +public enum class EasyPayProvider { + SAMSUNGPAY, + KAKAOPAY, + NAVERPAY, + PAYCO, + SSGPAY, + CHAI, + LPAY, + KPAY, + TOSSPAY, + LGPAY, + PINPAY, + APPLEPAY, + SKPAY, + TOSS_BRANDPAY, + KB_APP, + ALIPAY, + HYPHEN, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedIdentityVerification.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedIdentityVerification.kt new file mode 100644 index 0000000..d680788 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedIdentityVerification.kt @@ -0,0 +1,47 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 실패한 본인인증 내역 + */ +@Serializable +@SerialName("FAILED") +public data class FailedIdentityVerification( + /** + * 본인인증 내역 아이디 + */ + override val id: String, + /** + * 사용된 본인인증 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 요청 시 고객 정보 + */ + public val requestedCustomer: IdentityVerificationRequestedCustomer, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 본인인증 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 본인인증 실패 정보 + */ + public val failure: IdentityVerificationFailure, +) : IdentityVerification diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPayment.kt new file mode 100644 index 0000000..ad62bce --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPayment.kt @@ -0,0 +1,134 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 실패 상태 건 + */ +@Serializable +@SerialName("FAILED") +public data class FailedPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * 결제 실패 시점 + */ + public val failedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 실패 정보 + */ + public val failure: PaymentFailure, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentCancellation.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentCancellation.kt new file mode 100644 index 0000000..83d31fb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentCancellation.kt @@ -0,0 +1,52 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 실패 상태 + */ +@Serializable +@SerialName("FAILED") +public data class FailedPaymentCancellation( + /** + * 취소 내역 아이디 + */ + override val id: String, + /** + * PG사 결제 취소 내역 아이디 + */ + override val pgCancellationId: String? = null, + /** + * 취소 총 금액 + */ + override val totalAmount: Long, + /** + * 취소 금액 중 면세 금액 + */ + override val taxFreeAmount: Long, + /** + * 취소 금액 중 부가세액 + */ + override val vatAmount: Long, + /** + * 적립형 포인트의 환불 금액 + */ + override val easyPayDiscountAmount: Long? = null, + /** + * 취소 사유 + */ + override val reason: String, + /** + * 취소 시점 + */ + override val cancelledAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 취소 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentCancellation diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentSchedule.kt new file mode 100644 index 0000000..a326826 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPaymentSchedule.kt @@ -0,0 +1,103 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 실패 상태 + */ +@Serializable +@SerialName("FAILED") +public data class FailedPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 시작 시점 + */ + public val startedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 완료 시점 + */ + public val completedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse.kt new file mode 100644 index 0000000..c03853b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/FailedPgBillingKeyIssueResponse.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키 발급 실패 채널 응답 + */ +@Serializable +@SerialName("FAILED") +public data class FailedPgBillingKeyIssueResponse( + /** + * 채널 + * + * 빌링키 발급을 시도한 채널입니다. + */ + override val channel: SelectedChannel, + /** + * 발급 실패 상세 정보 + */ + public val failure: BillingKeyFailure, +) : PgBillingKeyIssueResponse diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenError.kt new file mode 100644 index 0000000..693f059 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenError.kt @@ -0,0 +1,41 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 요청이 거절된 경우 + */ +@Serializable +@SerialName("FORBIDDEN") +internal data class ForbiddenError( + override val message: String? = null, +) : GetIdentityVerificationError, + SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError, + PreRegisterPaymentError, + GetBillingKeyInfoError, + DeleteBillingKeyError, + GetBillingKeyInfosError, + IssueBillingKeyError, + GetCashReceiptError, + GetPaymentError, + GetPaymentsError, + GetAllPaymentsError, + GetPaymentScheduleError, + GetPaymentSchedulesError, + RevokePaymentSchedulesError, + CreatePaymentScheduleError, + CancelPaymentError, + PayWithBillingKeyError, + PayInstantlyError, + IssueCashReceiptError, + CancelCashReceiptError, + CloseVirtualAccountError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + ResendWebhookError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenException.kt new file mode 100644 index 0000000..b04318e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ForbiddenException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 요청이 거절된 경우 + */ +public class ForbiddenException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Gender.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Gender.kt new file mode 100644 index 0000000..b766f09 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Gender.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 성별 + */ +@Serializable +public enum class Gender { + /** + * 남성 + */ + MALE, + /** + * 여성 + */ + FEMALE, + /** + * 그 외 성별 + */ + OTHER, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorBody.kt new file mode 100644 index 0000000..5cdeae9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorBody.kt @@ -0,0 +1,47 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Int +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * GetAllPaymentsByCursorBody + * + * 결제 건 커서 기반 대용량 다건 조회를 위한 입력 정보 + */ +@Serializable +internal data class GetAllPaymentsByCursorBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 결제 건 생성시점 범위 조건의 시작 + * + * 값을 입력하지 않으면 end의 90일 전으로 설정됩니다. + */ + public val from: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 결제 건 생성시점 범위 조건의 끝 + * + * 값을 입력하지 않으면 현재 시점으로 설정됩니다. + */ + public val until: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 커서 + * + * 결제 건 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는 이전 요청 응답값의 cursor를 입력해주시면 + * 됩니다. + */ + public val cursor: String? = null, + /** + * 페이지 크기 + * + * 미입력 시 기본값은 10 이며 최대 1000까지 허용 + */ + public val size: Int? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse.kt new file mode 100644 index 0000000..be5c42f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsByCursorResponse.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 건 커서 기반 대용량 다건 조회 성공 응답 정보 + */ +@Serializable +public data class GetAllPaymentsByCursorResponse( + /** + * 조회된 결제 건 및 커서 정보 리스트 + */ + public val items: List, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsError.kt new file mode 100644 index 0000000..bc2bac8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetAllPaymentsError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetAllPaymentsError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetAllPaymentsError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfoError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfoError.kt new file mode 100644 index 0000000..5b0a036 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfoError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetBillingKeyInfoError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetBillingKeyInfoError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosBody.kt new file mode 100644 index 0000000..33cefb1 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosBody.kt @@ -0,0 +1,30 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * GetBillingKeyInfosBody + * + * 빌링키 다건 조회를 위한 입력 정보 + */ +@Serializable +internal data class GetBillingKeyInfosBody( + /** + * 요청할 페이지 정보 + * + * 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + */ + public val page: PageInput? = null, + /** + * 정렬 조건 + * + * 미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다. + */ + public val sort: BillingKeySortInput? = null, + /** + * 조회할 빌링키 조건 필터 + * + * V1 빌링키 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다. + */ + public val filter: BillingKeyFilterInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosError.kt new file mode 100644 index 0000000..0bcb952 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetBillingKeyInfosError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetBillingKeyInfosError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosResponse.kt new file mode 100644 index 0000000..dfa643e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetBillingKeyInfosResponse.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 빌링키 다건 조회 성공 응답 정보 + */ +@Serializable +public data class GetBillingKeyInfosResponse( + /** + * 조회된 빌링키 리스트 + */ + public val items: List, + /** + * 조회된 페이지 정보 + */ + public val page: PageInfo, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetCashReceiptError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetCashReceiptError.kt new file mode 100644 index 0000000..be4a24e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetCashReceiptError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetCashReceiptError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetCashReceiptError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetIdentityVerificationError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetIdentityVerificationError.kt new file mode 100644 index 0000000..9edb0cf --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetIdentityVerificationError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetIdentityVerificationError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetIdentityVerificationError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderError.kt new file mode 100644 index 0000000..0a494be --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetKakaopayPaymentOrderError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetKakaopayPaymentOrderError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse.kt new file mode 100644 index 0000000..080637d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetKakaopayPaymentOrderResponse.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlin.Int +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 카카오페이 주문 조회 응답 + */ +@Serializable +public data class GetKakaopayPaymentOrderResponse( + /** + * HTTP 상태 코드 + */ + public val statusCode: Int, + /** + * HTTP 응답 본문 (JSON) + */ + public val body: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentError.kt new file mode 100644 index 0000000..8d4ad82 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetPaymentError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetPaymentError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentScheduleError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentScheduleError.kt new file mode 100644 index 0000000..cb85b4a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentScheduleError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetPaymentScheduleError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetPaymentScheduleError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesBody.kt new file mode 100644 index 0000000..6134562 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesBody.kt @@ -0,0 +1,28 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 예약 다건 조회를 위한 입력 정보 + * + * 조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다. + */ +@Serializable +internal data class GetPaymentSchedulesBody( + /** + * 요청할 페이지 정보 + * + * 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + */ + public val page: PageInput? = null, + /** + * 정렬 조건 + * + * 미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다. + */ + public val sort: PaymentScheduleSortInput? = null, + /** + * 조회할 결제 예약 건의 조건 필터 + */ + public val filter: PaymentScheduleFilterInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesError.kt new file mode 100644 index 0000000..c5f8a4d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetPaymentSchedulesError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetPaymentSchedulesError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesResponse.kt new file mode 100644 index 0000000..cd9ddfe --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentSchedulesResponse.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 예약 다건 조회 성공 응답 정보 + */ +@Serializable +public data class GetPaymentSchedulesResponse( + /** + * 조회된 결제 예약 건 리스트 + */ + public val items: List, + /** + * 조회된 페이지 정보 + */ + public val page: PageInfo, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsBody.kt new file mode 100644 index 0000000..7726f72 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsBody.kt @@ -0,0 +1,24 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * GetPaymentsBody + * + * 결제 건 다건 조회를 위한 입력 정보 + */ +@Serializable +internal data class GetPaymentsBody( + /** + * 요청할 페이지 정보 + * + * 미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다. + */ + public val page: PageInput? = null, + /** + * 조회할 결제 건 조건 필터 + * + * V1 결제 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다. + */ + public val filter: PaymentFilterInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsError.kt new file mode 100644 index 0000000..56beb92 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * GetPaymentsError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface GetPaymentsError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsResponse.kt new file mode 100644 index 0000000..1db6131 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/GetPaymentsResponse.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 건 다건 조회 성공 응답 정보 + */ +@Serializable +public data class GetPaymentsResponse( + /** + * 조회된 결제 건 리스트 + */ + public val items: List, + /** + * 조회된 페이지 정보 + */ + public val page: PageInfo, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerification.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerification.kt new file mode 100644 index 0000000..bab2645 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerification.kt @@ -0,0 +1,44 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 본인인증 내역 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface IdentityVerification { + /** + * 본인인증 내역 아이디 + */ + public val id: String + + /** + * 사용된 본인인증 채널 + */ + public val channel: SelectedChannel? + + /** + * 사용자 지정 데이터 + */ + public val customData: String? + + /** + * 본인인증 요청 시점 + */ + public val requestedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 업데이트 시점 + */ + public val updatedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 상태 업데이트 시점 + */ + public val statusChangedAt: @Serializable(InstantSerializer::class) Instant +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentError.kt new file mode 100644 index 0000000..243302f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 본인인증 건이 이미 API로 요청된 상태인 경우 + */ +@Serializable +@SerialName("IDENTITY_VERIFICATION_ALREADY_SENT") +internal data class IdentityVerificationAlreadySentError( + override val message: String? = null, +) : SendIdentityVerificationError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentException.kt new file mode 100644 index 0000000..d185593 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadySentException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 본인인증 건이 이미 API로 요청된 상태인 경우 + */ +public class IdentityVerificationAlreadySentException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedError.kt new file mode 100644 index 0000000..5d5d978 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedError.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 본인인증 건이 이미 인증 완료된 상태인 경우 + */ +@Serializable +@SerialName("IDENTITY_VERIFICATION_ALREADY_VERIFIED") +internal data class IdentityVerificationAlreadyVerifiedError( + override val message: String? = null, +) : SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedException.kt new file mode 100644 index 0000000..305082d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationAlreadyVerifiedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 본인인증 건이 이미 인증 완료된 상태인 경우 + */ +public class IdentityVerificationAlreadyVerifiedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationFailure.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationFailure.kt new file mode 100644 index 0000000..b8220af --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationFailure.kt @@ -0,0 +1,23 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 본인인증 실패 정보 + */ +@Serializable +public data class IdentityVerificationFailure( + /** + * 실패 사유 + */ + public val reason: String? = null, + /** + * PG사 실패 코드 + */ + public val pgCode: String? = null, + /** + * PG사 실패 메시지 + */ + public val pgMessage: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationMethod.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationMethod.kt new file mode 100644 index 0000000..eae7ee2 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationMethod.kt @@ -0,0 +1,12 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 본인인증 방식 + */ +@Serializable +public enum class IdentityVerificationMethod { + SMS, + APP, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundError.kt new file mode 100644 index 0000000..0bf8733 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundError.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 요청된 본인인증 건이 존재하지 않는 경우 + */ +@Serializable +@SerialName("IDENTITY_VERIFICATION_NOT_FOUND") +internal data class IdentityVerificationNotFoundError( + override val message: String? = null, +) : GetIdentityVerificationError, + SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundException.kt new file mode 100644 index 0000000..c408c19 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 요청된 본인인증 건이 존재하지 않는 경우 + */ +public class IdentityVerificationNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentError.kt new file mode 100644 index 0000000..df980ce --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 본인인증 건이 API로 요청된 상태가 아닌 경우 + */ +@Serializable +@SerialName("IDENTITY_VERIFICATION_NOT_SENT") +internal data class IdentityVerificationNotSentError( + override val message: String? = null, +) : ConfirmIdentityVerificationError, + ResendIdentityVerificationError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentException.kt new file mode 100644 index 0000000..32fe42d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationNotSentException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 본인인증 건이 API로 요청된 상태가 아닌 경우 + */ +public class IdentityVerificationNotSentException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationOperator.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationOperator.kt new file mode 100644 index 0000000..bff1053 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationOperator.kt @@ -0,0 +1,34 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 본인인증 통신사 + */ +@Serializable +public enum class IdentityVerificationOperator { + /** + * SKT + */ + SKT, + /** + * KT + */ + KT, + /** + * LGU + */ + LGU, + /** + * SKT 알뜰폰 + */ + SKT_MVNO, + /** + * KT 알뜰폰 + */ + KT_MVNO, + /** + * LGU 알뜰폰 + */ + LGU_MVNO, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer.kt new file mode 100644 index 0000000..27cf0d6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationRequestedCustomer.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 요청 시 고객 정보 + */ +@Serializable +public data class IdentityVerificationRequestedCustomer( + /** + * 식별 아이디 + */ + public val id: String? = null, + /** + * 이름 + */ + public val name: String? = null, + /** + * 전화번호 + * + * 특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다. + */ + public val phoneNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer.kt new file mode 100644 index 0000000..4de6c76 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IdentityVerificationVerifiedCustomer.kt @@ -0,0 +1,71 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 인증된 고객 정보 + */ +@Serializable +public data class IdentityVerificationVerifiedCustomer( + /** + * 식별 아이디 + */ + public val id: String? = null, + /** + * 이름 + */ + public val name: String, + /** + * 통신사 + * + * 다날: 별도 계약이 필요합니다. + * KG이니시스: 제공하지 않습니다. + */ + public val `operator`: IdentityVerificationOperator? = null, + /** + * 전화번호 + * + * 특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다. + * 다날: 별도 계약이 필요합니다. + * KG이니시스: 항상 제공합니다. + */ + public val phoneNumber: String? = null, + /** + * 생년월일 (yyyy-MM-dd) + * + * 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. + */ + public val birthDate: String, + /** + * 성별 + * + * 다날: 항상 제공합니다. + * KG이니시스: 항상 제공합니다. + */ + public val gender: Gender? = null, + /** + * 외국인 여부 + * + * 다날: 별도 계약이 필요합니다. + * KG이니시스: 항상 제공합니다. + */ + public val isForeigner: Boolean? = null, + /** + * CI (개인 고유 식별키) + * + * 개인을 식별하기 위한 고유 정보입니다. + * 다날: 항상 제공합니다. + * KG이니시스: 카카오를 제외한 인증사에서 제공합니다. + */ + public val ci: String? = null, + /** + * DI (사이트별 개인 고유 식별키) + * + * 중복 가입을 방지하기 위해 개인을 식별하는 사이트별 고유 정보입니다. + * 다날: 항상 제공합니다. + * KG이니시스: 제공하지 않습니다. + */ + public val di: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput.kt new file mode 100644 index 0000000..bd75571 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInput.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 발급 시 결제 수단 입력 양식 + */ +@Serializable +public data class InstantBillingKeyPaymentMethodInput( + public val card: InstantBillingKeyPaymentMethodInputCard? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard.kt new file mode 100644 index 0000000..302ae71 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantBillingKeyPaymentMethodInputCard.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 카드 수단 정보 입력 양식 + */ +@Serializable +public data class InstantBillingKeyPaymentMethodInputCard( + public val credential: CardCredential, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentInput.kt new file mode 100644 index 0000000..aa03364 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentInput.kt @@ -0,0 +1,102 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 수기 결제 요청 정보 + */ +@Serializable +internal data class InstantPaymentInput( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 채널 키 + * + * 채널 키 또는 채널 그룹 ID 필수 + */ + public val channelKey: String? = null, + /** + * 채널 그룹 ID + * + * 채널 키 또는 채널 그룹 ID 필수 + */ + public val channelGroupId: String? = null, + /** + * 결제수단 정보 + */ + public val method: InstantPaymentMethodInput, + /** + * 주문명 + */ + public val orderName: String, + /** + * 문화비 지출 여부 + * + * 기본값은 false 입니다. + */ + public val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 여부 + * + * 기본값은 false 입니다. + */ + public val isEscrow: Boolean? = null, + /** + * 고객 정보 + */ + public val customer: CustomerInput? = null, + /** + * 사용자 지정 데이터 + */ + public val customData: String? = null, + /** + * 결제 금액 세부 입력 정보 + */ + public val amount: PaymentAmountInput, + /** + * 통화 + */ + public val currency: Currency, + /** + * 결제 국가 + */ + public val country: Country? = null, + /** + * 웹훅 주소 + * + * 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + */ + public val noticeUrls: List? = null, + /** + * 상품 정보 + * + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + */ + public val products: List? = null, + /** + * 상품 개수 + */ + public val productCount: Int? = null, + /** + * 상품 유형 + */ + public val productType: PaymentProductType? = null, + /** + * 배송지 주소 + */ + public val shippingAddress: SeparatedAddressInput? = null, + /** + * 해당 결제에 적용할 프로모션 아이디 + */ + public val promotionId: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInput.kt new file mode 100644 index 0000000..a537d6e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInput.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 수기 결제 수단 입력 정보 + * + * 하나의 필드만 입력합니다. + */ +@Serializable +public data class InstantPaymentMethodInput( + /** + * 카드 + */ + public val card: InstantPaymentMethodInputCard? = null, + /** + * 가상계좌 + */ + public val virtualAccount: InstantPaymentMethodInputVirtualAccount? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputCard.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputCard.kt new file mode 100644 index 0000000..3762c23 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputCard.kt @@ -0,0 +1,32 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.Int +import kotlinx.serialization.Serializable + +/** + * 카드 수단 정보 입력 정보 + */ +@Serializable +public data class InstantPaymentMethodInputCard( + /** + * 카드 인증 관련 정보 + */ + public val credential: CardCredential, + /** + * 카드 할부 개월 수 + */ + public val installmentMonth: Int? = null, + /** + * 무이자 할부 적용 여부 + */ + public val useFreeInstallmentPlan: Boolean? = null, + /** + * 무이자 할부 이자를 고객사가 부담할지 여부 + */ + public val useFreeInterestFromMerchant: Boolean? = null, + /** + * 카드 포인트 사용 여부 + */ + public val useCardPoint: Boolean? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount.kt new file mode 100644 index 0000000..4d5160e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccount.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 가상계좌 수단 정보 입력 정보 + */ +@Serializable +public data class InstantPaymentMethodInputVirtualAccount( + /** + * 은행 + */ + public val bank: Bank, + /** + * 입금 만료 기한 + */ + public val expiry: InstantPaymentMethodInputVirtualAccountExpiry, + /** + * 가상계좌 유형 + */ + public val option: InstantPaymentMethodInputVirtualAccountOption, + /** + * 현금영수증 정보 + */ + public val cashReceipt: InstantPaymentMethodInputVirtualAccountCashReceiptInfo, + /** + * 예금주명 + */ + public val remitteeName: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo.kt new file mode 100644 index 0000000..e974771 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 가상계좌 결제 시 현금영수증 정보 + */ +@Serializable +public data class InstantPaymentMethodInputVirtualAccountCashReceiptInfo( + /** + * 현금영수증 유형 + */ + public val type: CashReceiptInputType, + /** + * 사용자 식별 번호 + */ + public val customerIdentityNumber: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry.kt new file mode 100644 index 0000000..6b6c15a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountExpiry.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Int +import kotlinx.serialization.Serializable + +/** + * 입금 만료 기한 + * + * validHours와 dueDate 둘 중 하나의 필드만 입력합니다. + */ +@Serializable +public data class InstantPaymentMethodInputVirtualAccountExpiry( + /** + * 유효 시간 + * + * 시간 단위로 입력합니다. + */ + public val validHours: Int? = null, + /** + * 만료 시점 + */ + public val dueDate: @Serializable(InstantSerializer::class) Instant? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption.kt new file mode 100644 index 0000000..20049bc --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOption.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 가상계좌 발급 방식 + */ +@Serializable +public data class InstantPaymentMethodInputVirtualAccountOption( + /** + * 발급 유형 + */ + public val type: InstantPaymentMethodInputVirtualAccountOptionType, + /** + * 고정식 가상계좌 발급 방식 + * + * 발급 유형을 FIXED 로 선택했을 시에만 입력합니다. + */ + public val fixed: InstantPaymentMethodInputVirtualAccountOptionFixed? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed.kt new file mode 100644 index 0000000..62714ca --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed.kt @@ -0,0 +1,26 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 고정식 가상계좌 발급 유형 + * + * pgAccountId, accountNumber 유형 중 한 개의 필드만 입력합니다. + */ +@Serializable +public data class InstantPaymentMethodInputVirtualAccountOptionFixed( + /** + * Account ID 고정식 가상계좌 + * + * 고객사가 가상계좌번호를 직접 관리하지 않고 PG사가 pgAccountId에 매핑되는 가상계좌번호를 내려주는 방식입니다. + * 동일한 pgAccountId로 가상계좌 발급 요청시에는 항상 같은 가상계좌번호가 내려옵니다. + */ + public val pgAccountId: String? = null, + /** + * Account Number 고정식 가상계좌 + * + * PG사가 일정 개수만큼의 가상계좌번호를 발급하여 고객사에게 미리 전달하고 고객사가 그 중 하나를 선택하여 사용하는 방식입니다. + */ + public val accountNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType.kt new file mode 100644 index 0000000..3d32f68 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentMethodInputVirtualAccountOptionType.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 가상계좌 발급 유형 + */ +@Serializable +public enum class InstantPaymentMethodInputVirtualAccountOptionType { + /** + * 회전식 가상계좌 + * + * 일반적으로 사용되는 방식이며 PG사에서 직접 채번한 가상계좌번호를 사용합니다. + */ + NORMAL, + /** + * 고정식 가상계좌 + */ + FIXED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentSummary.kt new file mode 100644 index 0000000..79c006f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InstantPaymentSummary.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 수기 결제가 완료된 결제 건 요약 정보 + */ +@Serializable +public data class InstantPaymentSummary( + /** + * PG사 결제 아이디 + */ + public val pgTxId: String, + /** + * 결제 완료 시점 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestError.kt new file mode 100644 index 0000000..0997e1c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestError.kt @@ -0,0 +1,44 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 요청된 입력 정보가 유효하지 않은 경우 + * + * 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + */ +@Serializable +@SerialName("INVALID_REQUEST") +internal data class InvalidRequestError( + override val message: String? = null, +) : GetIdentityVerificationError, + SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError, + PreRegisterPaymentError, + GetBillingKeyInfoError, + DeleteBillingKeyError, + GetBillingKeyInfosError, + IssueBillingKeyError, + GetCashReceiptError, + GetPaymentError, + GetPaymentsError, + GetAllPaymentsError, + GetPaymentScheduleError, + GetPaymentSchedulesError, + RevokePaymentSchedulesError, + CreatePaymentScheduleError, + CancelPaymentError, + PayWithBillingKeyError, + PayInstantlyError, + IssueCashReceiptError, + CancelCashReceiptError, + CloseVirtualAccountError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + ResendWebhookError, + GetKakaopayPaymentOrderError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestException.kt new file mode 100644 index 0000000..31fd522 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/InvalidRequestException.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 요청된 입력 정보가 유효하지 않은 경우 + * + * 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + */ +public class InvalidRequestException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyBody.kt new file mode 100644 index 0000000..37ca9b3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyBody.kt @@ -0,0 +1,55 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonObject + +/** + * 빌링키 발급 요청 양식 + */ +@Serializable +internal data class IssueBillingKeyBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 빌링키 결제 수단 정보 + */ + public val method: InstantBillingKeyPaymentMethodInput, + /** + * 채널 키 + * + * 채널 키 또는 채널 그룹 ID 필수 + */ + public val channelKey: String? = null, + /** + * 채널 그룹 ID + * + * 채널 키 또는 채널 그룹 ID 필수 + */ + public val channelGroupId: String? = null, + /** + * 고객 정보 + */ + public val customer: CustomerInput? = null, + /** + * 사용자 지정 데이터 + */ + public val customData: String? = null, + /** + * PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + */ + public val bypass: JsonObject? = null, + /** + * 웹훅 주소 + * + * 빌링키 발급 시 요청을 받을 웹훅 주소입니다. + * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. + */ + public val noticeUrls: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyError.kt new file mode 100644 index 0000000..27d4a1b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * IssueBillingKeyError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface IssueBillingKeyError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyResponse.kt new file mode 100644 index 0000000..84d9335 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueBillingKeyResponse.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 빌링키 발급 성공 응답 + */ +@Serializable +public data class IssueBillingKeyResponse( + /** + * 빌링키 정보 + */ + public val billingKeyInfo: BillingKeyInfoSummary, + /** + * 발급에 실패한 채널이 있을시 실패 정보 + */ + public val channelSpecificFailures: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptBody.kt new file mode 100644 index 0000000..4628070 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptBody.kt @@ -0,0 +1,57 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 현금영수증 발급 요청 양식 + */ +@Serializable +internal data class IssueCashReceiptBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 결제 건 아이디 + * + * 외부 결제 건에 대한 수동 발급의 경우, 아이디를 직접 채번하여 입력합니다. + */ + public val paymentId: String, + /** + * 채널 키 + */ + public val channelKey: String, + /** + * 현금 영수증 유형 + */ + public val type: CashReceiptType, + /** + * 주문명 + */ + public val orderName: String, + /** + * 화폐 + */ + public val currency: Currency, + /** + * 금액 세부 입력 정보 + */ + public val amount: PaymentAmountInput, + /** + * 상품 유형 + */ + public val productType: PaymentProductType? = null, + /** + * 고객 정보 + */ + public val customer: IssueCashReceiptCustomerInput, + /** + * 결제 일자 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput.kt new file mode 100644 index 0000000..ba6c5cc --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptCustomerInput.kt @@ -0,0 +1,27 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 현금영수증 발급 시 고객 관련 입력 정보 + */ +@Serializable +public data class IssueCashReceiptCustomerInput( + /** + * 고객 식별값 + */ + public val identityNumber: String, + /** + * 이름 + */ + public val name: String? = null, + /** + * 이메일 + */ + public val email: String? = null, + /** + * 전화번호 + */ + public val phoneNumber: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptError.kt new file mode 100644 index 0000000..6a7dcdf --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * IssueCashReceiptError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface IssueCashReceiptError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt new file mode 100644 index 0000000..664767c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 현금 영수증 발급 성공 응답 + */ +@Serializable +public data class IssueCashReceiptResponse( + public val cashReceipt: CashReceiptSummary, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueFailedCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueFailedCashReceipt.kt new file mode 100644 index 0000000..a3abb7d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssueFailedCashReceipt.kt @@ -0,0 +1,38 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 발급 실패 + */ +@Serializable +@SerialName("ISSUE_FAILED") +public data class IssueFailedCashReceipt( + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 현금영수증 발급에 사용된 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 주문명 + */ + override val orderName: String, + /** + * 수동 발급 여부 + */ + override val isManual: Boolean, +) : CashReceipt diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedBillingKeyInfo.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedBillingKeyInfo.kt new file mode 100644 index 0000000..a9f963d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedBillingKeyInfo.kt @@ -0,0 +1,74 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키 발급 완료 상태 건 + */ +@Serializable +@SerialName("ISSUED") +public data class IssuedBillingKeyInfo( + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 빌링키 결제수단 상세 정보 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다. + */ + override val methods: List? = null, + /** + * 빌링키 발급 시 사용된 채널 + * + * 추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다. + */ + override val channels: List, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 고객사가 채번하는 빌링키 발급 건 고유 아이디 + */ + override val issueId: String? = null, + /** + * 빌링키 발급 건 이름 + */ + override val issueName: String? = null, + /** + * 발급 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 발급 시점 + */ + override val issuedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 채널 그룹 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 채널 별 빌링키 발급 응답 + * + * 슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 빌링키 발급은 실패할 수 있습니다. + */ + override val pgBillingKeyIssueResponses: List? = null, +) : BillingKeyInfo diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedCashReceipt.kt new file mode 100644 index 0000000..6311c25 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedCashReceipt.kt @@ -0,0 +1,77 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 발급 완료 + */ +@Serializable +@SerialName("ISSUED") +public data class IssuedCashReceipt( + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 현금영수증 발급에 사용된 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 금액 + */ + public val amount: Long, + /** + * 면세액 + */ + public val taxFreeAmount: Long? = null, + /** + * 부가세액 + */ + public val vatAmount: Long? = null, + /** + * 통화 + */ + public val currency: Currency, + /** + * 주문명 + */ + override val orderName: String, + /** + * 수동 발급 여부 + */ + override val isManual: Boolean, + /** + * 현금영수증 유형 + */ + public val type: CashReceiptType? = null, + /** + * PG사 현금영수증 아이디 + */ + public val pgReceiptId: String? = null, + /** + * 승인 번호 + */ + public val issueNumber: String, + /** + * 현금영수증 URL + */ + public val url: String? = null, + /** + * 발급 시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant, +) : CashReceipt diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPaymentCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPaymentCashReceipt.kt new file mode 100644 index 0000000..52fdad5 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPaymentCashReceipt.kt @@ -0,0 +1,48 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 발급 완료된 현금영수증 + */ +@Serializable +@SerialName("ISSUED") +public data class IssuedPaymentCashReceipt( + /** + * 현금영수증 유형 + */ + override val type: CashReceiptType? = null, + /** + * PG사 영수증 발급 아이디 + */ + override val pgReceiptId: String? = null, + /** + * 승인 번호 + */ + override val issueNumber: String, + /** + * 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 현금영수증 URL + */ + override val url: String? = null, + /** + * 발급 시점 + */ + override val issuedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentCashReceipt diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse.kt new file mode 100644 index 0000000..10497be --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/IssuedPgBillingKeyIssueResponse.kt @@ -0,0 +1,29 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 빌링키 발급 성공 채널 응답 + */ +@Serializable +@SerialName("ISSUED") +public data class IssuedPgBillingKeyIssueResponse( + /** + * 채널 + * + * 빌링키 발급을 시도한 채널입니다. + */ + override val channel: SelectedChannel, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, + /** + * 빌링키 결제수단 상세 정보 + * + * 채널에 대응되는 PG사에서 응답한 빌링키 발급 수단 정보입니다. + */ + public val method: BillingKeyPaymentMethod? = null, +) : PgBillingKeyIssueResponse diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsBody.kt new file mode 100644 index 0000000..4110dd4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsBody.kt @@ -0,0 +1,41 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 에스크로 배송 정보 수정 입력 정보 + */ +@Serializable +internal data class ModifyEscrowLogisticsBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 에스크로 발송자 정보 + */ + public val sender: PaymentEscrowSenderInput? = null, + /** + * 에스크로 수취인 정보 + */ + public val `receiver`: PaymentEscrowReceiverInput? = null, + /** + * 에스크로 물류 정보 + */ + public val logistics: PaymentLogistics, + /** + * 이메일 알림 전송 여부 + * + * 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다. + */ + public val sendEmail: Boolean? = null, + /** + * 상품 정보 + */ + public val products: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsError.kt new file mode 100644 index 0000000..e27ece7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ModifyEscrowLogisticsError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ModifyEscrowLogisticsError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse.kt new file mode 100644 index 0000000..e8315b0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ModifyEscrowLogisticsResponse.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 에스크로 배송 정보 수정 성공 응답 + */ +@Serializable +public data class ModifyEscrowLogisticsResponse( + /** + * 송장 번호 + */ + public val invoiceNumber: String, + /** + * 발송 시점 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant, + /** + * 에스크로 정보 수정 시점 + */ + public val modifiedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/OneLineAddress.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/OneLineAddress.kt new file mode 100644 index 0000000..f26fa95 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/OneLineAddress.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 한 줄 형식 주소 + * + * 한 줄 형식 주소만 존재합니다. + */ +@Serializable +@SerialName("ONE_LINE") +public data class OneLineAddress( + /** + * 주소 (한 줄) + */ + override val oneLine: String, +) : Address diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInfo.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInfo.kt new file mode 100644 index 0000000..b020b53 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInfo.kt @@ -0,0 +1,23 @@ +package io.portone.sdk.server.schemas + +import kotlin.Int +import kotlinx.serialization.Serializable + +/** + * 반환된 페이지 결과 정보 + */ +@Serializable +public data class PageInfo( + /** + * 요청된 페이지 번호 + */ + public val number: Int, + /** + * 요청된 페이지 당 객체 수 + */ + public val size: Int, + /** + * 실제 반환된 객체 수 + */ + public val totalCount: Int, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInput.kt new file mode 100644 index 0000000..3a16bc1 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PageInput.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.Int +import kotlinx.serialization.Serializable + +/** + * 다건 조회 API 에 사용되는 페이지 입력 정보 + */ +@Serializable +public data class PageInput( + /** + * 0부터 시작하는 페이지 번호 + */ + public val number: Int? = null, + /** + * 각 페이지 당 포함할 객체 수 + */ + public val size: Int? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaidPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaidPayment.kt new file mode 100644 index 0000000..8abdb9d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaidPayment.kt @@ -0,0 +1,146 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 완료 상태 건 + */ +@Serializable +@SerialName("PAID") +public data class PaidPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * 결제 완료 시점 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, + /** + * PG사 거래 응답 본문 + */ + public val pgResponse: String? = null, + /** + * 현금영수증 + */ + public val cashReceipt: PaymentCashReceipt? = null, + /** + * 거래 영수증 URL + */ + public val receiptUrl: String? = null, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PartialCancelledPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PartialCancelledPayment.kt new file mode 100644 index 0000000..9cb5c68 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PartialCancelledPayment.kt @@ -0,0 +1,150 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 부분 취소 상태 건 + */ +@Serializable +@SerialName("PARTIAL_CANCELLED") +public data class PartialCancelledPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * 결제 완료 시점 + */ + public val paidAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, + /** + * 현금영수증 + */ + public val cashReceipt: PaymentCashReceipt? = null, + /** + * 거래 영수증 URL + */ + public val receiptUrl: String? = null, + /** + * 결제 취소 내역 + */ + public val cancellations: List, + /** + * 결제 취소 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyError.kt new file mode 100644 index 0000000..8d05854 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * PayInstantlyError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface PayInstantlyError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyResponse.kt new file mode 100644 index 0000000..d4a4959 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayInstantlyResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 수기 결제 성공 응답 + */ +@Serializable +public data class PayInstantlyResponse( + /** + * 결제 건 요약 정보 + */ + public val payment: InstantPaymentSummary, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayPendingPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayPendingPayment.kt new file mode 100644 index 0000000..79f1643 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayPendingPayment.kt @@ -0,0 +1,124 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 완료 대기 상태 건 + */ +@Serializable +@SerialName("PAY_PENDING") +public data class PayPendingPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyError.kt new file mode 100644 index 0000000..aaa2bea --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * PayWithBillingKeyError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface PayWithBillingKeyError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt new file mode 100644 index 0000000..de50e62 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 빌링키 결제 성공 응답 + */ +@Serializable +public data class PayWithBillingKeyResponse( + /** + * 결제 건 요약 정보 + */ + public val payment: BillingKeyPaymentSummary, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Payment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Payment.kt new file mode 100644 index 0000000..a839a29 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/Payment.kt @@ -0,0 +1,143 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 결제 건 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface Payment { + /** + * 결제 건 아이디 + */ + public val id: String + + /** + * 고객사 아이디 + */ + public val merchantId: String + + /** + * 상점 아이디 + */ + public val storeId: String + + /** + * 결제수단 정보 + */ + public val method: PaymentMethod? + + /** + * 결제 채널 + */ + public val channel: SelectedChannel? + + /** + * 결제 채널 그룹 정보 + */ + public val channelGroup: ChannelGroupSummary? + + /** + * 포트원 버전 + */ + public val version: PortOneVersion + + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + public val scheduleId: String? + + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + public val billingKey: String? + + /** + * 웹훅 발송 내역 + */ + public val webhooks: List? + + /** + * 결제 요청 시점 + */ + public val requestedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 업데이트 시점 + */ + public val updatedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 상태 업데이트 시점 + */ + public val statusChangedAt: @Serializable(InstantSerializer::class) Instant + + /** + * 주문명 + */ + public val orderName: String + + /** + * 결제 금액 관련 세부 정보 + */ + public val amount: PaymentAmount + + /** + * 통화 + */ + public val currency: Currency + + /** + * 구매자 정보 + */ + public val customer: Customer + + /** + * 프로모션 아이디 + */ + public val promotionId: String? + + /** + * 문화비 지출 여부 + */ + public val isCulturalExpense: Boolean? + + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + public val escrow: PaymentEscrow? + + /** + * 상품 정보 + */ + public val products: List? + + /** + * 상품 갯수 + */ + public val productCount: Int? + + /** + * 사용자 지정 데이터 + */ + public val customData: String? + + /** + * 국가 코드 + */ + public val country: Country? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledError.kt new file mode 100644 index 0000000..52947bd --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제가 이미 취소된 경우 + */ +@Serializable +@SerialName("PAYMENT_ALREADY_CANCELLED") +internal data class PaymentAlreadyCancelledError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledException.kt new file mode 100644 index 0000000..03550d3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAlreadyCancelledException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제가 이미 취소된 경우 + */ +public class PaymentAlreadyCancelledException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmount.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmount.kt new file mode 100644 index 0000000..0a7436b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmount.kt @@ -0,0 +1,45 @@ +package io.portone.sdk.server.schemas + +import kotlin.Long +import kotlinx.serialization.Serializable + +/** + * 결제 금액 세부 정보 + */ +@Serializable +public data class PaymentAmount( + /** + * 총 결제금액 + */ + public val total: Long, + /** + * 면세액 + */ + public val taxFree: Long, + /** + * 부가세액 + */ + public val vat: Long? = null, + /** + * 공급가액 + */ + public val supply: Long? = null, + /** + * 할인금액 + * + * 카드사 프로모션, 포트원 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함합니다. + */ + public val discount: Long, + /** + * 실제 결제금액 + */ + public val paid: Long, + /** + * 취소금액 + */ + public val cancelled: Long, + /** + * 취소금액 중 면세액 + */ + public val cancelledTaxFree: Long, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmountInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmountInput.kt new file mode 100644 index 0000000..d4b9dd3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentAmountInput.kt @@ -0,0 +1,26 @@ +package io.portone.sdk.server.schemas + +import kotlin.Long +import kotlinx.serialization.Serializable + +/** + * 금액 세부 입력 정보 + */ +@Serializable +public data class PaymentAmountInput( + /** + * 총 금액 + */ + public val total: Long, + /** + * 면세액 + */ + public val taxFree: Long? = null, + /** + * 부가세액 + * + * 고객사에서 직접 계산이 필요한 경우 입력합니다. + * 입력하지 않으면 면세 금액을 제외한 금액의 1/11 로 자동 계산됩니다. + */ + public val vat: Long? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCancellation.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCancellation.kt new file mode 100644 index 0000000..8ee637c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCancellation.kt @@ -0,0 +1,60 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 결제 취소 내역 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface PaymentCancellation { + /** + * 취소 내역 아이디 + */ + public val id: String + + /** + * PG사 결제 취소 내역 아이디 + */ + public val pgCancellationId: String? + + /** + * 취소 총 금액 + */ + public val totalAmount: Long + + /** + * 취소 금액 중 면세 금액 + */ + public val taxFreeAmount: Long + + /** + * 취소 금액 중 부가세액 + */ + public val vatAmount: Long + + /** + * 적립형 포인트의 환불 금액 + */ + public val easyPayDiscountAmount: Long? + + /** + * 취소 사유 + */ + public val reason: String + + /** + * 취소 시점 + */ + public val cancelledAt: @Serializable(InstantSerializer::class) Instant? + + /** + * 취소 요청 시점 + */ + public val requestedAt: @Serializable(InstantSerializer::class) Instant +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceipt.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceipt.kt new file mode 100644 index 0000000..079a108 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceipt.kt @@ -0,0 +1,55 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 결제 건 내 현금영수증 정보 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface PaymentCashReceipt { + /** + * 현금영수증 유형 + */ + public val type: CashReceiptType? + + /** + * PG사 영수증 발급 아이디 + */ + public val pgReceiptId: String? + + /** + * 승인 번호 + */ + public val issueNumber: String + + /** + * 총 금액 + */ + public val totalAmount: Long + + /** + * 면세액 + */ + public val taxFreeAmount: Long? + + /** + * 통화 + */ + public val currency: Currency + + /** + * 현금영수증 URL + */ + public val url: String? + + /** + * 발급 시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceiptStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceiptStatus.kt new file mode 100644 index 0000000..6abb92b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentCashReceiptStatus.kt @@ -0,0 +1,12 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제건 내 현금영수증 상태 + */ +@Serializable +public enum class PaymentCashReceiptStatus { + ISSUED, + CANCELLED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentClientType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentClientType.kt new file mode 100644 index 0000000..1337dcd --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentClientType.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제가 발생한 클라이언트 환경 + */ +@Serializable +public enum class PaymentClientType { + SDK_MOBILE, + SDK_PC, + API, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrow.kt new file mode 100644 index 0000000..f6f1aa9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrow.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 에스크로 정보 + * + * V1 결제 건의 경우 타입이 REGISTERED 로 고정됩니다. + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowReceiverInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowReceiverInput.kt new file mode 100644 index 0000000..789e82f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowReceiverInput.kt @@ -0,0 +1,27 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 에스크로 수취인 정보 + */ +@Serializable +public data class PaymentEscrowReceiverInput( + /** + * 이름 + */ + public val name: String? = null, + /** + * 전화번호 + */ + public val phoneNumber: String? = null, + /** + * 우편번호 + */ + public val zipcode: String? = null, + /** + * 주소 + */ + public val address: SeparatedAddressInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowSenderInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowSenderInput.kt new file mode 100644 index 0000000..5976c3f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentEscrowSenderInput.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 에스크로 발송자 정보 + */ +@Serializable +public data class PaymentEscrowSenderInput( + /** + * 이름 + */ + public val name: String? = null, + /** + * 전화번호 + */ + public val phoneNumber: String? = null, + /** + * 우편번호 + */ + public val zipcode: String? = null, + /** + * 수취인과의 관계 + */ + public val relationship: String? = null, + /** + * 주소 + */ + public val address: SeparatedAddressInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFailure.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFailure.kt new file mode 100644 index 0000000..35cdbf0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFailure.kt @@ -0,0 +1,23 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 결제 실패 정보 + */ +@Serializable +public data class PaymentFailure( + /** + * 실패 사유 + */ + public val reason: String? = null, + /** + * PG사 실패 코드 + */ + public val pgCode: String? = null, + /** + * PG사 실패 메시지 + */ + public val pgMessage: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInput.kt new file mode 100644 index 0000000..0aff90d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInput.kt @@ -0,0 +1,135 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 건 다건 조회를 위한 입력 정보 + */ +@Serializable +public data class PaymentFilterInput( + /** + * 고객사 아이디 + */ + public val merchantId: String? = null, + /** + * 상점 아이디 + * + * Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제 건을 조회합니다. + */ + public val storeId: String? = null, + /** + * 조회 기준 시점 유형 + */ + public val timestampType: PaymentTimestampType? = null, + /** + * 결제 요청/상태 승인 시점 범위의 시작 + * + * 값을 입력하지 않으면 end의 90일 전으로 설정됩니다. + */ + public val from: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 결제 요청/상태 승인 시점 범위의 끝 + * + * 값을 입력하지 않으면 현재 시점으로 설정됩니다. + */ + public val until: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 결제 상태 리스트 + * + * 값을 입력하지 않으면 결제상태 필터링이 적용되지 않습니다. + */ + public val status: List? = null, + /** + * 결제수단 리스트 + * + * 값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다. + */ + public val methods: List? = null, + /** + * PG사 리스트 + * + * 값을 입력하지 않으면 결제대행사 필터링이 적용되지 않습니다. + */ + public val pgProvider: List? = null, + /** + * 테스트 결제 필터링 + */ + public val isTest: Boolean? = null, + /** + * 결제 예약 건 필터링 + */ + public val isScheduled: Boolean? = null, + /** + * 결제 건 정렬 기준 + */ + public val sortBy: PaymentSortBy? = null, + /** + * 결제 건 정렬 방식 + */ + public val sortOrder: SortOrder? = null, + /** + * 포트원 버전 + */ + public val version: PortOneVersion? = null, + /** + * 웹훅 상태 + */ + public val webhookStatus: PaymentWebhookStatus? = null, + /** + * 플랫폼 유형 + */ + public val platformType: PaymentClientType? = null, + /** + * 통화 + */ + public val currency: Currency? = null, + /** + * 에스크로 결제 여부 + */ + public val isEscrow: Boolean? = null, + /** + * 에스크로 결제의 배송 정보 상태 + */ + public val escrowStatus: PaymentFilterInputEscrowStatus? = null, + /** + * 카드 브랜드 + */ + public val cardBrand: CardBrand? = null, + /** + * 카드 유형 + */ + public val cardType: CardType? = null, + /** + * 카드 소유주 유형 + */ + public val cardOwnerType: CardOwnerType? = null, + /** + * 상품권 종류 + */ + public val giftCertificateType: PaymentMethodGiftCertificateType? = null, + /** + * 현금영수증 유형 + */ + public val cashReceiptType: CashReceiptInputType? = null, + /** + * 현금영수증 상태 + */ + public val cashReceiptStatus: PaymentCashReceiptStatus? = null, + /** + * 현금영수증 발급 시간 범위 + */ + public val cashReceiptIssuedAtRange: DateTimeRange? = null, + /** + * 현금영수증 취소 시간 범위 + */ + public val cashReceiptCancelledAtRange: DateTimeRange? = null, + /** + * 통합 검색 리스트 필터 + */ + public val textSearch: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus.kt new file mode 100644 index 0000000..c1b1659 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentFilterInputEscrowStatus.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 에스크로 상태 + */ +@Serializable +public enum class PaymentFilterInputEscrowStatus { + REGISTERED, + DELIVERED, + CONFIRMED, + REJECTED, + CANCELLED, + REJECT_CONFIRMED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentInstallment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentInstallment.kt new file mode 100644 index 0000000..9b66aa4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentInstallment.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.Int +import kotlinx.serialization.Serializable + +/** + * 할부 정보 + */ +@Serializable +public data class PaymentInstallment( + /** + * 할부 개월 수 + */ + public val month: Int, + /** + * 무이자할부 여부 + */ + public val isInterestFree: Boolean, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogistics.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogistics.kt new file mode 100644 index 0000000..7edfcdb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogistics.kt @@ -0,0 +1,33 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 배송정보 + */ +@Serializable +public data class PaymentLogistics( + /** + * 물류회사 + */ + public val company: PaymentLogisticsCompany, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송시점 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant, + /** + * 수령시점 + */ + public val receivedAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 주소 + */ + public val address: SeparatedAddressInput? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogisticsCompany.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogisticsCompany.kt new file mode 100644 index 0000000..9c81cef --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentLogisticsCompany.kt @@ -0,0 +1,130 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 물류 회사 + */ +@Serializable +public enum class PaymentLogisticsCompany { + /** + * 롯데글로벌로지스 + */ + LOTTE, + /** + * 로젠택배 + */ + LOGEN, + /** + * 동원로엑스 + */ + DONGWON, + /** + * 우체국택배 + */ + POST, + /** + * 대한통운 + */ + CJ, + /** + * 한진택배 + */ + HANJIN, + /** + * 대신택배 + */ + DAESIN, + /** + * 일양로지스 + */ + ILYANG, + /** + * 경동택배 + */ + KYUNGDONG, + /** + * 천일택배 + */ + CHUNIL, + /** + * 등기우편 + */ + POST_REGISTERED, + /** + * GS네트웍스 + */ + GS, + /** + * 우리택배 + */ + WOORI, + /** + * 합동택배 + */ + HAPDONG, + /** + * FedEx + */ + FEDEX, + /** + * UPS + */ + UPS, + /** + * GSM NtoN + */ + GSM_NTON, + /** + * 성원글로벌카고 + */ + SUNGWON, + /** + * LX판토스 + */ + LX_PANTOS, + /** + * ACI + */ + ACI, + /** + * CJ대한통운 국제특송 + */ + CJ_INTL, + /** + * USPS + */ + USPS, + /** + * EMS + */ + EMS, + /** + * DHL + */ + DHL, + /** + * KGL네트웍스 + */ + KGL, + /** + * 굿투럭 + */ + GOODSTOLUCK, + /** + * 건영택배 + */ + KUNYOUNG, + /** + * SLX + */ + SLX, + /** + * SF Express + */ + SF, + /** + * 기타 + */ + ETC, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethod.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethod.kt new file mode 100644 index 0000000..316bb34 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethod.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 결제수단 정보 + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodCard.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodCard.kt new file mode 100644 index 0000000..609927f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodCard.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제수단 카드 정보 + */ +@Serializable +@SerialName("PaymentMethodCard") +public data class PaymentMethodCard( + /** + * 카드 상세 정보 + */ + public val card: Card? = null, + /** + * 승인 번호 + */ + public val approvalNumber: String? = null, + /** + * 할부 정보 + */ + public val installment: PaymentInstallment? = null, + /** + * 카드 포인트 사용여부 + */ + public val pointUsed: Boolean? = null, +) : PaymentMethod, + PaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPay.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPay.kt new file mode 100644 index 0000000..5605588 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPay.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 간편 결제 상세 정보 + */ +@Serializable +@SerialName("PaymentMethodEasyPay") +public data class PaymentMethodEasyPay( + /** + * 간편 결제 PG사 + */ + public val provider: EasyPayProvider? = null, + /** + * 간편 결제 수단 + */ + public val easyPayMethod: PaymentMethodEasyPayMethod? = null, +) : PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod.kt new file mode 100644 index 0000000..66cb5d1 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethod.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 간편 결제 수단 + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface PaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge.kt new file mode 100644 index 0000000..a13f072 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodEasyPayMethodCharge.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 충전식 포인트 결제 정보 + */ +@Serializable +@SerialName("PaymentMethodEasyPayMethodCharge") +public data class PaymentMethodEasyPayMethodCharge( + /** + * 표준 은행 코드 + */ + public val bank: Bank? = null, +) : PaymentMethodEasyPayMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificate.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificate.kt new file mode 100644 index 0000000..116f304 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificate.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 상품권 상세 정보 + */ +@Serializable +@SerialName("PaymentMethodGiftCertificate") +public data class PaymentMethodGiftCertificate( + /** + * 상품권 종류 + */ + public val giftCertificateType: PaymentMethodGiftCertificateType? = null, + /** + * 상품권 승인 번호 + */ + public val approvalNumber: String, +) : PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificateType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificateType.kt new file mode 100644 index 0000000..54cc1ee --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodGiftCertificateType.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 상품권 종류 + */ +@Serializable +public enum class PaymentMethodGiftCertificateType { + BOOKNLIFE, + SMART_MUNSANG, + CULTURELAND, + HAPPYMONEY, + CULTUREGIFT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodMobile.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodMobile.kt new file mode 100644 index 0000000..be44330 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodMobile.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 모바일 상세 정보 + */ +@Serializable +@SerialName("PaymentMethodMobile") +public data class PaymentMethodMobile( + /** + * 전화번호 + */ + public val phoneNumber: String? = null, +) : PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodTransfer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodTransfer.kt new file mode 100644 index 0000000..360a012 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodTransfer.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 계좌 이체 상세 정보 + */ +@Serializable +@SerialName("PaymentMethodTransfer") +public data class PaymentMethodTransfer( + /** + * 표준 은행 코드 + */ + public val bank: Bank? = null, +) : PaymentMethodEasyPayMethod, + PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodType.kt new file mode 100644 index 0000000..3af74ea --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodType.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * PaymentMethodType + */ +@Serializable +public enum class PaymentMethodType { + CARD, + TRANSFER, + VIRTUAL_ACCOUNT, + GIFT_CERTIFICATE, + MOBILE, + EASY_PAY, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccount.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccount.kt new file mode 100644 index 0000000..4bf1ce7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccount.kt @@ -0,0 +1,47 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 가상계좌 상세 정보 + */ +@Serializable +@SerialName("PaymentMethodVirtualAccount") +public data class PaymentMethodVirtualAccount( + /** + * 표준 은행 코드 + */ + public val bank: Bank? = null, + /** + * 계좌번호 + */ + public val accountNumber: String, + /** + * 계좌 유형 + */ + public val accountType: PaymentMethodVirtualAccountType? = null, + /** + * 계좌주 + */ + public val remitteeName: String? = null, + /** + * 송금인(입금자) + */ + public val remitterName: String? = null, + /** + * 입금만료시점 + */ + public val expiredAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 계좌발급시점 + */ + public val issuedAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 가상계좌 결제가 환불 단계일 때의 환불 상태 + */ + public val refundStatus: PaymentMethodVirtualAccountRefundStatus? = null, +) : PaymentMethod diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus.kt new file mode 100644 index 0000000..4fb6310 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountRefundStatus.kt @@ -0,0 +1,26 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 가상계좌 환불 상태 + */ +@Serializable +public enum class PaymentMethodVirtualAccountRefundStatus { + /** + * 처리중 + */ + PENDING, + /** + * 부분 환불 실패 + */ + PARTIAL_REFUND_FAILED, + /** + * 환불 실패 + */ + FAILED, + /** + * 환불 완료 + */ + COMPLETED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountType.kt new file mode 100644 index 0000000..2b61beb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentMethodVirtualAccountType.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 가상계좌 유형 + */ +@Serializable +public enum class PaymentMethodVirtualAccountType { + /** + * 고정식 + */ + FIXED, + /** + * 회전식 + */ + NORMAL, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundError.kt new file mode 100644 index 0000000..e92b39c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundError.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 건이 존재하지 않는 경우 + */ +@Serializable +@SerialName("PAYMENT_NOT_FOUND") +internal data class PaymentNotFoundError( + override val message: String? = null, +) : GetPaymentError, + CancelPaymentError, + CloseVirtualAccountError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + ResendWebhookError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundException.kt new file mode 100644 index 0000000..91d69b4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 건이 존재하지 않는 경우 + */ +public class PaymentNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidError.kt new file mode 100644 index 0000000..2be4bcd --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidError.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제가 완료되지 않은 경우 + */ +@Serializable +@SerialName("PAYMENT_NOT_PAID") +internal data class PaymentNotPaidError( + override val message: String? = null, +) : CancelPaymentError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidException.kt new file mode 100644 index 0000000..d604b03 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotPaidException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제가 완료되지 않은 경우 + */ +public class PaymentNotPaidException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositError.kt new file mode 100644 index 0000000..fa837e1 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 건이 입금 대기 상태가 아닌 경우 + */ +@Serializable +@SerialName("PAYMENT_NOT_WAITING_FOR_DEPOSIT") +internal data class PaymentNotWaitingForDepositError( + override val message: String? = null, +) : CloseVirtualAccountError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositException.kt new file mode 100644 index 0000000..665cb30 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentNotWaitingForDepositException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 건이 입금 대기 상태가 아닌 경우 + */ +public class PaymentNotWaitingForDepositException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProduct.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProduct.kt new file mode 100644 index 0000000..1b728d6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProduct.kt @@ -0,0 +1,41 @@ +package io.portone.sdk.server.schemas + +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 상품 정보 + */ +@Serializable +public data class PaymentProduct( + /** + * 상품 고유 식별자 + * + * 고객사가 직접 부여한 식별자입니다. + */ + public val id: String, + /** + * 상품명 + */ + public val name: String, + /** + * 상품 태그 + * + * 카테고리 등으로 활용될 수 있습니다. + */ + public val tag: String? = null, + /** + * 상품 코드 + */ + public val code: String? = null, + /** + * 상품 단위가격 + */ + public val amount: Long, + /** + * 주문 수량 + */ + public val quantity: Int, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProductType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProductType.kt new file mode 100644 index 0000000..c59c798 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentProductType.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 상품 유형 + */ +@Serializable +public enum class PaymentProductType { + /** + * 실물 상품 + */ + PHYSICAL, + /** + * 디지털 상품 + * + * 서비스, 온라인 상품 등 실물이 존재하지 않는 무형의 상품을 의미합니다. + */ + DIGITAL, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSchedule.kt new file mode 100644 index 0000000..39e62db --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSchedule.kt @@ -0,0 +1,113 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 결제 예약 건 + */ +@Serializable +@JsonClassDiscriminator("status") +public sealed interface PaymentSchedule { + /** + * 결제 예약 건 아이디 + */ + public val id: String + + /** + * 고객사 아이디 + */ + public val merchantId: String + + /** + * 상점 아이디 + */ + public val storeId: String + + /** + * 결제 건 아이디 + */ + public val paymentId: String + + /** + * 빌링키 + */ + public val billingKey: String + + /** + * 주문명 + */ + public val orderName: String + + /** + * 문화비 지출 여부 + */ + public val isCulturalExpense: Boolean + + /** + * 에스크로 결제 여부 + */ + public val isEscrow: Boolean + + /** + * 고객 정보 + */ + public val customer: Customer + + /** + * 사용자 지정 데이터 + */ + public val customData: String + + /** + * 결제 총 금액 + */ + public val totalAmount: Long + + /** + * 면세액 + */ + public val taxFreeAmount: Long? + + /** + * 부가세 + */ + public val vatAmount: Long? + + /** + * 통화 + */ + public val currency: Currency + + /** + * 할부 개월 수 + */ + public val installmentMonth: Int? + + /** + * 웹훅 주소 + */ + public val noticeUrls: List? + + /** + * 상품 정보 + */ + public val products: List? + + /** + * 결제 예약 등록 시점 + */ + public val createdAt: @Serializable(InstantSerializer::class) Instant + + /** + * 결제 예정 시점 + */ + public val timeToPay: @Serializable(InstantSerializer::class) Instant +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsError.kt new file mode 100644 index 0000000..ddc1395 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약건이 이미 존재하는 경우 + */ +@Serializable +@SerialName("PAYMENT_SCHEDULE_ALREADY_EXISTS") +internal data class PaymentScheduleAlreadyExistsError( + override val message: String? = null, +) : DeleteBillingKeyError, + CreatePaymentScheduleError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsException.kt new file mode 100644 index 0000000..5de93a9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyExistsException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 예약건이 이미 존재하는 경우 + */ +public class PaymentScheduleAlreadyExistsException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedError.kt new file mode 100644 index 0000000..63b0671 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약건이 이미 처리된 경우 + */ +@Serializable +@SerialName("PAYMENT_SCHEDULE_ALREADY_PROCESSED") +internal data class PaymentScheduleAlreadyProcessedError( + override val message: String? = null, +) : RevokePaymentSchedulesError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedException.kt new file mode 100644 index 0000000..edb2279 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyProcessedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 예약건이 이미 처리된 경우 + */ +public class PaymentScheduleAlreadyProcessedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedError.kt new file mode 100644 index 0000000..ccc3119 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약건이 이미 취소된 경우 + */ +@Serializable +@SerialName("PAYMENT_SCHEDULE_ALREADY_REVOKED") +internal data class PaymentScheduleAlreadyRevokedError( + override val message: String? = null, +) : RevokePaymentSchedulesError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedException.kt new file mode 100644 index 0000000..9417f6c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleAlreadyRevokedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 예약건이 이미 취소된 경우 + */ +public class PaymentScheduleAlreadyRevokedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleFilterInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleFilterInput.kt new file mode 100644 index 0000000..b32b6d6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleFilterInput.kt @@ -0,0 +1,42 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 다건 조회를 위한 입력 정보 + */ +@Serializable +public data class PaymentScheduleFilterInput( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 빌링키 + */ + public val billingKey: String? = null, + /** + * 결제 예정 시점 조건 범위의 시작 + * + * 값을 입력하지 않으면 파라미터 end의 90일 전으로 설정됩니다. + */ + public val from: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 결제 예정 시점 조건 범위의 끝 + * + * 값을 입력하지 않으면 현재 시점으로 설정됩니다. + */ + public val until: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 결제 예약 건 상태 리스트 + * + * 값을 입력하지 않으면 상태 필터링이 적용되지 않습니다. + */ + public val status: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundError.kt new file mode 100644 index 0000000..27470d5 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약건이 존재하지 않는 경우 + */ +@Serializable +@SerialName("PAYMENT_SCHEDULE_NOT_FOUND") +internal data class PaymentScheduleNotFoundError( + override val message: String? = null, +) : GetPaymentScheduleError, + RevokePaymentSchedulesError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundException.kt new file mode 100644 index 0000000..a30b572 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제 예약건이 존재하지 않는 경우 + */ +public class PaymentScheduleNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortBy.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortBy.kt new file mode 100644 index 0000000..139377d --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortBy.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 정렬 기준 + */ +@Serializable +public enum class PaymentScheduleSortBy { + /** + * 결제 예약 생성 시각 + */ + CREATED_AT, + /** + * 결제 예정 시각 + */ + TIME_TO_PAY, + /** + * 예약 결제 시도(성공 / 실패) 시각 + */ + COMPLETED_AT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortInput.kt new file mode 100644 index 0000000..5702f4e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSortInput.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 다건 조회 시 정렬 조건 + */ +@Serializable +public data class PaymentScheduleSortInput( + /** + * 정렬 기준 필드 + * + * 어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, TIME_TO_PAY가 기본값으로 설정됩니다. + */ + public val `by`: PaymentScheduleSortBy? = null, + /** + * 정렬 순서 + * + * 어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다. + */ + public val order: SortOrder? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleStatus.kt new file mode 100644 index 0000000..a775b63 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleStatus.kt @@ -0,0 +1,34 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 상태 + */ +@Serializable +public enum class PaymentScheduleStatus { + /** + * 예약 완료 + */ + SCHEDULED, + /** + * 결제 시작 + */ + STARTED, + /** + * 결제 성공 + */ + SUCCEEDED, + /** + * 결제 실패 + */ + FAILED, + /** + * 취소된 결제 예약 + */ + REVOKED, + /** + * 결제 승인 대기 + */ + PENDING, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSummary.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSummary.kt new file mode 100644 index 0000000..a575796 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentScheduleSummary.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 + */ +@Serializable +public data class PaymentScheduleSummary( + /** + * 결제 예약 건 아이디 + */ + public val id: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSortBy.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSortBy.kt new file mode 100644 index 0000000..7859f84 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentSortBy.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 건 정렬 기준 + */ +@Serializable +public enum class PaymentSortBy { + /** + * 결제 요청 시점 + */ + REQUESTED_AT, + /** + * 상태 변경 시점 + */ + STATUS_CHANGED_AT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentStatus.kt new file mode 100644 index 0000000..0b66087 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentStatus.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 결제 건 상태 + */ +@Serializable +public enum class PaymentStatus { + READY, + PENDING, + VIRTUAL_ACCOUNT_ISSUED, + PAID, + FAILED, + PARTIAL_CANCELLED, + CANCELLED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearch.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearch.kt new file mode 100644 index 0000000..ca01dc9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearch.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 통합검색 입력 정보 + */ +@Serializable +public data class PaymentTextSearch( + public val `field`: PaymentTextSearchField, + public val `value`: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearchField.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearchField.kt new file mode 100644 index 0000000..576d042 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTextSearchField.kt @@ -0,0 +1,42 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 통합검색 항목 + */ +@Serializable +public enum class PaymentTextSearchField { + ALL, + PAYMENT_ID, + TX_ID, + SCHEDULE_ID, + FAIL_REASON, + CARD_ISSUER, + CARD_ACQUIRER, + CARD_BIN, + CARD_NUMBER, + CARD_APPROVAL_NUMBER, + CARD_RECEIPT_NAME, + CARD_INSTALLMENT, + TRANS_BANK, + VIRTUAL_ACCOUNT_HOLDER_NAME, + VIRTUAL_ACCOUNT_BANK, + VIRTUAL_ACCOUNT_NUMBER, + PG_MERCHANT_ID, + PG_TX_ID, + PG_RECEIPT_ID, + RECEIPT_APPROVAL_NUMBER, + PG_CANCELLATION_ID, + CANCEL_REASON, + ORDER_NAME, + CUSTOMER_NAME, + CUSTOMER_EMAIL, + CUSTOMER_PHONE_NUMBER, + CUSTOMER_ADDRESS, + CUSTOMER_ZIPCODE, + USER_AGENT, + BILLING_KEY, + PROMOTION_ID, + GIFT_CERTIFICATION_APPROVAL_NUMBER, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTimestampType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTimestampType.kt new file mode 100644 index 0000000..2727ff6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentTimestampType.kt @@ -0,0 +1,27 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 조회 시점 기준 + * + * 어떤 시점을 기준으로 조회를 할 것인지 선택합니다. + * CREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다. + * STATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다. + * ready -> 결제 요청 시점 기준 + * paid -> 결제 완료 시점 기준 + * cancelled -> 결제 취소 시점 기준 + * failed -> 결제 실패 시점 기준 + * 값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다. + */ +@Serializable +public enum class PaymentTimestampType { + /** + * 결제 건 생성 시점 + */ + CREATED_AT, + /** + * 상태 변경 시점 + */ + STATUS_CHANGED_AT, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhook.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhook.kt new file mode 100644 index 0000000..6e97fc0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhook.kt @@ -0,0 +1,65 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 성공 웹훅 내역 + */ +@Serializable +public data class PaymentWebhook( + /** + * 웹훅 발송 시 결제 건 상태 + * + * V1 결제 건인 경우, 값이 존재하지 않습니다. + */ + public val paymentStatus: PaymentWebhookPaymentStatus? = null, + /** + * 웹훅 아이디 + */ + public val id: String, + /** + * 웹훅 상태 + */ + public val status: PaymentWebhookStatus? = null, + /** + * 웹훅이 발송된 url + * + * V1 결제 건인 경우, 값이 존재하지 않습니다. + */ + public val url: String, + /** + * 비동기 웹훅 여부 + * + * V1 결제 건인 경우, 값이 존재하지 않습니다. + */ + public val isAsync: Boolean? = null, + /** + * 현재 발송 횟수 + */ + public val currentExecutionCount: Int? = null, + /** + * 최대 발송 횟수 + */ + public val maxExecutionCount: Int? = null, + /** + * 웹훅 실행 맥락 + */ + public val trigger: PaymentWebhookTrigger? = null, + /** + * 웹훅 요청 정보 + */ + public val request: PaymentWebhookRequest? = null, + /** + * 웹훅 응답 정보 + */ + public val response: PaymentWebhookResponse? = null, + /** + * 웹훅 처리 시작 시점 + */ + public val triggeredAt: @Serializable(InstantSerializer::class) Instant? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookPaymentStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookPaymentStatus.kt new file mode 100644 index 0000000..8a9991c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookPaymentStatus.kt @@ -0,0 +1,17 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 웹훅 발송 시 결제 건 상태 + */ +@Serializable +public enum class PaymentWebhookPaymentStatus { + READY, + VIRTUAL_ACCOUNT_ISSUED, + PAID, + FAILED, + PARTIAL_CANCELLED, + CANCELLED, + PAY_PENDING, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookRequest.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookRequest.kt new file mode 100644 index 0000000..8e93791 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookRequest.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 웹훅 요청 정보 + */ +@Serializable +public data class PaymentWebhookRequest( + /** + * 요청 헤더 + */ + public val `header`: String? = null, + /** + * 요청 본문 + */ + public val body: String, + /** + * 요청 시점 + */ + public val requestedAt: @Serializable(InstantSerializer::class) Instant? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookResponse.kt new file mode 100644 index 0000000..35c7a1f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookResponse.kt @@ -0,0 +1,29 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 웹훅 응답 정보 + */ +@Serializable +public data class PaymentWebhookResponse( + /** + * 응답 HTTP 코드 + */ + public val code: String, + /** + * 응답 헤더 + */ + public val `header`: String, + /** + * 응답 본문 + */ + public val body: String, + /** + * 응답 시점 + */ + public val respondedAt: @Serializable(InstantSerializer::class) Instant, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookStatus.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookStatus.kt new file mode 100644 index 0000000..d78d47b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookStatus.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 웹훅 전송 상태 + */ +@Serializable +public enum class PaymentWebhookStatus { + SUCCEEDED, + FAILED_NOT_OK_RESPONSE, + FAILED_UNEXPECTED_ERROR, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookTrigger.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookTrigger.kt new file mode 100644 index 0000000..20c75b5 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWebhookTrigger.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 웹훅 실행 트리거 + * + * 수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다. + */ +@Serializable +public enum class PaymentWebhookTrigger { + MANUAL, + VIRTUAL_ACCOUNT_DEPOSIT, + ASYNC_CANCEL_APPROVED, + ASYNC_CANCEL_FAILED, + ASYNC_PAY_APPROVED, + ASYNC_PAY_FAILED, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWithCursor.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWithCursor.kt new file mode 100644 index 0000000..7ffa6be --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PaymentWithCursor.kt @@ -0,0 +1,19 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 결제 건 및 커서 정보 + */ +@Serializable +public data class PaymentWithCursor( + /** + * 결제 건 정보 + */ + public val payment: Payment, + /** + * 해당 결제 건의 커서 정보 + */ + public val cursor: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PendingPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PendingPaymentSchedule.kt new file mode 100644 index 0000000..2ee6e9f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PendingPaymentSchedule.kt @@ -0,0 +1,103 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 대기 상태 + */ +@Serializable +@SerialName("PENDING") +public data class PendingPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 시작 시점 + */ + public val startedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 완료 시점 + */ + public val completedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgBillingKeyIssueResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgBillingKeyIssueResponse.kt new file mode 100644 index 0000000..1ebe43a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgBillingKeyIssueResponse.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * 채널 별 빌링키 발급 응답 + */ +@Serializable +@JsonClassDiscriminator("type") +public sealed interface PgBillingKeyIssueResponse { + /** + * 채널 + * + * 빌링키 발급을 시도한 채널입니다. + */ + public val channel: SelectedChannel +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgCompany.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgCompany.kt new file mode 100644 index 0000000..420c56e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgCompany.kt @@ -0,0 +1,40 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * PG사 + */ +@Serializable +public enum class PgCompany { + INICIS, + NICE, + KCP, + DANAL, + TOSSPAYMENTS, + MOBILIANS, + KICC, + SMARTRO, + DAOU, + BLUEWALNUT, + PAYPAL, + ALIPAY, + EXIMBAY, + PAYMENTWALL, + SETTLE, + GALAXIA, + NAVERPAY, + KAKAOPAY, + SMILEPAY, + KAKAO, + TOSSPAY, + CHAI, + PAYCO, + PAYPLE, + SYRUP, + KSNET, + WELCOME, + JTNET, + KPN, + HYPHEN, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProvider.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProvider.kt new file mode 100644 index 0000000..38b64da --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProvider.kt @@ -0,0 +1,58 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * PG사 결제 모듈 + */ +@Serializable +public enum class PgProvider { + HTML5_INICIS, + PAYPAL, + PAYPAL_V2, + INICIS, + DANAL, + NICE, + DANAL_TPAY, + JTNET, + UPLUS, + NAVERPAY, + KAKAO, + SETTLE, + KCP, + MOBILIANS, + KAKAOPAY, + NAVERCO, + SYRUP, + KICC, + EXIMBAY, + SMILEPAY, + PAYCO, + KCP_BILLING, + ALIPAY, + PAYPLE, + CHAI, + BLUEWALNUT, + SMARTRO, + SMARTRO_V2, + PAYMENTWALL, + TOSSPAYMENTS, + KCP_QUICK, + DAOU, + GALAXIA, + TOSSPAY, + KCP_DIRECT, + SETTLE_ACC, + SETTLE_FIRM, + INICIS_UNIFIED, + KSNET, + PINPAY, + NICE_V2, + TOSS_BRANDPAY, + WELCOME, + TOSSPAY_V2, + INICIS_V2, + KPN, + KCP_V2, + HYPHEN, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderError.kt new file mode 100644 index 0000000..dc0042f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderError.kt @@ -0,0 +1,30 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * PG사에서 오류를 전달한 경우 + */ +@Serializable +@SerialName("PG_PROVIDER") +internal data class PgProviderError( + override val message: String? = null, + public val pgCode: String, + public val pgMessage: String, +) : SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError, + DeleteBillingKeyError, + IssueBillingKeyError, + CancelPaymentError, + PayWithBillingKeyError, + PayInstantlyError, + IssueCashReceiptError, + CancelCashReceiptError, + CloseVirtualAccountError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderException.kt new file mode 100644 index 0000000..6cef8c7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PgProviderException.kt @@ -0,0 +1,13 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * PG사에서 오류를 전달한 경우 + */ +public class PgProviderException( + message: String? = null, + public val pgCode: String, + public val pgMessage: String, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PortOneVersion.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PortOneVersion.kt new file mode 100644 index 0000000..a07ee39 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PortOneVersion.kt @@ -0,0 +1,12 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 포트원 버전 + */ +@Serializable +public enum class PortOneVersion { + V1, + V2, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentBody.kt new file mode 100644 index 0000000..a5f1293 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentBody.kt @@ -0,0 +1,30 @@ +package io.portone.sdk.server.schemas + +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 결제 정보 사전 등록 입력 정보 + */ +@Serializable +internal data class PreRegisterPaymentBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 결제 총 금액 + */ + public val totalAmount: Long? = null, + /** + * 결제 면세 금액 + */ + public val taxFreeAmount: Long? = null, + /** + * 통화 단위 + */ + public val currency: Currency? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentError.kt new file mode 100644 index 0000000..2f220c7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PreRegisterPaymentError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * PreRegisterPaymentError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface PreRegisterPaymentError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchError.kt new file mode 100644 index 0000000..5828fed --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchError.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우 + */ +@Serializable +@SerialName("PROMOTION_PAY_METHOD_DOES_NOT_MATCH") +internal data class PromotionPayMethodDoesNotMatchError( + override val message: String? = null, +) : PayWithBillingKeyError, + PayInstantlyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchException.kt new file mode 100644 index 0000000..5b20c03 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/PromotionPayMethodDoesNotMatchException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우 + */ +public class PromotionPayMethodDoesNotMatchException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyIdentityVerification.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyIdentityVerification.kt new file mode 100644 index 0000000..18c4c09 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyIdentityVerification.kt @@ -0,0 +1,43 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 준비 상태의 본인인증 내역 + */ +@Serializable +@SerialName("READY") +public data class ReadyIdentityVerification( + /** + * 본인인증 내역 아이디 + */ + override val id: String, + /** + * 사용된 본인인증 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 요청 시 고객 정보 + */ + public val requestedCustomer: IdentityVerificationRequestedCustomer, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 본인인증 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, +) : IdentityVerification diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyPayment.kt new file mode 100644 index 0000000..b058390 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ReadyPayment.kt @@ -0,0 +1,126 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 준비 상태의 결제 건 + */ +@Serializable +@SerialName("READY") +public data class ReadyPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제의 배송 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterEscrowLogisticsBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterEscrowLogisticsBody.kt new file mode 100644 index 0000000..8ccf791 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterEscrowLogisticsBody.kt @@ -0,0 +1,41 @@ +package io.portone.sdk.server.schemas + +import kotlin.Boolean +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 에스크로 배송 정보 등록 입력 정보 + */ +@Serializable +internal data class RegisterEscrowLogisticsBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 에스크로 발송자 정보 + */ + public val sender: PaymentEscrowSenderInput? = null, + /** + * 에스크로 수취인 정보 + */ + public val `receiver`: PaymentEscrowReceiverInput? = null, + /** + * 에스크로 물류 정보 + */ + public val logistics: PaymentLogistics, + /** + * 이메일 알림 전송 여부 + * + * 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다. + */ + public val sendEmail: Boolean? = null, + /** + * 상품 정보 + */ + public val products: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBody.kt new file mode 100644 index 0000000..5427fb3 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBody.kt @@ -0,0 +1,20 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 영수증 내 하위 상점 거래 등록 정보 + */ +@Serializable +internal data class RegisterStoreReceiptBody( + /** + * 하위 상점 거래 목록 + */ + public val items: List, + /** + * 상점 아이디 + */ + public val storeId: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem.kt new file mode 100644 index 0000000..c906ab0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptBodyItem.kt @@ -0,0 +1,40 @@ +package io.portone.sdk.server.schemas + +import kotlin.Long +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 하위 상점 거래 정보 + */ +@Serializable +public data class RegisterStoreReceiptBodyItem( + /** + * 하위 상점 사업자등록번호 + */ + public val storeBusinessRegistrationNumber: String, + /** + * 하위 상점명 + */ + public val storeName: String, + /** + * 결제 총 금액 + */ + public val totalAmount: Long, + /** + * 면세액 + */ + public val taxFreeAmount: Long? = null, + /** + * 부가세액 + */ + public val vatAmount: Long? = null, + /** + * 공급가액 + */ + public val supplyAmount: Long? = null, + /** + * 통화 + */ + public val currency: Currency, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptError.kt new file mode 100644 index 0000000..af4877c --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * RegisterStoreReceiptError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface RegisterStoreReceiptError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptResponse.kt new file mode 100644 index 0000000..792032e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisterStoreReceiptResponse.kt @@ -0,0 +1,15 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 영수증 내 하위 상점 거래 등록 응답 + */ +@Serializable +public data class RegisterStoreReceiptResponse( + /** + * 결제 영수증 URL + */ + public val receiptUrl: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisteredPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisteredPaymentEscrow.kt new file mode 100644 index 0000000..4e20cf9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RegisteredPaymentEscrow.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 배송 정보 등록 완료 + */ +@Serializable +@SerialName("REGISTERED") +public data class RegisteredPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow.kt new file mode 100644 index 0000000..ad909c0 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectConfirmedPaymentEscrow.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 구매 거절 확정 + */ +@Serializable +@SerialName("REJECT_CONFIRMED") +public data class RejectConfirmedPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectedPaymentEscrow.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectedPaymentEscrow.kt new file mode 100644 index 0000000..5403a55 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RejectedPaymentEscrow.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 구매 거절 + */ +@Serializable +@SerialName("REJECTED") +public data class RejectedPaymentEscrow( + /** + * 택배사 + */ + public val company: String, + /** + * 송장번호 + */ + public val invoiceNumber: String, + /** + * 발송 일시 + */ + public val sentAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 배송등록 처리 일자 + */ + public val appliedAt: @Serializable(InstantSerializer::class) Instant? = null, +) : PaymentEscrow diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountError.kt new file mode 100644 index 0000000..4e71971 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우 + */ +@Serializable +@SerialName("REMAINED_AMOUNT_LESS_THAN_PROMOTION_MIN_PAYMENT_AMOUNT") +internal data class RemainedAmountLessThanPromotionMinPaymentAmountError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountException.kt new file mode 100644 index 0000000..59d682e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RemainedAmountLessThanPromotionMinPaymentAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우 + */ +public class RemainedAmountLessThanPromotionMinPaymentAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RequestedPaymentCancellation.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RequestedPaymentCancellation.kt new file mode 100644 index 0000000..7a9b852 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RequestedPaymentCancellation.kt @@ -0,0 +1,52 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 요청 상태 + */ +@Serializable +@SerialName("REQUESTED") +public data class RequestedPaymentCancellation( + /** + * 취소 내역 아이디 + */ + override val id: String, + /** + * PG사 결제 취소 내역 아이디 + */ + override val pgCancellationId: String? = null, + /** + * 취소 총 금액 + */ + override val totalAmount: Long, + /** + * 취소 금액 중 면세 금액 + */ + override val taxFreeAmount: Long, + /** + * 취소 금액 중 부가세액 + */ + override val vatAmount: Long, + /** + * 적립형 포인트의 환불 금액 + */ + override val easyPayDiscountAmount: Long? = null, + /** + * 취소 사유 + */ + override val reason: String, + /** + * 취소 시점 + */ + override val cancelledAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 취소 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentCancellation diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendIdentityVerificationError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendIdentityVerificationError.kt new file mode 100644 index 0000000..33a7da4 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendIdentityVerificationError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ResendIdentityVerificationError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ResendIdentityVerificationError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookBody.kt new file mode 100644 index 0000000..7e1e313 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookBody.kt @@ -0,0 +1,25 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * ResendWebhookBody + * + * 웹훅 재발송을 위한 입력 정보 + */ +@Serializable +internal data class ResendWebhookBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 웹훅 아이디 + * + * 입력하지 않으면 결제 건의 가장 최근 웹훅 아이디가 기본 적용됩니다 + */ + public val webhookId: String? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookError.kt new file mode 100644 index 0000000..a3adc28 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * ResendWebhookError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface ResendWebhookError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookResponse.kt new file mode 100644 index 0000000..fb21106 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ResendWebhookResponse.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 웹훅 재발송 응답 정보 + */ +@Serializable +public data class ResendWebhookResponse( + /** + * 재발송 웹훅 정보 + */ + public val webhook: PaymentWebhook, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesBody.kt new file mode 100644 index 0000000..4406a89 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesBody.kt @@ -0,0 +1,33 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 취소 요청 입력 정보 + * + * billingKey, scheduleIds 중 하나 이상은 필수로 입력합니다. + * billingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다. + * scheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. + * billingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. 그리고 예약한 빌링키가 입력된 빌링키와 + * 일치하는지 검증합니다. + * 위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다. + */ +@Serializable +internal data class RevokePaymentSchedulesBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 빌링키 + */ + public val billingKey: String? = null, + /** + * 결제 예약 건 아이디 목록 + */ + public val scheduleIds: List? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesError.kt new file mode 100644 index 0000000..5df5259 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * RevokePaymentSchedulesError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface RevokePaymentSchedulesError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse.kt new file mode 100644 index 0000000..2e81d49 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokePaymentSchedulesResponse.kt @@ -0,0 +1,22 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.Serializable + +/** + * 결제 예약 건 취소 성공 응답 + */ +@Serializable +public data class RevokePaymentSchedulesResponse( + /** + * 취소 완료된 결제 예약 건 아이디 목록 + */ + public val revokedScheduleIds: List, + /** + * 결제 예약 건 취소 완료 시점 + */ + public val revokedAt: @Serializable(InstantSerializer::class) Instant? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokedPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokedPaymentSchedule.kt new file mode 100644 index 0000000..8041283 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/RevokedPaymentSchedule.kt @@ -0,0 +1,99 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약 취소 상태 + */ +@Serializable +@SerialName("REVOKED") +public data class RevokedPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 취소 시점 + */ + public val revokedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ScheduledPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ScheduledPaymentSchedule.kt new file mode 100644 index 0000000..7dfe934 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/ScheduledPaymentSchedule.kt @@ -0,0 +1,95 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 예약 완료 상태 + */ +@Serializable +@SerialName("SCHEDULED") +public data class ScheduledPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannel.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannel.kt new file mode 100644 index 0000000..843c410 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannel.kt @@ -0,0 +1,35 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * (결제, 본인인증 등에) 선택된 채널 정보 + */ +@Serializable +public data class SelectedChannel( + /** + * 채널 타입 + */ + public val type: SelectedChannelType, + /** + * 채널 아이디 + */ + public val id: String? = null, + /** + * 채널 키 + */ + public val key: String? = null, + /** + * 채널 명 + */ + public val name: String? = null, + /** + * PG사 + */ + public val pgProvider: PgProvider, + /** + * PG사 고객사 식별 아이디 + */ + public val pgMerchantId: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannelType.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannelType.kt new file mode 100644 index 0000000..f2900a5 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SelectedChannelType.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 채널 타입 + */ +@Serializable +public enum class SelectedChannelType { + /** + * 실 연동 채널 + */ + LIVE, + /** + * 테스트 연동 채널 + */ + TEST, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBody.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBody.kt new file mode 100644 index 0000000..c0673f7 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBody.kt @@ -0,0 +1,42 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonObject + +/** + * 본인인증 요청을 위한 입력 정보 + */ +@Serializable +internal data class SendIdentityVerificationBody( + /** + * 상점 아이디 + * + * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다. + */ + public val storeId: String? = null, + /** + * 채널 키 + */ + public val channelKey: String, + /** + * 고객 정보 + */ + public val customer: SendIdentityVerificationBodyCustomer, + /** + * 사용자 지정 데이터 + */ + public val customData: String? = null, + /** + * PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) + */ + public val bypass: JsonObject? = null, + /** + * 통신사 + */ + public val `operator`: IdentityVerificationOperator, + /** + * 본인인증 방식 + */ + public val method: IdentityVerificationMethod, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer.kt new file mode 100644 index 0000000..d590c0f --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationBodyCustomer.kt @@ -0,0 +1,37 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 본인인증 요청을 위한 고객 정보 + */ +@Serializable +public data class SendIdentityVerificationBodyCustomer( + /** + * 식별 아이디 + */ + public val id: String? = null, + /** + * 이름 + */ + public val name: String, + /** + * 전화번호 + * + * 특수 문자(-) 없이 숫자만 입력합니다. + */ + public val phoneNumber: String, + /** + * 주민등록번호 앞 7자리 + * + * SMS 방식의 경우 필수로 입력합니다. + */ + public val identityNumber: String? = null, + /** + * IP 주소 + * + * 고객의 요청 속도 제한에 사용됩니다. + */ + public val ipAddress: String, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationError.kt new file mode 100644 index 0000000..0b74b16 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SendIdentityVerificationError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator + +/** + * SendIdentityVerificationError + */ +@Serializable +@JsonClassDiscriminator("type") +internal sealed interface SendIdentityVerificationError { + public val message: String? +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddress.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddress.kt new file mode 100644 index 0000000..3c2291e --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddress.kt @@ -0,0 +1,40 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 분리 형식 주소 + * + * 한 줄 형식 주소와 분리 형식 주소 모두 존재합니다. + * 한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다. + */ +@Serializable +@SerialName("SEPARATED") +public data class SeparatedAddress( + /** + * 주소 (한 줄) + */ + override val oneLine: String, + /** + * 상세 주소 1 + */ + public val addressLine1: String, + /** + * 상세 주소 2 + */ + public val addressLine2: String, + /** + * 시/군/구 + */ + public val city: String? = null, + /** + * 주/도/시 + */ + public val province: String? = null, + /** + * 국가 + */ + public val country: Country? = null, +) : Address diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddressInput.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddressInput.kt new file mode 100644 index 0000000..e1b4368 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SeparatedAddressInput.kt @@ -0,0 +1,31 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.Serializable + +/** + * 분리 형식 주소 입력 정보 + */ +@Serializable +public data class SeparatedAddressInput( + /** + * 상세 주소 1 + */ + public val addressLine1: String, + /** + * 상세 주소 2 + */ + public val addressLine2: String, + /** + * 시/군/구 + */ + public val city: String? = null, + /** + * 주/도/시 + */ + public val province: String? = null, + /** + * 국가 + */ + public val country: Country? = null, +) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SortOrder.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SortOrder.kt new file mode 100644 index 0000000..82930a5 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SortOrder.kt @@ -0,0 +1,18 @@ +package io.portone.sdk.server.schemas + +import kotlinx.serialization.Serializable + +/** + * 정렬 방식 + */ +@Serializable +public enum class SortOrder { + /** + * 내림차순 + */ + DESC, + /** + * 오름차순 + */ + ASC, +} diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/StartedPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/StartedPaymentSchedule.kt new file mode 100644 index 0000000..d603568 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/StartedPaymentSchedule.kt @@ -0,0 +1,99 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 시작 상태 + */ +@Serializable +@SerialName("STARTED") +public data class StartedPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 시작 시점 + */ + public val startedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentCancellation.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentCancellation.kt new file mode 100644 index 0000000..4ff86d8 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentCancellation.kt @@ -0,0 +1,56 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Long +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 취소 완료 상태 + */ +@Serializable +@SerialName("SUCCEEDED") +public data class SucceededPaymentCancellation( + /** + * 취소 내역 아이디 + */ + override val id: String, + /** + * PG사 결제 취소 내역 아이디 + */ + override val pgCancellationId: String? = null, + /** + * 취소 총 금액 + */ + override val totalAmount: Long, + /** + * 취소 금액 중 면세 금액 + */ + override val taxFreeAmount: Long, + /** + * 취소 금액 중 부가세액 + */ + override val vatAmount: Long, + /** + * 적립형 포인트의 환불 금액 + */ + override val easyPayDiscountAmount: Long? = null, + /** + * 취소 사유 + */ + override val reason: String, + /** + * 취소 시점 + */ + override val cancelledAt: @Serializable(InstantSerializer::class) Instant? = null, + /** + * 취소 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 취소 영수증 URL + */ + public val receiptUrl: String? = null, +) : PaymentCancellation diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentSchedule.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentSchedule.kt new file mode 100644 index 0000000..3a3536b --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SucceededPaymentSchedule.kt @@ -0,0 +1,103 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.Long +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 결제 성공 상태 + */ +@Serializable +@SerialName("SUCCEEDED") +public data class SucceededPaymentSchedule( + /** + * 결제 예약 건 아이디 + */ + override val id: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제 건 아이디 + */ + override val paymentId: String, + /** + * 빌링키 + */ + override val billingKey: String, + /** + * 주문명 + */ + override val orderName: String, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean, + /** + * 에스크로 결제 여부 + */ + override val isEscrow: Boolean, + /** + * 고객 정보 + */ + override val customer: Customer, + /** + * 사용자 지정 데이터 + */ + override val customData: String, + /** + * 결제 총 금액 + */ + override val totalAmount: Long, + /** + * 면세액 + */ + override val taxFreeAmount: Long? = null, + /** + * 부가세 + */ + override val vatAmount: Long? = null, + /** + * 통화 + */ + override val currency: Currency, + /** + * 할부 개월 수 + */ + override val installmentMonth: Int? = null, + /** + * 웹훅 주소 + */ + override val noticeUrls: List? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 결제 예약 등록 시점 + */ + override val createdAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 예정 시점 + */ + override val timeToPay: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 시작 시점 + */ + public val startedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 결제 완료 시점 + */ + public val completedAt: @Serializable(InstantSerializer::class) Instant, +) : PaymentSchedule diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountError.kt new file mode 100644 index 0000000..c00a07a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우 + */ +@Serializable +@SerialName("SUM_OF_PARTS_EXCEEDS_CANCEL_AMOUNT") +internal data class SumOfPartsExceedsCancelAmountError( + override val message: String? = null, +) : CancelPaymentError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountException.kt new file mode 100644 index 0000000..852264a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsCancelAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우 + */ +public class SumOfPartsExceedsCancelAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountError.kt new file mode 100644 index 0000000..2588f5a --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountError.kt @@ -0,0 +1,16 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우 + */ +@Serializable +@SerialName("SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT") +internal data class SumOfPartsExceedsTotalAmountError( + override val message: String? = null, +) : CreatePaymentScheduleError, + PayWithBillingKeyError, + PayInstantlyError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountException.kt new file mode 100644 index 0000000..d74e511 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/SumOfPartsExceedsTotalAmountException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우 + */ +public class SumOfPartsExceedsTotalAmountException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedError.kt new file mode 100644 index 0000000..7885aeb --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedError.kt @@ -0,0 +1,42 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 인증 정보가 올바르지 않은 경우 + */ +@Serializable +@SerialName("UNAUTHORIZED") +internal data class UnauthorizedError( + override val message: String? = null, +) : GetIdentityVerificationError, + SendIdentityVerificationError, + ConfirmIdentityVerificationError, + ResendIdentityVerificationError, + PreRegisterPaymentError, + GetBillingKeyInfoError, + DeleteBillingKeyError, + GetBillingKeyInfosError, + IssueBillingKeyError, + GetCashReceiptError, + GetPaymentError, + GetPaymentsError, + GetAllPaymentsError, + GetPaymentScheduleError, + GetPaymentSchedulesError, + RevokePaymentSchedulesError, + CreatePaymentScheduleError, + CancelPaymentError, + PayWithBillingKeyError, + PayInstantlyError, + IssueCashReceiptError, + CancelCashReceiptError, + CloseVirtualAccountError, + ApplyEscrowLogisticsError, + ModifyEscrowLogisticsError, + ConfirmEscrowError, + ResendWebhookError, + GetKakaopayPaymentOrderError, + RegisterStoreReceiptError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedException.kt new file mode 100644 index 0000000..0d40ee9 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/UnauthorizedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 인증 정보가 올바르지 않은 경우 + */ +public class UnauthorizedException( + message: String? = null, +) : Exception(message) diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VerifiedIdentityVerification.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VerifiedIdentityVerification.kt new file mode 100644 index 0000000..6d79388 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VerifiedIdentityVerification.kt @@ -0,0 +1,55 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 완료된 본인인증 내역 + */ +@Serializable +@SerialName("VERIFIED") +public data class VerifiedIdentityVerification( + /** + * 본인인증 내역 아이디 + */ + override val id: String, + /** + * 사용된 본인인증 채널 + */ + override val channel: SelectedChannel? = null, + /** + * 인증된 고객 정보 + */ + public val verifiedCustomer: IdentityVerificationVerifiedCustomer, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 본인인증 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 본인인증 완료 시점 + */ + public val verifiedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 본인인증 내역 PG사 아이디 + */ + public val pgTxId: String, + /** + * PG사 응답 데이터 + */ + public val pgRawResponse: String, +) : IdentityVerification diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VirtualAccountIssuedPayment.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VirtualAccountIssuedPayment.kt new file mode 100644 index 0000000..d9b8415 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/VirtualAccountIssuedPayment.kt @@ -0,0 +1,130 @@ +package io.portone.sdk.server.schemas + +import io.portone.sdk.server.serializers.InstantSerializer +import java.time.Instant +import kotlin.Boolean +import kotlin.Int +import kotlin.String +import kotlin.collections.List +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 가상계좌 발급 완료 상태 건 + */ +@Serializable +@SerialName("VIRTUAL_ACCOUNT_ISSUED") +public data class VirtualAccountIssuedPayment( + /** + * 결제 건 아이디 + */ + override val id: String, + /** + * 결제 건 포트원 채번 아이디 + * + * V1 결제 건의 경우 imp_uid에 해당합니다. + */ + public val transactionId: String, + /** + * 고객사 아이디 + */ + override val merchantId: String, + /** + * 상점 아이디 + */ + override val storeId: String, + /** + * 결제수단 정보 + */ + override val method: PaymentMethod? = null, + /** + * 결제 채널 + */ + override val channel: SelectedChannel, + /** + * 결제 채널 그룹 정보 + */ + override val channelGroup: ChannelGroupSummary? = null, + /** + * 포트원 버전 + */ + override val version: PortOneVersion, + /** + * 결제 예약 건 아이디 + * + * 결제 예약을 이용한 경우에만 존재 + */ + override val scheduleId: String? = null, + /** + * 결제 시 사용된 빌링키 + * + * 빌링키 결제인 경우에만 존재 + */ + override val billingKey: String? = null, + /** + * 웹훅 발송 내역 + */ + override val webhooks: List? = null, + /** + * 결제 요청 시점 + */ + override val requestedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 업데이트 시점 + */ + override val updatedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 상태 업데이트 시점 + */ + override val statusChangedAt: @Serializable(InstantSerializer::class) Instant, + /** + * 주문명 + */ + override val orderName: String, + /** + * 결제 금액 관련 세부 정보 + */ + override val amount: PaymentAmount, + /** + * 통화 + */ + override val currency: Currency, + /** + * 구매자 정보 + */ + override val customer: Customer, + /** + * 프로모션 아이디 + */ + override val promotionId: String? = null, + /** + * 문화비 지출 여부 + */ + override val isCulturalExpense: Boolean? = null, + /** + * 에스크로 결제 정보 + * + * 에스크로 결제인 경우 존재합니다. + */ + override val escrow: PaymentEscrow? = null, + /** + * 상품 정보 + */ + override val products: List? = null, + /** + * 상품 갯수 + */ + override val productCount: Int? = null, + /** + * 사용자 지정 데이터 + */ + override val customData: String? = null, + /** + * 국가 코드 + */ + override val country: Country? = null, + /** + * PG사 거래 아이디 + */ + public val pgTxId: String? = null, +) : Payment diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundError.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundError.kt new file mode 100644 index 0000000..e1347e6 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundError.kt @@ -0,0 +1,14 @@ +package io.portone.sdk.server.schemas + +import kotlin.String +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * 웹훅 내역이 존재하지 않는 경우 + */ +@Serializable +@SerialName("WEBHOOK_NOT_FOUND") +internal data class WebhookNotFoundError( + override val message: String? = null, +) : ResendWebhookError diff --git a/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundException.kt b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundException.kt new file mode 100644 index 0000000..2a6c221 --- /dev/null +++ b/common/build/generated/sources/schemaCode/kotlin/main/io/portone/sdk/server/schemas/WebhookNotFoundException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server.schemas + +import java.lang.Exception +import kotlin.String + +/** + * 웹훅 내역이 존재하지 않는 경우 + */ +public class WebhookNotFoundException( + message: String? = null, +) : Exception(message) diff --git a/common/patches/0001-refine-return-types.patch b/common/patches/0001-refine-return-types.patch new file mode 100644 index 0000000..c41056e --- /dev/null +++ b/common/patches/0001-refine-return-types.patch @@ -0,0 +1,584 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Park Jaeon +Date: Wed, 4 Sep 2024 20:09:42 +0900 +Subject: [PATCH] refine return types + + +diff --git a/io/portone/sdk/server/PortOneApi.kt b/io/portone/sdk/server/PortOneApi.kt +index 97479a6..6bf961c 100644 +--- a/io/portone/sdk/server/PortOneApi.kt ++++ b/io/portone/sdk/server/PortOneApi.kt +@@ -29,6 +29,7 @@ import io.portone.sdk.server.schemas.BillingKeyNotFoundException + import io.portone.sdk.server.schemas.BillingKeyNotIssuedError + import io.portone.sdk.server.schemas.BillingKeyNotIssuedException + import io.portone.sdk.server.schemas.BillingKeyPaymentInput ++import io.portone.sdk.server.schemas.BillingKeyPaymentSummary + import io.portone.sdk.server.schemas.BillingKeySortInput + import io.portone.sdk.server.schemas.CancelAmountExceedsCancellableAmountError + import io.portone.sdk.server.schemas.CancelAmountExceedsCancellableAmountException +@@ -53,6 +54,7 @@ import io.portone.sdk.server.schemas.CashReceiptNotFoundError + import io.portone.sdk.server.schemas.CashReceiptNotFoundException + import io.portone.sdk.server.schemas.CashReceiptNotIssuedError + import io.portone.sdk.server.schemas.CashReceiptNotIssuedException ++import io.portone.sdk.server.schemas.CashReceiptSummary + import io.portone.sdk.server.schemas.CashReceiptType + import io.portone.sdk.server.schemas.ChannelNotFoundError + import io.portone.sdk.server.schemas.ChannelNotFoundException +@@ -111,6 +113,7 @@ import io.portone.sdk.server.schemas.IdentityVerificationOperator + import io.portone.sdk.server.schemas.InstantBillingKeyPaymentMethodInput + import io.portone.sdk.server.schemas.InstantPaymentInput + import io.portone.sdk.server.schemas.InstantPaymentMethodInput ++import io.portone.sdk.server.schemas.InstantPaymentSummary + import io.portone.sdk.server.schemas.InvalidRequestError + import io.portone.sdk.server.schemas.InvalidRequestException + import io.portone.sdk.server.schemas.IssueBillingKeyBody +@@ -132,6 +135,7 @@ import io.portone.sdk.server.schemas.Payment + import io.portone.sdk.server.schemas.PaymentAlreadyCancelledError + import io.portone.sdk.server.schemas.PaymentAlreadyCancelledException + import io.portone.sdk.server.schemas.PaymentAmountInput ++import io.portone.sdk.server.schemas.PaymentCancellation + import io.portone.sdk.server.schemas.PaymentEscrowReceiverInput + import io.portone.sdk.server.schemas.PaymentEscrowSenderInput + import io.portone.sdk.server.schemas.PaymentFilterInput +@@ -155,6 +159,8 @@ import io.portone.sdk.server.schemas.PaymentScheduleFilterInput + import io.portone.sdk.server.schemas.PaymentScheduleNotFoundError + import io.portone.sdk.server.schemas.PaymentScheduleNotFoundException + import io.portone.sdk.server.schemas.PaymentScheduleSortInput ++import io.portone.sdk.server.schemas.PaymentScheduleSummary ++import io.portone.sdk.server.schemas.PaymentWebhook + import io.portone.sdk.server.schemas.PgProviderError + import io.portone.sdk.server.schemas.PgProviderException + import io.portone.sdk.server.schemas.PreRegisterPaymentBody +@@ -185,6 +191,7 @@ import io.portone.sdk.server.schemas.SumOfPartsExceedsTotalAmountError + import io.portone.sdk.server.schemas.SumOfPartsExceedsTotalAmountException + import io.portone.sdk.server.schemas.UnauthorizedError + import io.portone.sdk.server.schemas.UnauthorizedException ++import io.portone.sdk.server.schemas.VerifiedIdentityVerification + import io.portone.sdk.server.schemas.WebhookNotFoundError + import io.portone.sdk.server.schemas.WebhookNotFoundException + import java.io.Closeable +@@ -221,16 +228,15 @@ public class PortOneApi( + * 주어진 아이디에 대응되는 본인인증 내역을 조회합니다. + * + * @throws ForbiddenError 요청이 거절된 경우 +- * @throws IdentityVerificationNotFoundError 요청된 본인인증 건이 존재하지 않는 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param identityVerificationId 조회할 본인인증 아이디 +- * @return 성공 응답으로 본인 인증 객체를 반환합니다. ++ * @return 성공 응답으로 본인 인증 객체 또는 null을 반환합니다. + */ + @JvmName("getIdentityVerificationSuspend") +- public suspend fun getIdentityVerification(identityVerificationId: String): IdentityVerification { ++ public suspend fun getIdentityVerification(identityVerificationId: String): IdentityVerification? { + val httpResponse = client.get("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId) +@@ -252,8 +258,7 @@ public class PortOneApi( + } + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) +- is IdentityVerificationNotFoundError -> throw IdentityVerificationNotFoundException(message +- = httpBodyDecoded.message) ++ is IdentityVerificationNotFoundError -> return null + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } +@@ -272,7 +277,7 @@ public class PortOneApi( + */ + @JvmName("getIdentityVerification") + public fun getIdentityVerificationFuture(identityVerificationId: String): +- CompletableFuture = GlobalScope.future { ++ CompletableFuture = GlobalScope.future { + getIdentityVerification(identityVerificationId) } + + /** +@@ -377,11 +382,11 @@ public class PortOneApi( + * + * @param identityVerificationId 본인인증 아이디 + * @param otp OTP (One-Time Password) - SMS 방식에서만 사용됩니다. +- * @return 성공 응답 ++ * @return 완료된 본인인증 내역 + */ + @JvmName("confirmIdentityVerificationSuspend") + public suspend fun confirmIdentityVerification(identityVerificationId: String, otp: String? = +- null): ConfirmIdentityVerificationResponse { ++ null): VerifiedIdentityVerification { + val httpResponse = client.post("https://api.portone.io/identity-verifications") { + url { + appendPathSegments(identityVerificationId, "confirm") +@@ -418,7 +423,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).identityVerification + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -430,7 +435,7 @@ public class PortOneApi( + */ + @JvmName("confirmIdentityVerification") + public fun confirmIdentityVerificationFuture(identityVerificationId: String, otp: String? = null): +- CompletableFuture = GlobalScope.future { ++ CompletableFuture = GlobalScope.future { + confirmIdentityVerification(identityVerificationId, otp) } + + /** +@@ -564,17 +569,16 @@ public class PortOneApi( + * + * 주어진 빌링키에 대응되는 빌링키 정보를 조회합니다. + * +- * @throws BillingKeyNotFoundError 빌링키가 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param billingKey 조회할 빌링키 +- * @return 성공 응답으로 빌링키 정보를 반환합니다. ++ * @return 성공 응답으로 빌링키 정보 또는 null을 반환합니다. + */ + @JvmName("getBillingKeyInfoSuspend") +- public suspend fun getBillingKeyInfo(billingKey: String): BillingKeyInfo { ++ public suspend fun getBillingKeyInfo(billingKey: String): BillingKeyInfo? { + val httpResponse = client.get("https://api.portone.io/billing-keys") { + url { + appendPathSegments(billingKey) +@@ -595,8 +599,7 @@ public class PortOneApi( + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { +- is BillingKeyNotFoundError -> throw BillingKeyNotFoundException(message = +- httpBodyDecoded.message) ++ is BillingKeyNotFoundError -> return null + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) +@@ -615,7 +618,7 @@ public class PortOneApi( + * @suppress + */ + @JvmName("getBillingKeyInfo") +- public fun getBillingKeyInfoFuture(billingKey: String): CompletableFuture = ++ public fun getBillingKeyInfoFuture(billingKey: String): CompletableFuture = + GlobalScope.future { getBillingKeyInfo(billingKey) } + + /** +@@ -853,17 +856,16 @@ public class PortOneApi( + * + * 주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다. + * +- * @throws CashReceiptNotFoundError 현금영수증이 존재하지 않는 경우 + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 결제 건 아이디 +- * @return 성공 응답으로 현금 영수증 객체를 반환합니다. ++ * @return 성공 응답으로 현금 영수증 객체 또는 null을 반환합니다. + */ + @JvmName("getCashReceiptByPaymentIdSuspend") +- public suspend fun getCashReceiptByPaymentId(paymentId: String): CashReceipt { ++ public suspend fun getCashReceiptByPaymentId(paymentId: String): CashReceipt? { + val httpResponse = client.get("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "cash-receipt") +@@ -884,8 +886,7 @@ public class PortOneApi( + throw UnrecognizedException("Unrecognized API error: $httpBody") + } + when (httpBodyDecoded) { +- is CashReceiptNotFoundError -> throw CashReceiptNotFoundException(message = +- httpBodyDecoded.message) ++ is CashReceiptNotFoundError -> return null + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) +@@ -904,7 +905,7 @@ public class PortOneApi( + * @suppress + */ + @JvmName("getCashReceiptByPaymentId") +- public fun getCashReceiptByPaymentIdFuture(paymentId: String): CompletableFuture = ++ public fun getCashReceiptByPaymentIdFuture(paymentId: String): CompletableFuture = + GlobalScope.future { getCashReceiptByPaymentId(paymentId) } + + /** +@@ -914,15 +915,14 @@ public class PortOneApi( + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. +- * @throws PaymentNotFoundError 결제 건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentId 조회할 결제 아이디 +- * @return 성공 응답으로 결제 건 객체를 반환합니다. ++ * @return 성공 응답으로 결제 건 객체 또는 null을 반환합니다. + */ + @JvmName("getPaymentSuspend") +- public suspend fun getPayment(paymentId: String): Payment { ++ public suspend fun getPayment(paymentId: String): Payment? { + val httpResponse = client.get("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId) +@@ -945,7 +945,7 @@ public class PortOneApi( + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) +- is PaymentNotFoundError -> throw PaymentNotFoundException(message = httpBodyDecoded.message) ++ is PaymentNotFoundError -> return null + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } +@@ -962,7 +962,7 @@ public class PortOneApi( + * @suppress + */ + @JvmName("getPayment") +- public fun getPaymentFuture(paymentId: String): CompletableFuture = GlobalScope.future { ++ public fun getPaymentFuture(paymentId: String): CompletableFuture = GlobalScope.future { + getPayment(paymentId) } + + /** +@@ -1101,15 +1101,14 @@ public class PortOneApi( + * + * @throws ForbiddenError 요청이 거절된 경우 + * @throws InvalidRequestError 요청된 입력 정보가 유효하지 않은 경우 - 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. +- * @throws PaymentScheduleNotFoundError 결제 예약건이 존재하지 않는 경우 + * @throws UnauthorizedError 인증 정보가 올바르지 않은 경우 + * @throws UnrecognizedException API 응답이 알 수 없는 형식인 경우 + * + * @param paymentScheduleId 조회할 결제 예약 건 아이디 +- * @return 성공 응답으로 결제 예약 건 객체를 반환합니다. ++ * @return 성공 응답으로 결제 예약 건 객체 또는 null을 반환합니다. + */ + @JvmName("getPaymentScheduleSuspend") +- public suspend fun getPaymentSchedule(paymentScheduleId: String): PaymentSchedule { ++ public suspend fun getPaymentSchedule(paymentScheduleId: String): PaymentSchedule? { + val httpResponse = client.get("https://api.portone.io/payment-schedules") { + url { + appendPathSegments(paymentScheduleId) +@@ -1132,8 +1131,7 @@ public class PortOneApi( + when (httpBodyDecoded) { + is ForbiddenError -> throw ForbiddenException(message = httpBodyDecoded.message) + is InvalidRequestError -> throw InvalidRequestException(message = httpBodyDecoded.message) +- is PaymentScheduleNotFoundError -> throw PaymentScheduleNotFoundException(message = +- httpBodyDecoded.message) ++ is PaymentScheduleNotFoundError -> return null + is UnauthorizedError -> throw UnauthorizedException(message = httpBodyDecoded.message) + } + } +@@ -1150,7 +1148,7 @@ public class PortOneApi( + * @suppress + */ + @JvmName("getPaymentSchedule") +- public fun getPaymentScheduleFuture(paymentScheduleId: String): CompletableFuture ++ public fun getPaymentScheduleFuture(paymentScheduleId: String): CompletableFuture + = GlobalScope.future { getPaymentSchedule(paymentScheduleId) } + + /** +@@ -1315,14 +1313,14 @@ public class PortOneApi( + * @param paymentId 결제 건 아이디 + * @param payment 빌링키 결제 입력 정보 + * @param timeToPay 결제 예정 시점 +- * @return 성공 응답 ++ * @return 결제 예약 건 + */ + @JvmName("createPaymentScheduleSuspend") + public suspend fun createPaymentSchedule( + paymentId: String, + payment: BillingKeyPaymentInput, + timeToPay: Instant, +- ): CreatePaymentScheduleResponse { ++ ): PaymentScheduleSummary { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "schedule") +@@ -1361,7 +1359,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).schedule + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -1376,7 +1374,7 @@ public class PortOneApi( + paymentId: String, + payment: BillingKeyPaymentInput, + timeToPay: Instant, +- ): CompletableFuture = GlobalScope.future { ++ ): CompletableFuture = GlobalScope.future { + createPaymentSchedule(paymentId, payment, timeToPay) } + + /** +@@ -1409,7 +1407,7 @@ public class PortOneApi( + * @param currentCancellableAmount 결제 건의 취소 가능 잔액 - 본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 + * 취소가 진행됩니다. 값을 입력하지 않으면 별도의 검증 처리를 수행하지 않습니다. + * @param refundAccount 환불 계좌 - 계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다. +- * @return 성공 응답 ++ * @return 결제 취소 내역 + */ + @JvmName("cancelPaymentSuspend") + public suspend fun cancelPayment( +@@ -1421,7 +1419,7 @@ public class PortOneApi( + requester: CancelRequester? = null, + currentCancellableAmount: Long? = null, + refundAccount: CancelPaymentBodyRefundAccount? = null, +- ): CancelPaymentResponse { ++ ): PaymentCancellation { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "cancel") +@@ -1472,7 +1470,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).cancellation + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -1492,7 +1490,7 @@ public class PortOneApi( + requester: CancelRequester? = null, + currentCancellableAmount: Long? = null, + refundAccount: CancelPaymentBodyRefundAccount? = null, +- ): CompletableFuture = GlobalScope.future { cancelPayment(paymentId, ++ ): CompletableFuture = GlobalScope.future { cancelPayment(paymentId, + amount, taxFreeAmount, vatAmount, reason, requester, currentCancellableAmount, refundAccount) + } + +@@ -1536,7 +1534,7 @@ public class PortOneApi( + * @param shippingAddress 배송지 주소 + * @param promotionId 해당 결제에 적용할 프로모션 아이디 + * @param bypass PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) +- * @return 성공 응답 ++ * @return 결제 건 요약 정보 + */ + @JvmName("payWithBillingKeySuspend") + public suspend fun payWithBillingKey( +@@ -1560,7 +1558,7 @@ public class PortOneApi( + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + bypass: JsonObject? = null, +- ): PayWithBillingKeyResponse { ++ ): BillingKeyPaymentSummary { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "billing-key") +@@ -1608,7 +1606,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).payment + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -1640,7 +1638,7 @@ public class PortOneApi( + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, + bypass: JsonObject? = null, +- ): CompletableFuture = GlobalScope.future { ++ ): CompletableFuture = GlobalScope.future { + payWithBillingKey(paymentId, billingKey, channelKey, orderName, customer, customData, amount, + currency, installmentMonth, useFreeInterestFromMerchant, useCardPoint, cashReceipt, country, + noticeUrls, products, productCount, productType, shippingAddress, promotionId, bypass) } +@@ -1681,7 +1679,7 @@ public class PortOneApi( + * @param productType 상품 유형 + * @param shippingAddress 배송지 주소 + * @param promotionId 해당 결제에 적용할 프로모션 아이디 +- * @return 성공 응답 ++ * @return 결제 건 요약 정보 + */ + @JvmName("payInstantlySuspend") + public suspend fun payInstantly( +@@ -1703,7 +1701,7 @@ public class PortOneApi( + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, +- ): PayInstantlyResponse { ++ ): InstantPaymentSummary { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "instant") +@@ -1746,7 +1744,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).payment + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -1776,7 +1774,7 @@ public class PortOneApi( + productType: PaymentProductType? = null, + shippingAddress: SeparatedAddressInput? = null, + promotionId: String? = null, +- ): CompletableFuture = GlobalScope.future { payInstantly(paymentId, ++ ): CompletableFuture = GlobalScope.future { payInstantly(paymentId, + channelKey, channelGroupId, method, orderName, isCulturalExpense, isEscrow, customer, + customData, amount, currency, country, noticeUrls, products, productCount, productType, + shippingAddress, promotionId) } +@@ -1803,7 +1801,7 @@ public class PortOneApi( + * @param productType 상품 유형 + * @param customer 고객 정보 + * @param paidAt 결제 일자 +- * @return 성공 응답 ++ * @return 현금 영수증 정보 + */ + @JvmName("issueCashReceiptSuspend") + public suspend fun issueCashReceipt( +@@ -1816,7 +1814,7 @@ public class PortOneApi( + productType: PaymentProductType? = null, + customer: IssueCashReceiptCustomerInput, + paidAt: Instant? = null, +- ): IssueCashReceiptResponse { ++ ): CashReceiptSummary { + val httpResponse = client.post("https://api.portone.io/cash-receipts") { + headers { + append(HttpHeaders.Authorization, "PortOne ${this@PortOneApi.apiSecret}") +@@ -1849,7 +1847,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).cashReceipt + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -1870,7 +1868,7 @@ public class PortOneApi( + productType: PaymentProductType? = null, + customer: IssueCashReceiptCustomerInput, + paidAt: Instant? = null, +- ): CompletableFuture = GlobalScope.future { issueCashReceipt(paymentId, ++ ): CompletableFuture = GlobalScope.future { issueCashReceipt(paymentId, + channelKey, type, orderName, currency, amount, productType, customer, paidAt) } + + /** +@@ -2256,11 +2254,11 @@ public class PortOneApi( + * + * @param paymentId 결제 건 아이디 + * @param webhookId 웹훅 아이디 - 입력하지 않으면 결제 건의 가장 최근 웹훅 아이디가 기본 적용됩니다 +- * @return 성공 응답 ++ * @return 재발송 웹훅 정보 + */ + @JvmName("resendWebhookSuspend") + public suspend fun resendWebhook(paymentId: String, webhookId: String? = null): +- ResendWebhookResponse { ++ PaymentWebhook { + val httpResponse = client.post("https://api.portone.io/payments") { + url { + appendPathSegments(paymentId, "resend-webhook") +@@ -2291,7 +2289,7 @@ public class PortOneApi( + } + val httpBody = httpResponse.body() + return try { +- this.json.decodeFromString(httpBody) ++ this.json.decodeFromString(httpBody).webhook + } + catch (_: Exception) { + throw UnrecognizedException("Unrecognized API response: $httpBody") +@@ -2303,7 +2301,7 @@ public class PortOneApi( + */ + @JvmName("resendWebhook") + public fun resendWebhookFuture(paymentId: String, webhookId: String? = null): +- CompletableFuture = GlobalScope.future { resendWebhook(paymentId, ++ CompletableFuture = GlobalScope.future { resendWebhook(paymentId, + webhookId) } + + /** +diff --git a/io/portone/sdk/server/schemas/CancelPaymentResponse.kt b/io/portone/sdk/server/schemas/CancelPaymentResponse.kt +index a7798d7..174a401 100644 +--- a/io/portone/sdk/server/schemas/CancelPaymentResponse.kt ++++ b/io/portone/sdk/server/schemas/CancelPaymentResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 결제 취소 성공 응답 + */ + @Serializable +-public data class CancelPaymentResponse( ++internal data class CancelPaymentResponse( + /** + * 결체 취소 내역 + */ +diff --git a/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt b/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt +index e4ecdf2..6140b8e 100644 +--- a/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt ++++ b/io/portone/sdk/server/schemas/ConfirmIdentityVerificationResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 본인인증 확인 성공 응답 + */ + @Serializable +-public data class ConfirmIdentityVerificationResponse( ++internal data class ConfirmIdentityVerificationResponse( + /** + * 완료된 본인인증 내역 + */ +diff --git a/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt b/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt +index ac7d318..fdd9851 100644 +--- a/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt ++++ b/io/portone/sdk/server/schemas/CreatePaymentScheduleResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 결제 예약 성공 응답 + */ + @Serializable +-public data class CreatePaymentScheduleResponse( ++internal data class CreatePaymentScheduleResponse( + /** + * 결제 예약 건 + */ +diff --git a/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt b/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt +index 664767c..11a2eb9 100644 +--- a/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt ++++ b/io/portone/sdk/server/schemas/IssueCashReceiptResponse.kt +@@ -6,6 +6,6 @@ import kotlinx.serialization.Serializable + * 현금 영수증 발급 성공 응답 + */ + @Serializable +-public data class IssueCashReceiptResponse( ++internal data class IssueCashReceiptResponse( + public val cashReceipt: CashReceiptSummary, + ) +diff --git a/io/portone/sdk/server/schemas/PayInstantlyResponse.kt b/io/portone/sdk/server/schemas/PayInstantlyResponse.kt +index d4a4959..91d2c69 100644 +--- a/io/portone/sdk/server/schemas/PayInstantlyResponse.kt ++++ b/io/portone/sdk/server/schemas/PayInstantlyResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 수기 결제 성공 응답 + */ + @Serializable +-public data class PayInstantlyResponse( ++internal data class PayInstantlyResponse( + /** + * 결제 건 요약 정보 + */ +diff --git a/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt b/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt +index de50e62..afb69a9 100644 +--- a/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt ++++ b/io/portone/sdk/server/schemas/PayWithBillingKeyResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 빌링키 결제 성공 응답 + */ + @Serializable +-public data class PayWithBillingKeyResponse( ++internal data class PayWithBillingKeyResponse( + /** + * 결제 건 요약 정보 + */ +diff --git a/io/portone/sdk/server/schemas/ResendWebhookResponse.kt b/io/portone/sdk/server/schemas/ResendWebhookResponse.kt +index fb21106..942990a 100644 +--- a/io/portone/sdk/server/schemas/ResendWebhookResponse.kt ++++ b/io/portone/sdk/server/schemas/ResendWebhookResponse.kt +@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable + * 웹훅 재발송 응답 정보 + */ + @Serializable +-public data class ResendWebhookResponse( ++internal data class ResendWebhookResponse( + /** + * 재발송 웹훅 정보 + */ +-- +2.45.2.windows.1 + diff --git a/common/src/main/java/module-info.java b/common/src/main/java/module-info.java index 8e5abd0..1aca27f 100644 --- a/common/src/main/java/module-info.java +++ b/common/src/main/java/module-info.java @@ -1,5 +1,11 @@ module io.portone.sdk.server { - requires kotlin.stdlib; + requires kotlinx.coroutines.core; + requires kotlinx.serialization.json; + requires io.ktor.client.core; + requires io.ktor.client.okhttp; + requires io.ktor.http; + exports io.portone.sdk.server; + exports io.portone.sdk.server.schemas; exports io.portone.sdk.server.webhook; } diff --git a/common/src/main/kotlin/io/portone/sdk/server/UnrecognizedException.kt b/common/src/main/kotlin/io/portone/sdk/server/UnrecognizedException.kt new file mode 100644 index 0000000..907b859 --- /dev/null +++ b/common/src/main/kotlin/io/portone/sdk/server/UnrecognizedException.kt @@ -0,0 +1,11 @@ +package io.portone.sdk.server + +/** + * API 응답이 알 수 없는 형식임을 나타냅니다. + */ +public class UnrecognizedException internal constructor(message: String, cause: Throwable? = null) : Exception(message, cause) { + public companion object { + @Suppress("ConstPropertyName") + private const val serialVersionUID: Long = 788381635814915564L + } +} diff --git a/common/src/main/kotlin/io/portone/sdk/server/serializers/InstantSerializer.kt b/common/src/main/kotlin/io/portone/sdk/server/serializers/InstantSerializer.kt new file mode 100644 index 0000000..792a340 --- /dev/null +++ b/common/src/main/kotlin/io/portone/sdk/server/serializers/InstantSerializer.kt @@ -0,0 +1,21 @@ +package io.portone.sdk.server.serializers + +import kotlinx.serialization.KSerializer +import kotlinx.serialization.descriptors.PrimitiveKind +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder +import java.time.Instant + +public object InstantSerializer : KSerializer { + override val descriptor: SerialDescriptor = + PrimitiveSerialDescriptor("io.portone.sdk.server.serializers.InstantSerializer", PrimitiveKind.STRING) + + override fun serialize( + encoder: Encoder, + value: Instant, + ): Unit = encoder.encodeString(value.toString()) + + override fun deserialize(decoder: Decoder): Instant = Instant.parse(decoder.decodeString()) +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 739b1bf..066ca82 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,9 +2,13 @@ kotlin-test = "2.0.0" [libraries] +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.7.2" } +ktor-client-core = { module = "io.ktor:ktor-client-core", version = "2.3.12"} +ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version = "2.3.12" } [plugins] kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "2.0.20" } +kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "2.0.20" } ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "12.1.1" } binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version = "0.16.3" } dokka = { id = "org.jetbrains.dokka", version = "1.9.20" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e644113..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..9355b41 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf1..f5feea6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30d..9d21a21 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/openapi/portone-v2-openapi.json b/openapi/portone-v2-openapi.json new file mode 100644 index 0000000..8a490cb --- /dev/null +++ b/openapi/portone-v2-openapi.json @@ -0,0 +1,46354 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "PortOne API", + "version": "1.16.0" + }, + "servers": [ + { + "url": "https://api.portone.io", + "description": "운영환경 서버" + } + ], + "paths": { + "/login/api-key": {}, + "/login/api-secret": { + "post": { + "summary": "API secret 를 사용한 토큰 발급", + "description": "API secret 를 사용한 토큰 발급\n\nAPI secret 를 통해 API 인증에 사용할 토큰을 가져옵니다.", + "operationId": "loginViaApiSecret", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginViaApiSecretBody" + }, + "example": { + "apiSecret": "your-api-secret" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 토큰을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginViaApiSecretResponse" + }, + "example": { + "accessToken": "new-access-token", + "refreshToken": "new-refresh-token" + } + } + }, + "x-portone-description": "성공 응답으로 토큰을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginViaApiSecretError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginViaApiSecretError" + } + } + } + } + }, + "x-portone-category": "auth", + "x-portone-title": "API secret 를 사용한 토큰 발급", + "x-portone-description": "API secret 를 통해 API 인증에 사용할 토큰을 가져옵니다.", + "x-portone-error": { + "$ref": "#/components/schemas/LoginViaApiSecretError" + } + } + }, + "/token/refresh": { + "post": { + "summary": "토큰 갱신", + "description": "토큰 갱신\n\n리프레시 토큰을 사용해 유효기간이 연장된 새로운 토큰을 재발급합니다.", + "operationId": "refreshToken", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenBody" + }, + "example": { + "refreshToken": "previous-refresh-token" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenResponse" + }, + "example": { + "accessToken": "new-access-token", + "refreshToken": "new-refresh-token" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenError" + } + } + } + } + }, + "x-portone-category": "auth", + "x-portone-title": "토큰 갱신", + "x-portone-description": "리프레시 토큰을 사용해 유효기간이 연장된 새로운 토큰을 재발급합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RefreshTokenError" + } + } + }, + "/merchant": {}, + "/platform": { + "get": { + "description": "고객사의 플랫폼 정보를 조회합니다.\n요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.", + "operationId": "getPlatform", + "responses": { + "200": { + "description": "성공 응답으로 플랫폼 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Platform" + } + } + }, + "x-portone-description": "성공 응답으로 플랫폼 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "고객사의 플랫폼 정보를 조회합니다.\n요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformError" + } + }, + "patch": { + "description": "고객사의 플랫폼 관련 정보를 업데이트합니다.\n요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.", + "operationId": "updatePlatform", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `PlatformInvalidSettlementFormulaError`\n* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "고객사의 플랫폼 관련 정보를 업데이트합니다.\n요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdatePlatformError" + } + } + }, + "/platform/discount-share-policy-filter-options": { + "get": { + "description": "할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다.", + "operationId": "getPlatformDiscountSharePolicyFilterOptions", + "parameters": [ + { + "name": "isArchived", + "in": "query", + "description": "보관 조회 여부\n\ntrue 이면 보관된 할인 분담의 필터 옵션을 조회하고, false 이면 보관되지 않은 할인 분담의 필터 옵션을 조회합니다. 기본값은 false 입니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "보관 조회 여부", + "x-portone-description": "true 이면 보관된 할인 분담의 필터 옵션을 조회하고, false 이면 보관되지 않은 할인 분담의 필터 옵션을 조회합니다. 기본값은 false 입니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 조회된 할인 분담 정책 필터 옵션을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyFilterOptions" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 할인 분담 정책 필터 옵션을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError" + }, + "x-portone-unstable": true + } + }, + "/platform/discount-share-policies": { + "get": { + "summary": "할인 분담 정책 다건 조회", + "description": "할인 분담 정책 다건 조회\n\n여러 할인 분담을 조회합니다.", + "operationId": "getPlatformDiscountSharePolicies", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 할인 분담 정책 리스트와 페이지 정보가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 할인 분담 정책 리스트와 페이지 정보가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 다건 조회", + "x-portone-description": "여러 할인 분담을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePoliciesError" + } + }, + "post": { + "summary": "할인 분담 정책 생성", + "description": "할인 분담 정책 생성\n\n새로운 할인 분담을 생성합니다.", + "operationId": "createPlatformDiscountSharePolicy", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 생성된 할인 분담 정책이 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 생성된 할인 분담 정책이 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformDiscountSharePolicyAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 생성", + "x-portone-description": "새로운 할인 분담을 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformDiscountSharePolicyError" + } + } + }, + "/platform/discount-share-policies/{id}": { + "get": { + "summary": "할인 분담 정책 조회", + "description": "할인 분담 정책 조회\n\n주어진 아이디에 대응되는 할인 분담을 조회합니다.", + "operationId": "getPlatformDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "조회할 할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 할인 분담 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 할인 분담 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy" + } + } + }, + "x-portone-description": "성공 응답으로 할인 분담 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 조회", + "x-portone-description": "주어진 아이디에 대응되는 할인 분담을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyError" + } + }, + "patch": { + "summary": "할인 분담 정책 수정", + "description": "할인 분담 정책 수정\n\n주어진 아이디에 대응되는 할인 분담을 업데이트합니다.", + "operationId": "updatePlatformDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "업데이트할 할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "업데이트할 할인 분담 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 업데이트된 할인 분담 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 업데이트된 할인 분담 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformArchivedDiscountSharePolicyError`: 보관된 할인 분담 정책을 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 수정", + "x-portone-description": "주어진 아이디에 대응되는 할인 분담을 업데이트합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyError" + } + } + }, + "/platform/discount-share-policies/{id}/schedule": { + "get": { + "description": "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다.", + "operationId": "getPlatformDiscountSharePolicySchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 예약된 할인 분담 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 할인 분담 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformDiscountSharePolicyScheduleError" + }, + "x-portone-unstable": true + }, + "put": { + "description": "주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다.", + "operationId": "rescheduleDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformDiscountSharePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 할인 분담 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 할인 분담 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RescheduleDiscountSharePolicyError" + }, + "x-portone-unstable": true + }, + "post": { + "description": "주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다.", + "operationId": "scheduleDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformDiscountSharePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 할인 분담 정책이 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 할인 분담 정책이 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformDiscountSharePolicyScheduleAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ScheduleDiscountSharePolicyError" + }, + "x-portone-unstable": true + }, + "delete": { + "description": "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다.", + "operationId": "cancelPlatformDiscountSharePolicySchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError" + }, + "x-portone-unstable": true + } + }, + "/platform/discount-share-policies/{id}/archive": { + "post": { + "summary": "할인 분담 정책 보관", + "description": "할인 분담 정책 보관\n\n주어진 아이디에 대응되는 할인 분담을 보관합니다.", + "operationId": "archivePlatformDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 보관된 할인 분담 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 보관된 할인 분담 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformCannotArchiveScheduledDiscountSharePolicyError`: 예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 보관", + "x-portone-description": "주어진 아이디에 대응되는 할인 분담을 보관합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ArchivePlatformDiscountSharePolicyError" + } + } + }, + "/platform/discount-share-policies/{id}/recover": { + "post": { + "summary": "할인 분담 정책 복원", + "description": "할인 분담 정책 복원\n\n주어진 아이디에 대응되는 할인 분담을 복원합니다.", + "operationId": "recoverPlatformDiscountSharePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "할인 분담 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "할인 분담 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 복원된 할인 분담 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 복원된 할인 분담 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformDiscountSharePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "할인 분담 정책 복원", + "x-portone-description": "주어진 아이디에 대응되는 할인 분담을 복원합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RecoverPlatformDiscountSharePolicyError" + } + } + }, + "/platform/additional-fee-policies": { + "get": { + "summary": "추가 수수료 정책 다건 조회", + "description": "추가 수수료 정책 다건 조회\n\n여러 추가 수수료 정책을 조회합니다.", + "operationId": "getPlatformAdditionalFeePolicies", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 추가 수수료 정책 리스트와 페이지 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 추가 수수료 정책 리스트와 페이지 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 다건 조회", + "x-portone-description": "여러 추가 수수료 정책을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePoliciesError" + } + }, + "post": { + "summary": "추가 수수료 정책 생성", + "description": "추가 수수료 정책 생성\n\n새로운 추가 수수료 정책을 생성합니다.", + "operationId": "createPlatformAdditionalFeePolicy", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformAdditionalFeePolicyAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 생성", + "x-portone-description": "새로운 추가 수수료 정책을 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformAdditionalFeePolicyError" + } + } + }, + "/platform/additional-fee-policies/{id}": { + "get": { + "summary": "추가 수수료 정책 조회", + "description": "추가 수수료 정책 조회\n\n주어진 아이디에 대응되는 추가 수수료 정책을 조회합니다.", + "operationId": "getPlatformAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "조회할 추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 추가 수수료 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 추가 수수료 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy" + } + } + }, + "x-portone-description": "성공 응답으로 추가 수수료 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 조회", + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyError" + } + }, + "patch": { + "summary": "추가 수수료 정책 수정", + "description": "추가 수수료 정책 수정\n\n주어진 아이디에 대응되는 추가 수수료 정책을 업데이트합니다.", + "operationId": "updatePlatformAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "업데이트할 추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "업데이트할 추가 수수료 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 업데이트된 추가 수수료 정책이 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 업데이트된 추가 수수료 정책이 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformArchivedAdditionalFeePolicyError`: 보관된 추가 수수료 정책을 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 수정", + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책을 업데이트합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyError" + } + } + }, + "/platform/additional-fee-policies/{id}/schedule": { + "get": { + "description": "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다.", + "operationId": "getPlatformAdditionalFeePolicySchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 예약된 추가 수수료 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 추가 수수료 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError" + }, + "x-portone-unstable": true + }, + "put": { + "operationId": "rescheduleAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformAdditionalFeePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 추가 수수료 정책이 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 추가 수수료 정책이 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-error": { + "$ref": "#/components/schemas/RescheduleAdditionalFeePolicyError" + }, + "x-portone-unstable": true + }, + "post": { + "description": "주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다.", + "operationId": "scheduleAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformAdditionalFeePolicyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 추가 수수료 정책을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 추가 수수료 정책을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformAdditionalFeePolicyScheduleAlreadyExistsError`\n* `PlatformArchivedAdditionalFeePolicyError`: 보관된 추가 수수료 정책을 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ScheduleAdditionalFeePolicyError" + }, + "x-portone-unstable": true + }, + "delete": { + "description": "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다.", + "operationId": "cancelPlatformAdditionalFeePolicySchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError" + }, + "x-portone-unstable": true + } + }, + "/platform/additional-fee-policies/{id}/archive": { + "post": { + "summary": "추가 수수료 정책 보관", + "description": "추가 수수료 정책 보관\n\n주어진 아이디에 대응되는 추가 수수료 정책을 보관합니다.", + "operationId": "archivePlatformAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 보관된 추가 수수료 정책 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 보관된 추가 수수료 정책 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + } + }, + "409": { + "description": "* `PlatformCannotArchiveScheduledAdditionalFeePolicyError`: 예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 보관", + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책을 보관합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ArchivePlatformAdditionalFeePolicyError" + } + } + }, + "/platform/additional-fee-policies/{id}/recover": { + "post": { + "summary": "추가 수수료 정책 복원", + "description": "추가 수수료 정책 복원\n\n주어진 아이디에 대응되는 추가 수수료 정책을 복원합니다.", + "operationId": "recoverPlatformAdditionalFeePolicy", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "추가 수수료 정책 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "추가 수수료 정책 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 복원된 추가 수수료 정책 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyResponse" + } + } + }, + "x-portone-description": "성공 응답으로 복원된 추가 수수료 정책 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyError" + } + } + } + }, + "404": { + "description": "* `PlatformAdditionalFeePolicyNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "추가 수수료 정책 복원", + "x-portone-description": "주어진 아이디에 대응되는 추가 수수료 정책을 복원합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RecoverPlatformAdditionalFeePolicyError" + } + } + }, + "/platform/partner-filter-options": { + "get": { + "description": "파트너 다건 조회 시 필요한 필터 옵션을 조회합니다.", + "operationId": "getPlatformPartnerFilterOptions", + "parameters": [ + { + "name": "isArchived", + "in": "query", + "description": "보관 조회 여부\n\ntrue 이면 보관된 파트너의 필터 옵션을 조회하고, false 이면 보관되지 않은 파트너의 필터 옵션을 조회합니다. 기본값은 false 입니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "보관 조회 여부", + "x-portone-description": "true 이면 보관된 파트너의 필터 옵션을 조회하고, false 이면 보관되지 않은 파트너의 필터 옵션을 조회합니다. 기본값은 false 입니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 조회된 파트너 필터 옵션을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformPartnerFilterOptions" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 파트너 필터 옵션을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerFilterOptionsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerFilterOptionsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerFilterOptionsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "파트너 다건 조회 시 필요한 필터 옵션을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPartnerFilterOptionsError" + }, + "x-portone-unstable": true + } + }, + "/platform/partners": { + "get": { + "summary": "파트너 다건 조회", + "description": "파트너 다건 조회\n\n여러 파트너를 조회합니다.", + "operationId": "getPlatformPartners", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 파트너 리스트와 페이지 정보가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 파트너 리스트와 페이지 정보가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnersError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 다건 조회", + "x-portone-description": "여러 파트너를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPartnersError" + } + }, + "post": { + "summary": "파트너 생성", + "description": "파트너 생성\n\n새로운 파트너를 생성합니다.", + "operationId": "createPlatformPartner", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 생성된 파트너 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 생성된 파트너 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우\n* `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`\n* `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는 경우\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + } + }, + "409": { + "description": "* `PlatformPartnerIdAlreadyExistsError`\n* `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미 사용한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 생성", + "x-portone-description": "새로운 파트너를 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformPartnerError" + } + } + }, + "/platform/partner-dashboard": {}, + "/platform/partners/{id}": { + "get": { + "summary": "파트너 조회", + "description": "파트너 조회\n\n파트너 객체를 조회합니다.", + "operationId": "getPlatformPartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "조회하고 싶은 파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회하고 싶은 파트너 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 파트너 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformPartner" + } + } + }, + "x-portone-description": "성공 응답으로 파트너 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 조회", + "x-portone-description": "파트너 객체를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPartnerError" + } + }, + "patch": { + "summary": "파트너 수정", + "description": "파트너 수정\n\n주어진 아이디에 대응되는 파트너 정보를 업데이트합니다.", + "operationId": "updatePlatformPartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "업데이트할 파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "업데이트할 파트너 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 업데이트된 파트너 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 업데이트된 파트너 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우\n* `PlatformInsufficientDataToChangePartnerTypeError`: 파트너 타입 수정에 필요한 데이터가 부족한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`\n* `PlatformContractNotFoundError`\n* `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는 경우\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + } + }, + "409": { + "description": "* `PlatformArchivedPartnerError`: 보관된 파트너를 업데이트하려고 하는 경우\n* `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미 사용한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 수정", + "x-portone-description": "주어진 아이디에 대응되는 파트너 정보를 업데이트합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdatePlatformPartnerError" + } + } + }, + "/platform/partners/batch": { + "post": { + "summary": "파트너 다건 생성", + "description": "파트너 다건 생성\n\n새로운 파트너를 다건 생성합니다.", + "operationId": "createPlatformPartners", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformPartnerIdsDuplicatedError`\n* `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + } + }, + "404": { + "description": "* `PlatformContractsNotFoundError`\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + } + }, + "409": { + "description": "* `PlatformPartnerIdsAlreadyExistError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 다건 생성", + "x-portone-description": "새로운 파트너를 다건 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformPartnersError" + } + } + }, + "/platform/partners/{id}/approve": {}, + "/platform/partners/{id}/reject": {}, + "/platform/partners/{id}/schedule": { + "get": { + "description": "주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다.", + "operationId": "getPlatformPartnerSchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 예약된 파트너 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformPartner" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 파트너 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPartnerScheduleError" + }, + "x-portone-unstable": true + }, + "put": { + "description": "주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다.", + "operationId": "reschedulePartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformPartnerBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 파트너 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 파트너 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`\n* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ReschedulePartnerError" + }, + "x-portone-unstable": true + }, + "post": { + "description": "주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다.", + "operationId": "schedulePartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnerBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 파트너 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 파트너 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우\n* `PlatformInsufficientDataToChangePartnerTypeError`: 파트너 타입 수정에 필요한 데이터가 부족한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`\n* `PlatformContractNotFoundError`\n* `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는 경우\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePartnerError" + } + } + } + }, + "409": { + "description": "* `PlatformPartnerScheduleAlreadyExistsError`\n* `PlatformArchivedPartnerError`: 보관된 파트너를 업데이트하려고 하는 경우\n* `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미 사용한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/SchedulePartnerError" + }, + "x-portone-unstable": true + }, + "delete": { + "description": "주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다.", + "operationId": "cancelPlatformPartnerSchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelPlatformPartnerScheduleError" + }, + "x-portone-unstable": true + } + }, + "/platform/partners/schedule": { + "post": { + "operationId": "schedulePlatformPartners", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + } + } + } + }, + "409": { + "description": "* `PlatformPartnerSchedulesAlreadyExistError`\n* `PlatformArchivedPartnersCannotBeScheduledError`: 보관된 파트너들을 예약 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-error": { + "$ref": "#/components/schemas/SchedulePlatformPartnersError" + }, + "x-portone-unstable": true + } + }, + "/platform/partners/{id}/archive": { + "post": { + "summary": "파트너 복원", + "description": "파트너 복원\n\n주어진 아이디에 대응되는 파트너를 보관합니다.", + "operationId": "archivePlatformPartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 보관된 파트너 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 보관된 파트너 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + } + }, + "409": { + "description": "* `PlatformCannotArchiveScheduledPartnerError`: 예약된 업데이트가 있는 파트너를 보관하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 복원", + "x-portone-description": "주어진 아이디에 대응되는 파트너를 보관합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ArchivePlatformPartnerError" + } + } + }, + "/platform/partners/{id}/recover": { + "post": { + "summary": "파트너 복원", + "description": "파트너 복원\n\n주어진 아이디에 대응되는 파트너를 복원합니다.", + "operationId": "recoverPlatformPartner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "파트너 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "파트너 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 복원된 파트너 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformPartnerResponse" + } + } + }, + "x-portone-description": "성공 응답으로 복원된 파트너 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformPartnerError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformPartnerError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformPartnerError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformPartnerError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partner", + "x-portone-title": "파트너 복원", + "x-portone-description": "주어진 아이디에 대응되는 파트너를 복원합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RecoverPlatformPartnerError" + } + } + }, + "/platform/contracts": { + "get": { + "summary": "계약 다건 조회", + "description": "계약 다건 조회\n\n여러 계약을 조회합니다.", + "operationId": "getPlatformContracts", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 계약 리스트와 페이지 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 계약 리스트와 페이지 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 다건 조회", + "x-portone-description": "여러 계약을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformContractsError" + } + }, + "post": { + "summary": "계약 생성", + "description": "계약 생성\n\n새로운 계약을 생성합니다.", + "operationId": "createPlatformContract", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 생성된 계약 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 생성된 계약 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractError" + } + } + } + }, + "409": { + "description": "* `PlatformContractAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 생성", + "x-portone-description": "새로운 계약을 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformContractError" + } + } + }, + "/platform/contracts/{id}": { + "get": { + "summary": "계약 조회", + "description": "계약 조회\n\n주어진 아이디에 대응되는 계약을 조회합니다.", + "operationId": "getPlatformContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "조회할 계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 계약 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformContract" + } + } + }, + "x-portone-description": "성공 응답으로 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 조회", + "x-portone-description": "주어진 아이디에 대응되는 계약을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformContractError" + } + }, + "patch": { + "summary": "계약 수정", + "description": "계약 수정\n\n주어진 아이디에 대응되는 계약을 업데이트합니다.", + "operationId": "updatePlatformContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "업데이트할 계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "업데이트할 계약 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 업데이트된 계약 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 업데이트된 계약 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + } + }, + "409": { + "description": "* `PlatformArchivedContractError`: 보관된 계약을 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 수정", + "x-portone-description": "주어진 아이디에 대응되는 계약을 업데이트합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdatePlatformContractError" + } + } + }, + "/platform/contracts/{id}/schedule": { + "get": { + "description": "주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다.", + "operationId": "getPlatformContractSchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 예약된 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformContract" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformContractScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformContractScheduleError" + }, + "x-portone-unstable": true + }, + "put": { + "description": "주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다.", + "operationId": "rescheduleContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformContractBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReschedulePlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RescheduleContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RescheduleContractError" + }, + "x-portone-unstable": true + }, + "post": { + "description": "주어진 아이디에 대응되는 계약에 업데이트를 예약합니다.", + "operationId": "scheduleContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformContractBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 예약된 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchedulePlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 예약된 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleContractError" + } + } + } + }, + "409": { + "description": "* `PlatformContractScheduleAlreadyExistsError`\n* `PlatformArchivedContractError`: 보관된 계약을 업데이트하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduleContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 계약에 업데이트를 예약합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ScheduleContractError" + }, + "x-portone-unstable": true + }, + "delete": { + "description": "주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다.", + "operationId": "cancelPlatformContractSchedule", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-description": "주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelPlatformContractScheduleError" + }, + "x-portone-unstable": true + } + }, + "/platform/contracts/{id}/archive": { + "post": { + "summary": "계약 보관", + "description": "계약 보관\n\n주어진 아이디에 대응되는 계약을 보관합니다.", + "operationId": "archivePlatformContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 보관된 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 보관된 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + } + }, + "409": { + "description": "* `PlatformCannotArchiveScheduledContractError`: 예약된 업데이트가 있는 계약을 보관하려고 하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 보관", + "x-portone-description": "주어진 아이디에 대응되는 계약을 보관합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ArchivePlatformContractError" + } + } + }, + "/platform/contracts/{id}/recover": { + "post": { + "summary": "계약 복원", + "description": "계약 복원\n\n주어진 아이디에 대응되는 계약을 복원합니다.", + "operationId": "recoverPlatformContract", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "계약 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "계약 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 복원된 계약 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformContractResponse" + } + } + }, + "x-portone-description": "성공 응답으로 복원된 계약 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformContractError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformContractError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformContractError" + } + } + } + }, + "404": { + "description": "* `PlatformContractNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecoverPlatformContractError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.policy", + "x-portone-title": "계약 복원", + "x-portone-description": "주어진 아이디에 대응되는 계약을 복원합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RecoverPlatformContractError" + } + } + }, + "/platform/transfers/{id}": { + "get": { + "summary": "정산건 조회", + "description": "정산건 조회\n\n정산건을 조회합니다.", + "operationId": "getPlatformTransfer", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "조회하고 싶은 정산건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회하고 싶은 정산건 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 정산건 객체가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformTransfer" + } + } + }, + "x-portone-description": "성공 응답으로 정산건 객체가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferError" + } + } + } + }, + "404": { + "description": "* `PlatformTransferNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "정산건 조회", + "x-portone-description": "정산건을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformTransferError" + } + }, + "delete": { + "summary": "정산건 삭제", + "description": "정산건 삭제\n\nscheduled, in_process 상태의 정산건만 삭제가능합니다.", + "operationId": "deletePlatformTransfer", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "정산건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "정산건 아이디" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletePlatformTransferResponse" + } + } + } + }, + "400": { + "description": "* `PlatformCancelOrderTransfersExistsError`\n* `PlatformTransferNonDeletableStatusError`\n* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletePlatformTransferError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletePlatformTransferError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletePlatformTransferError" + } + } + } + }, + "404": { + "description": "* `PlatformTransferNotFoundError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletePlatformTransferError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "정산건 삭제", + "x-portone-description": "scheduled, in_process 상태의 정산건만 삭제가능합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/DeletePlatformTransferError" + } + } + }, + "/platform/transfer-summaries": { + "get": { + "summary": "정산건 다건 조회", + "description": "정산건 다건 조회\n\n성공 응답으로 조회된 정산건 요약 리스트와 페이지 정보가 반환됩니다.", + "operationId": "getPlatformTransferSummaries", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "정산건 다건 조회", + "x-portone-description": "성공 응답으로 조회된 정산건 요약 리스트와 페이지 정보가 반환됩니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformTransferSummariesError" + } + } + }, + "/platform/transfers/order": { + "post": { + "summary": "주문 정산건 생성", + "description": "주문 정산건 생성\n\n성공 응답으로 생성된 주문 정산건 객체가 반환됩니다.", + "operationId": "createPlatformOrderTransfer", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateOrderTransferResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformProductIdDuplicatedError`\n* `PlatformSettlementPaymentAmountExceededPortOnePaymentError`: 정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우\n* `PlatformSettlementTaxFreeAmountExceededPortOnePaymentError`: 정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우\n* `PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError`: 정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우\n* `PlatformSettlementAmountExceededError`: 정산 가능한 금액을 초과한 경우\n* `PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError`\n* `PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError`\n* `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`\n* `PlatformContractNotFoundError`\n* `PlatformAdditionalFeePoliciesNotFoundError`\n* `PlatformDiscountSharePoliciesNotFoundError`\n* `PlatformPaymentNotFoundError`\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우\n* `PlatformSettlementParameterNotFoundError`: 정산 파라미터가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + } + }, + "409": { + "description": "* `PlatformTransferAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "주문 정산건 생성", + "x-portone-description": "성공 응답으로 생성된 주문 정산건 객체가 반환됩니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferError" + } + } + }, + "/platform/transfers/order-cancel": { + "post": { + "summary": "주문 취소 정산건 생성", + "description": "주문 취소 정산건 생성\n\n성공 응답으로 생성된 주문 취소 정산건 객체가 반환됩니다.", + "operationId": "createPlatformOrderCancelTransfer", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateOrderCancelTransferResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformOrderDetailMismatchedError`\n* `PlatformDiscountSharePolicyIdDuplicatedError`\n* `PlatformCancellableAmountExceededError`: 취소 가능한 금액이 초과한 경우\n* `PlatformCancellableDiscountAmountExceededError`\n* `PlatformCancellableDiscountTaxFreeAmountExceededError`\n* `PlatformProductIdDuplicatedError`\n* `PlatformCancellableProductQuantityExceededError`\n* `PlatformOrderTransferAlreadyCancelledError`\n* `PlatformSettlementAmountExceededError`: 정산 가능한 금액을 초과한 경우\n* `PlatformCancellationAndPaymentTypeMismatchedError`\n* `PlatformSettlementCancelAmountExceededPortOneCancelError`: 정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우\n* `PlatformCannotSpecifyTransferError`: 정산 건 식별에 실패한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + } + }, + "404": { + "description": "* `PlatformTransferNotFoundError`\n* `PlatformCancellationNotFoundError`\n* `PlatformPaymentNotFoundError`\n* `PlatformProductIdNotFoundError`\n* `PlatformTransferDiscountSharePolicyNotFoundError`\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + } + }, + "409": { + "description": "* `PlatformTransferAlreadyExistsError`", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "주문 취소 정산건 생성", + "x-portone-description": "성공 응답으로 생성된 주문 취소 정산건 객체가 반환됩니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferError" + } + } + }, + "/platform/transfers/manual": { + "post": { + "summary": "수기 정산건 생성", + "description": "수기 정산건 생성\n\n성공 응답으로 생성된 수기 정산건 객체가 반환됩니다.", + "operationId": "createPlatformManualTransfer", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformManualTransferBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateManualTransferResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformManualTransferError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformManualTransferError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformManualTransferError" + } + } + } + }, + "404": { + "description": "* `PlatformPartnerNotFoundError`\n* `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePlatformManualTransferError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "수기 정산건 생성", + "x-portone-description": "성공 응답으로 생성된 수기 정산건 객체가 반환됩니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePlatformManualTransferError" + } + } + }, + "/platform/transfer-dashboard": {}, + "/platform/transfer-filter-options": {}, + "/platform/transfer-summaries/sheet-file": { + "get": { + "summary": "정산 상세 내역 다운로드", + "description": "정산 상세 내역 다운로드\n\n정산 상세 내역을 csv 파일로 다운로드 합니다.", + "operationId": "downloadPlatformTransferSheet", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadPlatformTransferSheetBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": true + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadPlatformTransferSheetBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "", + "content": { + "text/csv": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadPlatformTransferSheetError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadPlatformTransferSheetError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.transfer", + "x-portone-title": "정산 상세 내역 다운로드", + "x-portone-description": "정산 상세 내역을 csv 파일로 다운로드 합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/DownloadPlatformTransferSheetError" + } + } + }, + "/platform/payable-settlement-dates": {}, + "/platform/partner-settlements": { + "get": { + "summary": "정산 내역 다건 조회", + "description": "정산 내역 다건 조회\n\n여러 정산 내역을 조회합니다.", + "operationId": "getPlatformPartnerSettlements", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 정산 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 정산 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.partnerSettlement", + "x-portone-title": "정산 내역 다건 조회", + "x-portone-description": "여러 정산 내역을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPartnerSettlementsError" + } + } + }, + "/platform/partner-settlements/settlement-dates": {}, + "/platform/partner-settlements/currencies": {}, + "/platform/partner-settlements/dashboard": {}, + "/platform/partner-settlements/sheet-file": {}, + "/platform/payouts/{id}": {}, + "/platform/payouts": { + "get": { + "summary": "지급 내역 다건 조회", + "description": "지급 내역 다건 조회\n\n여러 지급 내역을 조회합니다.", + "operationId": "getPlatformPayouts", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformPayoutsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.payout", + "x-portone-title": "지급 내역 다건 조회", + "x-portone-description": "여러 지급 내역을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformPayoutsError" + } + } + }, + "/platform/bulk-payouts/{id}": {}, + "/platform/bulk-payouts": { + "get": { + "summary": "일괄 지급 내역 다건 조회", + "description": "일괄 지급 내역 다건 조회\n\n성공 응답으로 조회된 일괄 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.", + "operationId": "getPlatformBulkPayouts", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.bulkPayout", + "x-portone-title": "일괄 지급 내역 다건 조회", + "x-portone-description": "성공 응답으로 조회된 일괄 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformBulkPayoutsError" + } + } + }, + "/platform/bulk-payouts/{bulkPayoutId}/partner-settlements": {}, + "/platform/bank-accounts/{bank}/{accountNumber}/holder": { + "get": { + "summary": "예금주 조회", + "description": "예금주 조회\n\n계좌의 예금주를 조회합니다.", + "operationId": "getPlatformAccountHolder", + "parameters": [ + { + "name": "bank", + "in": "path", + "description": "은행", + "required": true, + "schema": { + "$ref": "#/components/schemas/Bank" + }, + "x-portone-title": "은행" + }, + { + "name": "accountNumber", + "in": "path", + "description": "'-'를 제외한 계좌 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "'-'를 제외한 계좌 번호" + }, + { + "name": "birthdate", + "in": "query", + "description": "생년월일\n\n실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "생년월일", + "x-portone-description": "실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다." + }, + { + "name": "businessRegistrationNumber", + "in": "query", + "description": "사업자등록번호\n\n실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호", + "x-portone-description": "실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 조회된 예금주 명이 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlatformAccountHolder" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 예금주 명이 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PlatformNotSupportedBankError`: 지원하지 않는 은행인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountHolderError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountHolderError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountHolderError" + } + } + } + }, + "503": { + "description": "* `PlatformExternalApiTemporarilyFailedError`: 외부 api의 일시적인 오류\n* `PlatformExternalApiFailedError`: 외부 api 오류", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountHolderError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.account", + "x-portone-title": "예금주 조회", + "x-portone-description": "계좌의 예금주를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformAccountHolderError" + } + } + }, + "/platform/holidays/{year}": {}, + "/identity-verifications/{identityVerificationId}": { + "get": { + "summary": "본인인증 단건 조회", + "description": "본인인증 단건 조회\n\n주어진 아이디에 대응되는 본인인증 내역을 조회합니다.", + "operationId": "getIdentityVerification", + "parameters": [ + { + "name": "identityVerificationId", + "in": "path", + "description": "조회할 본인인증 아이디", + "required": true, + "schema": { + "type": "string" + }, + "example": "your-identity-verification-id", + "x-portone-title": "조회할 본인인증 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "example": "your-store-id", + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 본인 인증 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IdentityVerification" + }, + "example": { + "status": "VERIFIED", + "id": "your-identity-verification-id", + "channel": { + "type": "LIVE", + "id": "your-channel-id", + "key": "your-channel-key", + "name": "your-channel-name", + "pgProvider": "DANAL", + "pgMerchantId": "your-pg-merchant-id" + }, + "verifiedCustomer": { + "id": "your-customer-id", + "name": "customer-name", + "operator": "KT_MVNO", + "phoneNumber": "01012345678", + "birthDate": "1992-10-16", + "gender": "FEMALE", + "isForeigner": false, + "ci": "ci-value", + "di": "di-value" + }, + "customData": "your-custom-data-string", + "requestedAt": "2023-10-15T23:59:59Z", + "updatedAt": "2023-10-16T00:00Z", + "statusChangedAt": "2023-10-16T00:00Z", + "verifiedAt": "2023-10-16T00:00Z", + "pgTxId": "transaction-id-from-pg-provider", + "pgRawResponse": "{ .. raw response from pg provider .. }" + } + } + }, + "x-portone-description": "성공 응답으로 본인 인증 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetIdentityVerificationError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetIdentityVerificationError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetIdentityVerificationError" + } + } + } + }, + "404": { + "description": "* `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetIdentityVerificationError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "identityVerification", + "x-portone-title": "본인인증 단건 조회", + "x-portone-description": "주어진 아이디에 대응되는 본인인증 내역을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetIdentityVerificationError" + } + } + }, + "/identity-verifications/{identityVerificationId}/send": { + "post": { + "summary": "본인인증 요청 전송", + "description": "본인인증 요청 전송\n\nSMS 또는 APP 방식을 이용하여 본인인증 요청을 전송합니다.", + "operationId": "sendIdentityVerification", + "parameters": [ + { + "name": "identityVerificationId", + "in": "path", + "description": "본인인증 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "본인인증 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + }, + "404": { + "description": "* `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우\n* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + }, + "409": { + "description": "* `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인 경우\n* `IdentityVerificationAlreadySentError`: 본인인증 건이 이미 API로 요청된 상태인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "identityVerification", + "x-portone-title": "본인인증 요청 전송", + "x-portone-description": "SMS 또는 APP 방식을 이용하여 본인인증 요청을 전송합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/SendIdentityVerificationError" + } + } + }, + "/identity-verifications/{identityVerificationId}/confirm": { + "post": { + "summary": "본인인증 확인", + "description": "본인인증 확인\n\n요청된 본인인증에 대한 확인을 진행합니다.", + "operationId": "confirmIdentityVerification", + "parameters": [ + { + "name": "identityVerificationId", + "in": "path", + "description": "본인인증 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "본인인증 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + }, + "404": { + "description": "* `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우\n* `IdentityVerificationNotSentError`: 본인인증 건이 API로 요청된 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + }, + "409": { + "description": "* `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "identityVerification", + "x-portone-title": "본인인증 확인", + "x-portone-description": "요청된 본인인증에 대한 확인을 진행합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ConfirmIdentityVerificationError" + } + } + }, + "/identity-verifications/{identityVerificationId}/resend": { + "post": { + "summary": "SMS 본인인증 요청 재전송", + "description": "SMS 본인인증 요청 재전송\n\nSMS 본인인증 요청을 재전송합니다.", + "operationId": "resendIdentityVerification", + "parameters": [ + { + "name": "identityVerificationId", + "in": "path", + "description": "본인인증 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "본인인증 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + }, + "404": { + "description": "* `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우\n* `IdentityVerificationNotSentError`: 본인인증 건이 API로 요청된 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + }, + "409": { + "description": "* `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "identityVerification", + "x-portone-title": "SMS 본인인증 요청 재전송", + "x-portone-description": "SMS 본인인증 요청을 재전송합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ResendIdentityVerificationError" + } + } + }, + "/payments/{paymentId}/pre-register": { + "post": { + "summary": "결제 정보 사전 등록", + "description": "결제 정보 사전 등록\n\n결제 정보를 사전 등록합니다.", + "operationId": "preRegisterPayment", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentError" + } + } + } + }, + "409": { + "description": "* `AlreadyPaidError`: 결제가 이미 완료된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreRegisterPaymentError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "결제 정보 사전 등록", + "x-portone-description": "결제 정보를 사전 등록합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/PreRegisterPaymentError" + } + } + }, + "/billing-keys/{billingKey}": { + "get": { + "summary": "빌링키 단건 조회", + "description": "빌링키 단건 조회\n\n주어진 빌링키에 대응되는 빌링키 정보를 조회합니다.", + "operationId": "getBillingKeyInfo", + "parameters": [ + { + "name": "billingKey", + "in": "path", + "description": "조회할 빌링키", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 빌링키" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 빌링키 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BillingKeyInfo" + } + } + }, + "x-portone-description": "성공 응답으로 빌링키 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfoError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfoError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfoError" + } + } + } + }, + "404": { + "description": "* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfoError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "billingKey", + "x-portone-title": "빌링키 단건 조회", + "x-portone-description": "주어진 빌링키에 대응되는 빌링키 정보를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetBillingKeyInfoError" + } + }, + "delete": { + "summary": "빌링키 삭제", + "description": "빌링키 삭제\n\n빌링키를 삭제합니다.", + "operationId": "deleteBillingKey", + "parameters": [ + { + "name": "billingKey", + "in": "path", + "description": "삭제할 빌링키", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "삭제할 빌링키" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + }, + "404": { + "description": "* `BillingKeyNotIssuedError`\n* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + }, + "409": { + "description": "* `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우\n* `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우\n* `ChannelSpecificError`: 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "billingKey", + "x-portone-title": "빌링키 삭제", + "x-portone-description": "빌링키를 삭제합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/DeleteBillingKeyError" + } + } + }, + "/billing-keys": { + "get": { + "summary": "빌링키 다건 조회", + "description": "빌링키 다건 조회\n\n주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다.", + "operationId": "getBillingKeyInfos", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 빌링키 리스트와 페이지 정보가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosResponse" + } + } + }, + "x-portone-title": "성공 응답으로 조회된 빌링키 리스트와 페이지 정보가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetBillingKeyInfosError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "billingKey", + "x-portone-title": "빌링키 다건 조회", + "x-portone-description": "주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetBillingKeyInfosError" + } + }, + "post": { + "summary": "빌링키 발급", + "description": "빌링키 발급\n\n빌링키 발급을 요청합니다.", + "operationId": "issueBillingKey", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + } + }, + "404": { + "description": "* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우\n* `ChannelSpecificError`: 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "billingKey", + "x-portone-title": "빌링키 발급", + "x-portone-description": "빌링키 발급을 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/IssueBillingKeyError" + } + } + }, + "/payments/{paymentId}/cash-receipt": { + "get": { + "summary": "현금 영수증 단건 조회", + "description": "현금 영수증 단건 조회\n\n주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다.", + "operationId": "getCashReceiptByPaymentId", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 현금 영수증 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CashReceipt" + } + } + }, + "x-portone-description": "성공 응답으로 현금 영수증 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetCashReceiptError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetCashReceiptError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetCashReceiptError" + } + } + } + }, + "404": { + "description": "* `CashReceiptNotFoundError`: 현금영수증이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetCashReceiptError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "cashReceipt", + "x-portone-title": "현금 영수증 단건 조회", + "x-portone-description": "주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetCashReceiptError" + } + } + }, + "/payments/{paymentId}": { + "get": { + "summary": "결제 단건 조회", + "description": "결제 단건 조회\n\n주어진 아이디에 대응되는 결제 건을 조회합니다.", + "operationId": "getPayment", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "조회할 결제 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 결제 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 결제 건 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Payment" + } + } + }, + "x-portone-title": "성공 응답으로 결제 건 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "결제 단건 조회", + "x-portone-description": "주어진 아이디에 대응되는 결제 건을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentError" + } + } + }, + "/payments": { + "get": { + "summary": "결제 다건 조회(페이지 기반)", + "description": "결제 다건 조회(페이지 기반)\n\n주어진 조건에 맞는 결제 건들을 페이지 기반으로 조회합니다.", + "operationId": "getPayments", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 결제 건 리스트와 페이지 정보가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsResponse" + } + } + }, + "x-portone-title": "성공 응답으로 조회된 결제 건 리스트와 페이지 정보가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "결제 다건 조회(페이지 기반)", + "x-portone-description": "주어진 조건에 맞는 결제 건들을 페이지 기반으로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentsError" + } + } + }, + "/payments-by-cursor": { + "get": { + "summary": "결제 대용량 다건 조회(커서 기반)", + "description": "결제 대용량 다건 조회(커서 기반)\n\n기간 내 모든 결제 건을 커서 기반으로 조회합니다. 결제 건의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제 건이 조회됩니다.", + "operationId": "getAllPaymentsByCursor", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsByCursorBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsByCursorBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 결제 건 리스트와 커서 정보가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsByCursorResponse" + } + } + }, + "x-portone-title": "성공 응답으로 조회된 결제 건 리스트와 커서 정보가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAllPaymentsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "결제 대용량 다건 조회(커서 기반)", + "x-portone-description": "기간 내 모든 결제 건을 커서 기반으로 조회합니다. 결제 건의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제 건이 조회됩니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAllPaymentsError" + }, + "x-portone-unstable": true + } + }, + "/payment-schedules/{paymentScheduleId}": { + "get": { + "summary": "결제 예약 단건 조회", + "description": "결제 예약 단건 조회\n\n주어진 아이디에 대응되는 결제 예약 건을 조회합니다.", + "operationId": "getPaymentSchedule", + "parameters": [ + { + "name": "paymentScheduleId", + "in": "path", + "description": "조회할 결제 예약 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 결제 예약 건 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 결제 예약 건 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentSchedule" + } + } + }, + "x-portone-title": "성공 응답으로 결제 예약 건 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentScheduleError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentScheduleError" + } + } + } + }, + "404": { + "description": "* `PaymentScheduleNotFoundError`: 결제 예약건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "paymentSchedule", + "x-portone-title": "결제 예약 단건 조회", + "x-portone-description": "주어진 아이디에 대응되는 결제 예약 건을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentScheduleError" + } + } + }, + "/payment-schedules": { + "get": { + "summary": "결제 예약 다건 조회", + "description": "결제 예약 다건 조회\n\n주어진 조건에 맞는 결제 예약 건들을 조회합니다.\n`filter.from`, `filter.until` 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록 되어 있으니, 미래 예약 상태의 건을 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다.", + "operationId": "getPaymentSchedules", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentSchedulesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "paymentSchedule", + "x-portone-title": "결제 예약 다건 조회", + "x-portone-description": "주어진 조건에 맞는 결제 예약 건들을 조회합니다.\n`filter.from`, `filter.until` 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록 되어 있으니, 미래 예약 상태의 건을 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentSchedulesError" + } + }, + "delete": { + "summary": "결제 예약 취소", + "description": "결제 예약 취소\n\n결제 예약 건을 취소합니다.", + "operationId": "revokePaymentSchedules", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": true + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + } + }, + "404": { + "description": "* `PaymentScheduleNotFoundError`: 결제 예약건이 존재하지 않는 경우\n* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + } + }, + "409": { + "description": "* `PaymentScheduleAlreadyProcessedError`: 결제 예약건이 이미 처리된 경우\n* `PaymentScheduleAlreadyRevokedError`: 결제 예약건이 이미 취소된 경우\n* `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "paymentSchedule", + "x-portone-title": "결제 예약 취소", + "x-portone-description": "결제 예약 건을 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RevokePaymentSchedulesError" + } + } + }, + "/payments/{paymentId}/schedule": { + "post": { + "summary": "결제 예약", + "description": "결제 예약\n\n결제를 예약합니다.", + "operationId": "createPaymentSchedule", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + } + }, + "404": { + "description": "* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + } + }, + "409": { + "description": "* `AlreadyPaidOrWaitingError`: 결제가 이미 완료되었거나 대기중인 경우\n* `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우\n* `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우\n* `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "paymentSchedule", + "x-portone-title": "결제 예약", + "x-portone-description": "결제를 예약합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreatePaymentScheduleError" + } + } + }, + "/payments/{paymentId}/cancel": { + "post": { + "summary": "결제 취소", + "description": "결제 취소\n\n결제 취소를 요청합니다.", + "operationId": "cancelPayment", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + }, + "409": { + "description": "* `PaymentNotPaidError`: 결제가 완료되지 않은 경우\n* `PaymentAlreadyCancelledError`: 결제가 이미 취소된 경우\n* `CancellableAmountConsistencyBrokenError`: 취소 가능 잔액 검증에 실패한 경우\n* `CancelAmountExceedsCancellableAmountError`: 결제 취소 금액이 취소 가능 금액을 초과한 경우\n* `SumOfPartsExceedsCancelAmountError`: 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우\n* `CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError`: 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우\n* `CancelTaxAmountExceedsCancellableTaxAmountError`: 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우\n* `RemainedAmountLessThanPromotionMinPaymentAmountError`: 부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "결제 취소", + "x-portone-description": "결제 취소를 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelPaymentError" + } + } + }, + "/payments/{paymentId}/billing-key": { + "post": { + "summary": "빌링키 결제", + "description": "빌링키 결제\n\n빌링키로 결제를 진행합니다.", + "operationId": "payWithBillingKey", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BillingKeyPaymentInput" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PromotionPayMethodDoesNotMatchError`: 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우\n* `DiscountAmountExceedsTotalAmountError`: 프로모션 할인 금액이 결제 시도 금액 이상인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + }, + "404": { + "description": "* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우\n* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + }, + "409": { + "description": "* `AlreadyPaidError`: 결제가 이미 완료된 경우\n* `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우\n* `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "빌링키 결제", + "x-portone-description": "빌링키로 결제를 진행합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/PayWithBillingKeyError" + } + } + }, + "/payments/{paymentId}/instant": { + "post": { + "summary": "수기 결제", + "description": "수기 결제\n\n수기 결제를 진행합니다.", + "operationId": "payInstantly", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstantPaymentInput" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `PromotionPayMethodDoesNotMatchError`: 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우\n* `DiscountAmountExceedsTotalAmountError`: 프로모션 할인 금액이 결제 시도 금액 이상인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + }, + "404": { + "description": "* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + }, + "409": { + "description": "* `AlreadyPaidError`: 결제가 이미 완료된 경우\n* `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "수기 결제", + "x-portone-description": "수기 결제를 진행합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/PayInstantlyError" + } + } + }, + "/cash-receipts": { + "post": { + "summary": "현금 영수증 수동 발급", + "description": "현금 영수증 수동 발급\n\n현금 영수증 발급을 요청합니다.", + "operationId": "issueCashReceipt", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + }, + "404": { + "description": "* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + }, + "409": { + "description": "* `CashReceiptAlreadyIssuedError`: 현금영수증이 이미 발급된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "cashReceipt", + "x-portone-title": "현금 영수증 수동 발급", + "x-portone-description": "현금 영수증 발급을 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/IssueCashReceiptError" + } + } + }, + "/payments/{paymentId}/cash-receipt/cancel": { + "post": { + "summary": "현금 영수증 취소", + "description": "현금 영수증 취소\n\n현금 영수증 취소를 요청합니다.", + "operationId": "cancelCashReceiptByPaymentId", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + } + }, + "404": { + "description": "* `CashReceiptNotIssuedError`: 현금영수증이 발급되지 않은 경우\n* `CashReceiptNotFoundError`: 현금영수증이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "cashReceipt", + "x-portone-title": "현금 영수증 취소", + "x-portone-description": "현금 영수증 취소를 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelCashReceiptError" + } + } + }, + "/payments/{paymentId}/virtual-account/close": { + "post": { + "summary": "가상계좌 말소", + "description": "가상계좌 말소\n\n발급된 가상계좌를 말소합니다.", + "operationId": "closeVirtualAccount", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + }, + { + "name": "storeId", + "in": "query", + "description": "상점 아이디\n\n접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다.", + "required": false, + "schema": { + "type": "string" + }, + "x-portone-title": "상점 아이디", + "x-portone-description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + }, + "409": { + "description": "* `PaymentNotWaitingForDepositError`: 결제 건이 입금 대기 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "가상계좌 말소", + "x-portone-description": "발급된 가상계좌를 말소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CloseVirtualAccountError" + } + } + }, + "/payments/{paymentId}/escrow/logistics": { + "post": { + "summary": "에스크로 배송 정보 등록", + "description": "에스크로 배송 정보 등록\n\n에스크로 배송 정보를 등록합니다.", + "operationId": "applyEscrowLogistics", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterEscrowLogisticsBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + }, + "409": { + "description": "* `PaymentNotPaidError`: 결제가 완료되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "에스크로 배송 정보 등록", + "x-portone-description": "에스크로 배송 정보를 등록합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ApplyEscrowLogisticsError" + } + }, + "patch": { + "summary": "에스크로 배송 정보 수정", + "description": "에스크로 배송 정보 수정\n\n에스크로 배송 정보를 수정합니다.", + "operationId": "modifyEscrowLogistics", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + }, + "409": { + "description": "* `PaymentNotPaidError`: 결제가 완료되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "에스크로 배송 정보 수정", + "x-portone-description": "에스크로 배송 정보를 수정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ModifyEscrowLogisticsError" + } + } + }, + "/payments/{paymentId}/escrow/complete": { + "post": { + "summary": "에스크로 구매 확정", + "description": "에스크로 구매 확정\n\n에스크로 결제를 구매 확정 처리합니다", + "operationId": "confirmEscrow", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + }, + "409": { + "description": "* `PaymentNotPaidError`: 결제가 완료되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "에스크로 구매 확정", + "x-portone-description": "에스크로 결제를 구매 확정 처리합니다", + "x-portone-error": { + "$ref": "#/components/schemas/ConfirmEscrowError" + } + } + }, + "/payments/{paymentId}/resend-webhook": { + "post": { + "summary": "웹훅 재발송", + "description": "웹훅 재발송\n\n웹훅을 재발송합니다.", + "operationId": "resendWebhook", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우\n* `WebhookNotFoundError`: 웹훅 내역이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendWebhookError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "웹훅 재발송", + "x-portone-description": "웹훅을 재발송합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/ResendWebhookError" + } + } + }, + "/channels": {}, + "/analytics/charts/payment": { + "get": { + "description": "고객사의 결제 현황을 조회합니다.", + "operationId": "getAnalyticsPaymentChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-insight": { + "get": { + "description": "고객사의 결제 현황 인사이트를 조회합니다.", + "operationId": "getAnalyticsPaymentChartInsight", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartInsightBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제 현황 인사이트를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentChartInsight" + } + } + }, + "x-portone-description": "성공 응답으로 결제 현황 인사이트를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartInsightError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartInsightError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartInsightError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제 현황 인사이트를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsPaymentChartInsightError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/average-amount": { + "get": { + "description": "고객사의 평균 거래액 현황을 조회합니다.", + "operationId": "getAverageAmountChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsAverageAmountChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 평균 거래액 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsAverageAmountChart" + } + } + }, + "x-portone-description": "성공 응답으로 평균 거래액 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAverageAmountChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAverageAmountChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAverageAmountChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 평균 거래액 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAverageAmountChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-method": { + "get": { + "description": "고객사의 결제수단 현황을 조회합니다.", + "operationId": "getPaymentMethodChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentMethodChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제수단 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentMethodChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제수단 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제수단 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentMethodChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-method-trend": { + "get": { + "description": "고객사의 결제수단 트렌드를 조회합니다.", + "operationId": "getPaymentMethodTrendChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentMethodTrendChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제수단 트렌드를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentMethodTrendChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제수단 트렌드를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodTrendChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodTrendChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentMethodTrendChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제수단 트렌드를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentMethodTrendChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/card": { + "get": { + "description": "고객사의 카드결제 현황을 조회합니다.", + "operationId": "getAnalyticsCardChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 카드결제 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsCardChart" + } + } + }, + "x-portone-description": "성공 응답으로 카드결제 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 카드결제 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsCardChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/card-company": { + "get": { + "description": "고객사의 카드사별 결제 현황을 조회합니다.", + "operationId": "getAnalyticsCardCompanyChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardCompanyChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 카드사별 결제 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsCardCompanyChart" + } + } + }, + "x-portone-description": "성공 응답으로 카드사별 결제 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardCompanyChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardCompanyChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCardCompanyChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 카드사별 결제 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsCardCompanyChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/easy-pay": { + "get": { + "description": "고객사의 간편결제 현황을 조회합니다.", + "operationId": "getAnalyticsEasyPayChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 간편결제 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsEasyPayChart" + } + } + }, + "x-portone-description": "성공 응답으로 간편결제 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 간편결제 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/easy-pay-provider": { + "get": { + "description": "고객사의 간편결제사별 결제 현황을 조회합니다.", + "operationId": "getAnalyticsEasyPayProviderChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayProviderChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 간편결제사별 결제 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsEasyPayProviderChart" + } + } + }, + "x-portone-description": "성공 응답으로 간편결제사별 결제 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayProviderChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayProviderChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayProviderChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 간편결제사별 결제 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsEasyPayProviderChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/pg-company": { + "get": { + "description": "고객사의 결제대행사 현황을 조회합니다.", + "operationId": "getPgCompanyChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPgCompanyChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제대행사 현황을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPgCompanyChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제대행사 현황을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제대행사 현황을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPgCompanyChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/pg-company-trend": { + "get": { + "description": "고객사의 결제대행사별 거래 추이를 조회합니다.", + "operationId": "getPgCompanyTrendChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPgCompanyTrendChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제대행사별 거래 추이를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPgCompanyTrendChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제대행사별 거래 추이를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyTrendChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyTrendChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPgCompanyTrendChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제대행사별 거래 추이를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPgCompanyTrendChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/overseas-payment-usage": { + "get": { + "description": "고객사의 해외 결제 사용 여부를 조회합니다.", + "operationId": "getAnalyticsOverseasPaymentUsage", + "responses": { + "200": { + "description": "성공 응답으로 해외 결제 사용 여부을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsOverseasPaymentUsage" + } + } + }, + "x-portone-description": "성공 응답으로 해외 결제 사용 여부을 반환합니다." + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsOverseasPaymentUsageError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsOverseasPaymentUsageError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 해외 결제 사용 여부를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsOverseasPaymentUsageError" + }, + "x-portone-unstable": true + } + }, + "/analytics/cancellation-rate": { + "get": { + "description": "고객사의 환불율을 조회합니다.", + "operationId": "getAnalyticsCancellationRate", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCancellationRateBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 환불율을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsCancellationRate" + } + } + }, + "x-portone-description": "성공 응답으로 환불율을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCancellationRateError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCancellationRateError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsCancellationRateError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 환불율을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetAnalyticsCancellationRateError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-status": { + "get": { + "description": "고객사의 결제상태 이력 집계를 조회합니다.", + "operationId": "getPaymentStatusChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentStatusChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제상태 이력 집계 결과를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제상태 이력 집계 결과를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제상태 이력 집계를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentStatusChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-status/by-method": { + "get": { + "description": "고객사의 결제수단별 결제전환율을 조회합니다.", + "operationId": "getPaymentStatusByPaymentMethodChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentStatusByPaymentMethodChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제수단별 결제전환율 조회 결과를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPaymentMethodChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제수단별 결제전환율 조회 결과를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentMethodChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentMethodChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentMethodChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제수단별 결제전환율을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentMethodChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-status/by-pg-company": { + "get": { + "description": "고객사의 PG사별 결제전환율을 조회합니다.", + "operationId": "getPaymentStatusByPgCompanyChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentStatusByPgCompanyChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 PG사별 결제전환율 조회 결과를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPgCompanyChart" + } + } + }, + "x-portone-description": "성공 응답으로 PG사별 결제전환율 조회 결과를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPgCompanyChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPgCompanyChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPgCompanyChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 PG사별 결제전환율을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentStatusByPgCompanyChartError" + }, + "x-portone-unstable": true + } + }, + "/analytics/charts/payment-status/by-payment-client": { + "get": { + "description": "고객사의 결제환경별 결제전환율을 조회합니다.", + "operationId": "getPaymentStatusByPaymentClientChart", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAnalyticsPaymentStatusByPaymentClientChartBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 결제환경별 결제전환율 조회 결과를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPaymentClientChart" + } + } + }, + "x-portone-description": "성공 응답으로 결제환경별 결제전환율 조회 결과를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentClientChartError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentClientChartError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentClientChartError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "analytics", + "x-portone-description": "고객사의 결제환경별 결제전환율을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPaymentStatusByPaymentClientChartError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies/{brn}": { + "get": { + "summary": "연동 사업자 조회", + "description": "연동 사업자 조회\n\n포트원 B2B 서비스에 연동된 사업자를 조회합니다.", + "operationId": "getB2bMemberCompany", + "parameters": [ + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 사업자 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bMemberCompany" + } + } + }, + "x-portone-description": "성공 응답으로 사업자 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + } + } + } + }, + "404": { + "description": "* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "연동 사업자 조회", + "x-portone-description": "포트원 B2B 서비스에 연동된 사업자를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bMemberCompanyError" + }, + "x-portone-unstable": true + }, + "patch": { + "summary": "연동 사업자 정보 수정", + "description": "연동 사업자 정보 수정\n\n연동 사업자 정보를 수정합니다.", + "operationId": "updateB2bMemberCompany", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + }, + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyError" + } + } + } + }, + "404": { + "description": "* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "연동 사업자 정보 수정", + "x-portone-description": "연동 사업자 정보를 수정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies": { + "post": { + "summary": "사업자 연동", + "description": "사업자 연동\n\n포트원 B2B 서비스에 사업자를 연동합니다.", + "operationId": "registerB2bMemberCompany", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + } + } + } + }, + "409": { + "description": "* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우\n* `B2bCompanyAlreadyRegisteredError`: 사업자가 이미 연동되어 있는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "사업자 연동", + "x-portone-description": "포트원 B2B 서비스에 사업자를 연동합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RegisterB2bMemberCompanyError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies/{brn}/contacts/{contactId}": { + "get": { + "summary": "담당자 조회", + "description": "담당자 조회\n\n연동 사업자에 등록된 담당자를 조회합니다.", + "operationId": "getB2bMemberCompanyContact", + "parameters": [ + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "contactId", + "in": "path", + "description": "담당자 ID", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "담당자 ID" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 담당자 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bCompanyContact" + } + } + }, + "x-portone-description": "성공 응답으로 담당자 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + } + } + } + }, + "404": { + "description": "* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우\n* `B2bContactNotFoundError`: 담당자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "담당자 조회", + "x-portone-description": "연동 사업자에 등록된 담당자를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bMemberCompanyContactError" + }, + "x-portone-unstable": true + }, + "patch": { + "summary": "담당자 정보 수정", + "description": "담당자 정보 수정\n\n담당자 정보를 수정합니다.", + "operationId": "updateB2bMemberCompanyContact", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + }, + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "contactId", + "in": "path", + "description": "담당자 ID", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "담당자 ID" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + } + } + } + }, + "404": { + "description": "* `B2bContactNotFoundError`: 담당자가 존재하지 않는 경우\n* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "담당자 정보 수정", + "x-portone-description": "담당자 정보를 수정합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/UpdateB2bMemberCompanyContactError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies/{brn}/certificate/registration-url": { + "get": { + "summary": "사업자 인증서 등록 URL 조회", + "description": "사업자 인증서 등록 URL 조회\n\n연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.", + "operationId": "getB2bCertificateRegistrationUrl", + "parameters": [ + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 URL을 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlResponse" + } + } + }, + "x-portone-description": "성공 응답으로 URL을 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + } + } + } + }, + "404": { + "description": "* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "사업자 인증서 등록 URL 조회", + "x-portone-description": "연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bCertificateRegistrationUrlError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies/{brn}/certificate": { + "get": { + "summary": "인증서 조회", + "description": "인증서 조회\n\n연동 사업자의 인증서를 조회합니다.", + "operationId": "getB2bCertificate", + "parameters": [ + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 인증서 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bCertificate" + } + } + }, + "x-portone-description": "성공 응답으로 인증서 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateError" + } + } + } + }, + "404": { + "description": "* `B2bMemberCompanyNotFoundError`: 연동 사업자가 존재하지 않는 경우\n* `B2bCertificateUnregisteredError`: 인증서가 등록되어 있지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCertificateError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "인증서 조회", + "x-portone-description": "연동 사업자의 인증서를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bCertificateError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/member-companies/contacts/id-existence": { + "get": { + "summary": "담당자 ID 존재 여부 확인", + "description": "담당자 ID 존재 여부 확인\n\n담당자 ID가 이미 사용중인지 확인합니다.", + "operationId": "getB2bContactIdExistence", + "parameters": [ + { + "name": "contactId", + "in": "query", + "description": "담당자 ID", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "담당자 ID" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답입니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bContactIdExistenceResponse" + } + } + }, + "x-portone-description": "성공 응답입니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/getB2bContactIdExistenceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/getB2bContactIdExistenceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/getB2bContactIdExistenceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/getB2bContactIdExistenceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "담당자 ID 존재 여부 확인", + "x-portone-description": "담당자 ID가 이미 사용중인지 확인합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/getB2bContactIdExistenceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/bank-accounts/{bank}/{accountNumber}/holder": { + "get": { + "summary": "예금주 조회", + "description": "예금주 조회\n\n원하는 계좌의 예금주를 조회합니다.", + "operationId": "getB2bBankAccountHolder", + "parameters": [ + { + "name": "bank", + "in": "path", + "description": "은행", + "required": true, + "schema": { + "$ref": "#/components/schemas/Bank" + }, + "x-portone-title": "은행" + }, + { + "name": "accountNumber", + "in": "path", + "description": "'-'를 제외한 계좌 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "'-'를 제외한 계좌 번호" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bBankAccountHolderResponse" + } + } + }, + "x-portone-description": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + }, + "404": { + "description": "* `B2bBankAccountNotFoundError`: 계좌가 존재하지 않는 경우\n* `B2bForeignExchangeAccountError`: 계좌 정보 조회가 불가능한 외화 계좌인 경우\n* `B2bSuspendedAccountError`: 정지 계좌인 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + }, + "503": { + "description": "* `B2bRegularMaintenanceTimeError`: 금융기관 시스템이 정기 점검 중인 경우\n* `B2bFinancialSystemFailureError`: 금융기관 장애\n* `B2bFinancialSystemUnderMaintenanceError`: 금융기관 시스템이 점검 중인 경우\n* `B2bFinancialSystemCommunicationError`: 금융기관과의 통신에 실패한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "예금주 조회", + "x-portone-description": "원하는 계좌의 예금주를 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bAccountHolderError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/company/{brn}/state": { + "get": { + "summary": "사업자 상태 조회", + "description": "사업자 상태 조회\n\n원하는 사업자의 상태를 조회합니다. 포트원 B2B 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다.", + "operationId": "getB2bCompanyState", + "parameters": [ + { + "name": "brn", + "in": "path", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 사업자 상태 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bCompanyState" + } + } + }, + "x-portone-description": "성공 응답으로 사업자 상태 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + }, + "404": { + "description": "* `B2bCompanyNotFoundError`: 사업자가 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + }, + "503": { + "description": "* `B2bHometaxUnderMaintenanceError`: 홈택스가 점검중이거나 순단이 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "사업자 상태 조회", + "x-portone-description": "원하는 사업자의 상태를 조회합니다. 포트원 B2B 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bCompanyStateError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/request-reverse-issuance": { + "post": { + "summary": "세금계산서 역발행 요청", + "description": "세금계산서 역발행 요청\n\n공급자에게 세금계산서 역발행을 요청합니다.", + "operationId": "requestB2bTaxInvoiceReverseIssuance", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + } + } + } + }, + "404": { + "description": "* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우\n* `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 역발행 요청", + "x-portone-description": "공급자에게 세금계산서 역발행을 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}": { + "get": { + "summary": "세금 계산서 조회", + "description": "세금 계산서 조회\n\n등록된 세금 계산서를 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "operationId": "getB2bTaxInvoice", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금 계산서 조회", + "x-portone-description": "등록된 세금 계산서를 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceError" + }, + "x-portone-unstable": true + }, + "delete": { + "summary": "세금계산서 삭제", + "description": "세금계산서 삭제\n\n세금계산서를 삭제합니다.", + "operationId": "deleteB2bTaxInvoice", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNonDeletableStatusError`: 세금계산서가 삭제 가능한 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 삭제", + "x-portone-description": "세금계산서를 삭제합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/issue": { + "post": { + "summary": "세금계산서 발행", + "description": "세금계산서 발행\n\n역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(REGISTERED) 상태의 세금계산서를 발행합니다.", + "operationId": "issueB2bTaxInvoice", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 발행", + "x-portone-description": "역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(REGISTERED) 상태의 세금계산서를 발행합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/IssueB2bTaxInvoiceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/cancel-request": { + "post": { + "summary": "세금계산서 역발행 요청 취소", + "description": "세금계산서 역발행 요청 취소\n\n공급받는자가 공급자에게 세금계산서 역발행 요청한 것을 취소합니다.", + "operationId": "cancelB2bTaxInvoiceRequest", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우\n* `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 역발행 요청 취소", + "x-portone-description": "공급받는자가 공급자에게 세금계산서 역발행 요청한 것을 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceRequestError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/cancel-issuance": { + "post": { + "summary": "세금계산서 역발행 취소", + "description": "세금계산서 역발행 취소\n\n공급자가 발행 완료한 세금계산서를 국세청 전송 전 취소합니다.", + "operationId": "cancelB2bTaxInvoiceIssuance", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotIssuedStatusError`: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 역발행 취소", + "x-portone-description": "공급자가 발행 완료한 세금계산서를 국세청 전송 전 취소합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CancelB2bTaxInvoiceIssuanceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/refuse-request": { + "post": { + "summary": "세금계산서 역발행 요청 거부", + "description": "세금계산서 역발행 요청 거부\n\n공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.", + "operationId": "refuseB2bTaxInvoiceRequest", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우\n* `B2bTaxInvoiceNoSupplierDocumentKeyError`: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 역발행 요청 거부", + "x-portone-description": "공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RefuseB2bTaxInvoiceRequestError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices": { + "get": { + "summary": "세금 계산서 다건조회", + "description": "세금 계산서 다건조회\n\n조회 기간 내 등록된 세금 계산서를 다건 조회합니다.", + "operationId": "getB2bTaxInvoices", + "parameters": [ + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "pageNumber", + "in": "query", + "description": "페이지 번호\n\n0부터 시작하는 페이지 번호. 기본 값은 0.", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "x-portone-title": "페이지 번호", + "x-portone-description": "0부터 시작하는 페이지 번호. 기본 값은 0." + }, + { + "name": "pageSize", + "in": "query", + "description": "페이지 크기\n\n각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다.", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "x-portone-title": "페이지 크기", + "x-portone-description": "각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다." + }, + { + "name": "from", + "in": "query", + "description": "조회 시작일", + "required": true, + "schema": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "x-portone-title": "조회 시작일" + }, + { + "name": "until", + "in": "query", + "description": "조회 종료일", + "required": true, + "schema": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "x-portone-title": "조회 종료일" + }, + { + "name": "dateType", + "in": "query", + "description": "조회 기간 기준", + "required": true, + "schema": { + "$ref": "#/components/schemas/B2bSearchDateType" + }, + "x-portone-title": "조회 기간 기준" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금 계산서 다건조회", + "x-portone-description": "조회 기간 내 등록된 세금 계산서를 다건 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoicesError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}/popup-url": { + "get": { + "summary": "세금 계산서 팝업 URL 조회", + "description": "세금 계산서 팝업 URL 조회\n\n등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "operationId": "getB2bTaxInvoicePopupUrl", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "includeMenu", + "in": "query", + "description": "메뉴 포함 여부\n\n팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "메뉴 포함 여부", + "x-portone-description": "팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금 계산서 팝업 URL 조회", + "x-portone-description": "등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePopupUrlError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}/print-url": { + "get": { + "summary": "세금 계산서 프린트 URL 조회", + "description": "세금 계산서 프린트 URL 조회\n\n등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "operationId": "getB2bTaxInvoicePrintUrl", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금 계산서 프린트 URL 조회", + "x-portone-description": "등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePrintUrlError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}/pdf-download-url": { + "get": { + "summary": "세금 계산서 PDF 다운로드 URL 조회", + "description": "세금 계산서 PDF 다운로드 URL 조회\n\n등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "operationId": "getB2bTaxInvoicePdfDownloadUrl", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금 계산서 PDF 다운로드 URL 조회", + "x-portone-description": "등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/register": { + "post": { + "summary": "세금계산서 임시 저장", + "description": "세금계산서 임시 저장\n\n세금계산서 임시 저장을 요청합니다.", + "operationId": "requestB2bTaxInvoiceRegister", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + } + } + } + }, + "404": { + "description": "* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우\n* `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 임시 저장", + "x-portone-description": "세금계산서 임시 저장을 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRegisterError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/request": { + "post": { + "summary": "세금계산서 역발행 요청", + "description": "세금계산서 역발행 요청\n\n임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다.", + "operationId": "requestB2bTaxInvoice", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestB2bTaxInvoiceRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답으로 세금계산서를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoice" + } + } + }, + "x-portone-description": "성공 응답으로 세금계산서를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRegisteredStatusError`: 세금계산서가 임시저장 상태가 아닌 경우\n* `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 역발행 요청", + "x-portone-description": "임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/requestB2bTaxInvoiceError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/file-upload-link": { + "post": { + "summary": "세금계산서 파일 업로드 링크 생성", + "description": "세금계산서 파일 업로드 링크 생성\n\n세금계산서의 첨부파일를 업로드할 링크를 생성합니다.", + "operationId": "createB2bTaxInvoiceFileUploadLink", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkCreateError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkCreateError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkCreateError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 파일 업로드 링크 생성", + "x-portone-description": "세금계산서의 첨부파일를 업로드할 링크를 생성합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/CreateB2bTaxInvoiceFileUploadLinkCreateError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/attach-file": { + "post": { + "summary": "세금계산서 파일 첨부", + "description": "세금계산서 파일 첨부\n\n세금계산서에 파일을 첨부합니다.", + "operationId": "attachB2bTaxInvoiceFile", + "parameters": [ + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRegisteredStatusError`: 세금계산서가 임시저장 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우\n* `B2bFileNotFoundError`: 업로드한 파일을 찾을 수 없는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 파일 첨부", + "x-portone-description": "세금계산서에 파일을 첨부합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/AttachB2bTaxInvoiceFileError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}/attachments": { + "get": { + "summary": "세금계산서 첨부파일 목록 조회", + "description": "세금계산서 첨부파일 목록 조회\n\n세금계산서에 첨부된 파일 목록을 조회합니다.", + "operationId": "getB2bTaxInvoiceAttachments", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsResponse" + } + } + } + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 첨부파일 목록 조회", + "x-portone-description": "세금계산서에 첨부된 파일 목록을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetB2bTaxInvoiceAttachmentsError" + }, + "x-portone-unstable": true + } + }, + "/b2b-preview/tax-invoices/{documentKey}/attachments/{attachmentId}": { + "delete": { + "summary": "세금계산서 첨부파일 삭제", + "description": "세금계산서 첨부파일 삭제\n\n세금계산서 첨부파일을 삭제합니다.", + "operationId": "deleteB2bTaxInvoiceAttachment", + "parameters": [ + { + "name": "documentKey", + "in": "path", + "description": "세금계산서 문서 번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "세금계산서 문서 번호" + }, + { + "name": "attachmentId", + "in": "path", + "description": "첨부파일 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "첨부파일 아이디" + }, + { + "name": "brn", + "in": "query", + "description": "사업자등록번호", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "사업자등록번호" + }, + { + "name": "documentKeyType", + "in": "query", + "description": "문서 번호 유형\n\npath 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.", + "required": false, + "schema": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType" + }, + "x-portone-title": "문서 번호 유형", + "x-portone-description": "path 파라미터로 전달된 문서번호 유형. 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + { + "name": "test", + "in": "query", + "description": "테스트 모드 여부\n\ntrue 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.", + "required": false, + "schema": { + "type": "boolean" + }, + "x-portone-title": "테스트 모드 여부", + "x-portone-description": "true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다." + } + ], + "responses": { + "200": { + "description": "" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우\n* `B2bTaxInvoiceNotRegisteredStatusError`: 세금계산서가 임시저장 상태가 아닌 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + } + } + } + }, + "403": { + "description": "* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + } + } + } + }, + "404": { + "description": "* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우\n* `B2bTaxInvoiceAttachmentNotFoundError`: 세금계산서의 첨부파일을 찾을 수 없는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + } + } + } + }, + "502": { + "description": "* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "b2b", + "x-portone-title": "세금계산서 첨부파일 삭제", + "x-portone-description": "세금계산서 첨부파일을 삭제합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/DeleteB2bTaxInvoiceAttachmentError" + }, + "x-portone-unstable": true + } + }, + "/kakaopay/payment/order": { + "get": { + "summary": "카카오페이 주문 조회 API", + "description": "카카오페이 주문 조회 API\n\n주어진 아이디에 대응되는 카카오페이 주문 건을 조회합니다.\n해당 API 사용이 필요한 경우 포트원 기술지원팀으로 문의 주시길 바랍니다.", + "operationId": "getKakaopayPaymentOrder", + "parameters": [ + { + "name": "pgTxId", + "in": "query", + "description": "카카오페이 주문 번호 (tid)", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "카카오페이 주문 번호 (tid)" + }, + { + "name": "channelKey", + "in": "query", + "description": "채널 키", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "채널 키" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 카카오페이 주문 조회 응답 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetKakaopayPaymentOrderResponse" + } + } + }, + "x-portone-title": "성공 응답으로 카카오페이 주문 조회 응답 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetKakaopayPaymentOrderError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetKakaopayPaymentOrderError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "pgSpecific", + "x-portone-title": "카카오페이 주문 조회 API", + "x-portone-description": "주어진 아이디에 대응되는 카카오페이 주문 건을 조회합니다.\n해당 API 사용이 필요한 경우 포트원 기술지원팀으로 문의 주시길 바랍니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetKakaopayPaymentOrderError" + } + } + }, + "/payments/{paymentId}/register-store-receipt": { + "post": { + "summary": "영수증 내 하위 상점 거래 등록", + "description": "영수증 내 하위 상점 거래 등록\n\n결제 내역 매출전표에 하위 상점의 거래를 등록합니다.\n지원되는 PG사:\nKG이니시스(이용 전 콘솔 -> 결제연동 탭에서 INIApi Key 등록 필요)", + "operationId": "registerStoreReceipt", + "parameters": [ + { + "name": "paymentId", + "in": "path", + "description": "등록할 하위 상점 결제 건 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "등록할 하위 상점 결제 건 아이디" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "성공 응답", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptResponse" + } + } + }, + "x-portone-title": "성공 응답" + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + }, + "404": { + "description": "* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + }, + "409": { + "description": "* `PaymentNotPaidError`: 결제가 완료되지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + }, + "502": { + "description": "* `PgProviderError`: PG사에서 오류를 전달한 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "payment", + "x-portone-title": "영수증 내 하위 상점 거래 등록", + "x-portone-description": "결제 내역 매출전표에 하위 상점의 거래를 등록합니다.\n지원되는 PG사:\nKG이니시스(이용 전 콘솔 -> 결제연동 탭에서 INIApi Key 등록 필요)", + "x-portone-error": { + "$ref": "#/components/schemas/RegisterStoreReceiptError" + } + } + }, + "/platform/payouts-sheet": {}, + "/platform/bulk-payouts-sheet": {}, + "/payment-reconciliations": {}, + "/payment-reconciliations/settlements/summaries/excel-file": {}, + "/payment-reconciliations/settlements/summaries": {}, + "/payment-reconciliations/settlements/vat-excel-file": {}, + "/payment-reconciliations/excel-file": {}, + "/payment-reconciliations/transactions/summaries/excel-file": {}, + "/payment-reconciliations/transactions/summaries": {}, + "/promotions/{promotionId}": { + "get": { + "summary": "프로모션 단건 조회", + "description": "프로모션 단건 조회\n\n주어진 아이디에 대응되는 프로모션을 조회합니다.", + "operationId": "getPromotion", + "parameters": [ + { + "name": "promotionId", + "in": "path", + "description": "조회할 프로모션 아이디", + "required": true, + "schema": { + "type": "string" + }, + "x-portone-title": "조회할 프로모션 아이디" + } + ], + "responses": { + "200": { + "description": "성공 응답으로 프로모션 객체를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Promotion" + } + } + }, + "x-portone-title": "성공 응답으로 프로모션 객체를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPromotionError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPromotionError" + } + } + } + }, + "403": { + "description": "* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPromotionError" + } + } + } + }, + "404": { + "description": "* `PromotionNotFoundError`: 프로모션이 존재하지 않는 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPromotionError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "promotion", + "x-portone-title": "프로모션 단건 조회", + "x-portone-description": "주어진 아이디에 대응되는 프로모션을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPromotionError" + } + } + }, + "/excel/payments": {}, + "/excel/promotions": {}, + "/platform/account-transfers": { + "get": { + "summary": "이체 내역 다건 조회", + "description": "이체 내역 다건 조회\n\n여러 이체 내역을 조회합니다.", + "operationId": "getPlatformAccountTransfers", + "parameters": [ + { + "name": "requestBody", + "in": "query", + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAccountTransfersBody" + } + } + }, + "x-portone-query-or-body": { + "enabled": true, + "required": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetAccountTransfersBody" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "성공 응답으로 조회된 이체 내역과 페이지 정보를 반환합니다.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountTransfersResponse" + } + } + }, + "x-portone-description": "성공 응답으로 조회된 이체 내역과 페이지 정보를 반환합니다." + }, + "400": { + "description": "* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountTransfersError" + } + } + } + }, + "401": { + "description": "* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountTransfersError" + } + } + } + }, + "403": { + "description": "* `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우\n* `ForbiddenError`: 요청이 거절된 경우", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPlatformAccountTransfersError" + } + } + } + } + }, + "security": [ + { + "bearerJwt": [] + }, + { + "portOne": [] + } + ], + "x-portone-category": "platform.accountTransfer", + "x-portone-title": "이체 내역 다건 조회", + "x-portone-description": "여러 이체 내역을 조회합니다.", + "x-portone-error": { + "$ref": "#/components/schemas/GetPlatformAccountTransfersError" + }, + "x-portone-unstable": true + } + } + }, + "components": { + "schemas": { + "Address": { + "title": "분리 형식 주소", + "description": "분리 형식 주소\n\noneLine(한 줄 형식 주소) 필드는 항상 존재합니다.", + "oneOf": [ + { + "$ref": "#/components/schemas/OneLineAddress" + }, + { + "$ref": "#/components/schemas/SeparatedAddress" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ONE_LINE": "#/components/schemas/OneLineAddress", + "SEPARATED": "#/components/schemas/SeparatedAddress" + } + }, + "x-portone-title": "분리 형식 주소", + "x-portone-description": "oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.", + "x-portone-discriminator": { + "ONE_LINE": { + "title": "한 줄 형식" + }, + "SEPARATED": { + "title": "분리 형식" + } + } + }, + "AlreadyPaidError": { + "title": "결제가 이미 완료된 경우", + "description": "결제가 이미 완료된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제가 이미 완료된 경우", + "x-portone-status-code": 409 + }, + "AlreadyPaidOrWaitingError": { + "title": "결제가 이미 완료되었거나 대기중인 경우", + "description": "결제가 이미 완료되었거나 대기중인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제가 이미 완료되었거나 대기중인 경우", + "x-portone-status-code": 409 + }, + "AmountExceededType": { + "title": "AmountExceededType", + "type": "string", + "enum": [ + "DISCOUNT_THAN_ORDER", + "DISCOUNT_TAX_FREE_THAN_DISCOUNT", + "DISCOUNT_TAX_FREE_THAN_ORDER_TAX_FREE", + "PAYMENT_TAX_FREE_THAN_PAYMENT" + ], + "x-portone-enum": { + "DISCOUNT_THAN_ORDER": { + "title": "할인금액이 주문금액을 초과" + }, + "DISCOUNT_TAX_FREE_THAN_DISCOUNT": { + "title": "면세 할인금액이 할인금액을 초과" + }, + "DISCOUNT_TAX_FREE_THAN_ORDER_TAX_FREE": { + "title": "면세 할인금액이 면세 주문금액을 초과" + }, + "PAYMENT_TAX_FREE_THAN_PAYMENT": { + "title": "면세 결제금액이 결제금액을 초과" + } + } + }, + "Analytics": { + "title": "Analytics", + "type": "object" + }, + "AnalyticsAverageAmountChart": { + "title": "고객사의 평균 거래액 현황 조회 응답", + "description": "고객사의 평균 거래액 현황 조회 응답", + "type": "object", + "required": [ + "stats", + "summary" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsAverageAmountChartStat" + } + }, + "summary": { + "$ref": "#/components/schemas/AnalyticsAverageAmountChartSummary" + } + }, + "x-portone-title": "고객사의 평균 거래액 현황 조회 응답" + }, + "AnalyticsAverageAmountChartStat": { + "title": "AnalyticsAverageAmountChartStat", + "description": "특정 시점의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "paymentAverageAmount", + "customerAverageAmount" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "paymentAverageAmount": { + "type": "integer", + "format": "int64", + "title": "건별 평균 거래액" + }, + "customerAverageAmount": { + "type": "integer", + "format": "int64", + "title": "고객 당 평균 거래액" + } + }, + "x-portone-description": "특정 시점의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다." + }, + "AnalyticsAverageAmountChartSummary": { + "title": "AnalyticsAverageAmountChartSummary", + "description": "전체 구간의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.", + "type": "object", + "required": [ + "paymentAverageAmount", + "customerAverageAmount" + ], + "properties": { + "paymentAverageAmount": { + "type": "integer", + "format": "int64", + "title": "건별 평균 거래액" + }, + "customerAverageAmount": { + "type": "integer", + "format": "int64", + "title": "고객 당 평균 거래액" + } + }, + "x-portone-description": "전체 구간의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다." + }, + "AnalyticsCancellationRate": { + "title": "고객사의 환불율 정보", + "description": "고객사의 환불율 정보", + "type": "object", + "required": [ + "cancellationRate" + ], + "properties": { + "cancellationRate": { + "type": "number", + "format": "double" + } + }, + "x-portone-title": "고객사의 환불율 정보" + }, + "AnalyticsCardChart": { + "title": "고객사의 카드결제 현황 차트 정보", + "description": "고객사의 카드결제 현황 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsCardChartStat" + } + } + }, + "x-portone-title": "고객사의 카드결제 현황 차트 정보" + }, + "AnalyticsCardChartStat": { + "title": "AnalyticsCardChartStat", + "description": "특정 시점의 카드결제 거래 건 수와 금액을 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "특정 시점의 카드결제 거래 건 수와 금액을 나타냅니다." + }, + "AnalyticsCardCompanyChart": { + "title": "고객사의 카드사별 결제 현황 조회 응답", + "description": "고객사의 카드사별 결제 현황 조회 응답", + "type": "object", + "required": [ + "stats", + "remainderStats", + "summary" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsCardCompanyChartStat" + } + }, + "remainderStats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsCardCompanyChartRemainderStat" + } + }, + "summary": { + "$ref": "#/components/schemas/AnalyticsCardCompanyChartSummary" + } + }, + "x-portone-title": "고객사의 카드사별 결제 현황 조회 응답" + }, + "AnalyticsCardCompanyChartRemainderStat": { + "title": "AnalyticsCardCompanyChartRemainderStat", + "description": "특정 시점의 나머지 카드사들의 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 나머지 카드사들의 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsCardCompanyChartStat": { + "title": "AnalyticsCardCompanyChartStat", + "description": "특정 시점의 카드사 별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "cardCompany", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "cardCompany": { + "$ref": "#/components/schemas/CardCompany", + "title": "카드사" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 카드사 별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsCardCompanyChartSummary": { + "title": "AnalyticsCardCompanyChartSummary", + "description": "결제금액, 결제 건수의 총합을 나타냅니다.", + "type": "object", + "required": [ + "totalAmount", + "totalCount" + ], + "properties": { + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제금액 합" + }, + "totalCount": { + "type": "integer", + "format": "int64", + "title": "결제 건수 합" + } + }, + "x-portone-description": "결제금액, 결제 건수의 총합을 나타냅니다." + }, + "AnalyticsEasyPayChart": { + "title": "고객사의 간편결제 현황 차트 정보", + "description": "고객사의 간편결제 현황 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsEasyPayChartStat" + } + } + }, + "x-portone-title": "고객사의 간편결제 현황 차트 정보" + }, + "AnalyticsEasyPayChartStat": { + "title": "AnalyticsEasyPayChartStat", + "description": "특정 시점의 간편결제 거래 건수와 금액을 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "특정 시점의 간편결제 거래 건수와 금액을 나타냅니다." + }, + "AnalyticsEasyPayProviderChart": { + "title": "고객사의 간편결제사별 결제 현황 차트 정보", + "description": "고객사의 간편결제사별 결제 현황 차트 정보", + "type": "object", + "required": [ + "stats", + "remainderStats", + "summary" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsEasyPayProviderChartStat" + } + }, + "remainderStats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsEasyPayProviderChartRemainderStat" + } + }, + "summary": { + "$ref": "#/components/schemas/AnalyticsEasyPayProviderChartSummary" + } + }, + "x-portone-title": "고객사의 간편결제사별 결제 현황 차트 정보" + }, + "AnalyticsEasyPayProviderChartRemainderStat": { + "title": "AnalyticsEasyPayProviderChartRemainderStat", + "description": "특정 시점의 나머지 간편결제사들의 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 나머지 간편결제사들의 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsEasyPayProviderChartStat": { + "title": "AnalyticsEasyPayProviderChartStat", + "description": "특정 시점의 간편결제사별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "easyPayProvider", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "easyPayProvider": { + "$ref": "#/components/schemas/EasyPayProvider", + "title": "간편결제사" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 간편결제사별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsEasyPayProviderChartSummary": { + "title": "AnalyticsEasyPayProviderChartSummary", + "description": "결제금액, 결제 건수의 총합을 나타냅니다.", + "type": "object", + "required": [ + "totalAmount", + "totalCount" + ], + "properties": { + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제금액의 합" + }, + "totalCount": { + "type": "integer", + "format": "int64", + "title": "결제 건수의 합" + } + }, + "x-portone-description": "결제금액, 결제 건수의 총합을 나타냅니다." + }, + "AnalyticsOverseasPaymentUsage": { + "title": "고객사의 해외 결제 사용 여부", + "description": "고객사의 해외 결제 사용 여부", + "type": "object", + "required": [ + "isUsing" + ], + "properties": { + "isUsing": { + "type": "boolean" + } + }, + "x-portone-title": "고객사의 해외 결제 사용 여부" + }, + "AnalyticsPaymentChart": { + "title": "고객사의 결제 현황 차트 정보", + "description": "고객사의 결제 현황 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentChartStat" + } + } + }, + "x-portone-title": "고객사의 결제 현황 차트 정보" + }, + "AnalyticsPaymentChartInsight": { + "title": "고객사의 결제 현황 인사이트 정보", + "description": "고객사의 결제 현황 인사이트 정보", + "type": "object", + "required": [ + "highestHourInDay", + "lowestHourInDay" + ], + "properties": { + "highestDateInMonth": { + "type": "integer", + "format": "int64", + "title": "월간 최고 거래액 발생일" + }, + "lowestDateInMonth": { + "type": "integer", + "format": "int64", + "title": "월간 최저 거래액 발생일" + }, + "highestDayInWeek": { + "$ref": "#/components/schemas/DayOfWeek", + "title": "주간 최고 거래액 발생 요일" + }, + "lowestDayInWeek": { + "$ref": "#/components/schemas/DayOfWeek", + "title": "주간 최저 거래액 발생 요일" + }, + "highestHourInDay": { + "type": "integer", + "format": "int64", + "title": "일간 최고 거래액 발생 시간" + }, + "lowestHourInDay": { + "type": "integer", + "format": "int64", + "title": "일간 최저 거래액 발생 시간" + } + }, + "x-portone-title": "고객사의 결제 현황 인사이트 정보" + }, + "AnalyticsPaymentChartStat": { + "title": "AnalyticsPaymentChartStat", + "description": "특정 시점의 거래 건 수와 금액을 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "특정 시점의 거래 건 수와 금액을 나타냅니다." + }, + "AnalyticsPaymentMethodChart": { + "title": "고객사의 결제수단 현황 차트 정보", + "description": "고객사의 결제수단 현황 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentMethodChartStat" + } + } + }, + "x-portone-title": "고객사의 결제수단 현황 차트 정보" + }, + "AnalyticsPaymentMethodChartStat": { + "title": "AnalyticsPaymentMethodChartStat", + "description": "결제수단별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "amount", + "count" + ], + "properties": { + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethodType", + "title": "결제수단" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제수단별 결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제수단별 결제 건수" + } + }, + "x-portone-description": "결제수단별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsPaymentMethodTrendChart": { + "title": "고객사의 결제수단 트렌드 차트 정보", + "description": "고객사의 결제수단 트렌드 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentMethodTrendChartStat" + }, + "title": "결제수단별 결제금액, 결제 건수 데이터", + "description": "(timestamp, paymentMethod) 를 기준으로 오름차순 정렬되어 주어집니다." + } + }, + "x-portone-title": "고객사의 결제수단 트렌드 차트 정보" + }, + "AnalyticsPaymentMethodTrendChartStat": { + "title": "AnalyticsPaymentMethodTrendChartStat", + "description": "특정 시점의 결제수단별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethodType", + "title": "결제수단" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 결제수단별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsPaymentStatusByPaymentClientChart": { + "title": "고객사의 결제 환경 별 결제 상태 차트 정보", + "description": "고객사의 결제 환경 별 결제 상태 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPaymentClientChartStat" + } + } + }, + "x-portone-title": "고객사의 결제 환경 별 결제 상태 차트 정보" + }, + "AnalyticsPaymentStatusByPaymentClientChartStat": { + "title": "AnalyticsPaymentStatusByPaymentClientChartStat", + "description": "고객사의 결제 환경 별 결제 상태 차트 정보", + "type": "object", + "required": [ + "paymentClientType", + "paymentStatus", + "amount", + "count" + ], + "properties": { + "paymentClientType": { + "$ref": "#/components/schemas/PaymentClientType", + "title": "결제가 발생한 클라이언트 환경" + }, + "paymentStatus": { + "$ref": "#/components/schemas/PaymentStatus", + "title": "결제 건 상태" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "고객사의 결제 환경 별 결제 상태 차트 정보" + }, + "AnalyticsPaymentStatusByPaymentMethodChart": { + "title": "고객사의 결제 수단 별 결제 상태 차트 정보", + "description": "고객사의 결제 수단 별 결제 상태 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPaymentMethodChartStat" + } + } + }, + "x-portone-title": "고객사의 결제 수단 별 결제 상태 차트 정보" + }, + "AnalyticsPaymentStatusByPaymentMethodChartStat": { + "title": "AnalyticsPaymentStatusByPaymentMethodChartStat", + "description": "각 결제수단, 상태 별 건수와 금액을 나타냅니다.", + "type": "object", + "required": [ + "paymentStatus", + "amount", + "count" + ], + "properties": { + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethodType", + "title": "결제수단" + }, + "paymentStatus": { + "$ref": "#/components/schemas/PaymentStatus", + "title": "결제 건 상태" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "각 결제수단, 상태 별 건수와 금액을 나타냅니다." + }, + "AnalyticsPaymentStatusByPgCompanyChart": { + "title": "고객사의 PG사 별 결제 상태 차트 정보", + "description": "고객사의 PG사 별 결제 상태 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusByPgCompanyChartStat" + } + } + }, + "x-portone-title": "고객사의 PG사 별 결제 상태 차트 정보" + }, + "AnalyticsPaymentStatusByPgCompanyChartStat": { + "title": "AnalyticsPaymentStatusByPgCompanyChartStat", + "description": "각 상태의 건수와 금액, 사분위수를 나타냅니다.", + "type": "object", + "required": [ + "pgCompany", + "paymentStatus", + "amount", + "count" + ], + "properties": { + "pgCompany": { + "$ref": "#/components/schemas/PgCompany", + "title": "PG사" + }, + "paymentStatus": { + "$ref": "#/components/schemas/PaymentStatus", + "title": "결제 건 상태" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + } + }, + "x-portone-description": "각 상태의 건수와 금액, 사분위수를 나타냅니다." + }, + "AnalyticsPaymentStatusChart": { + "title": "고객사의 결제 상태 차트 정보", + "description": "고객사의 결제 상태 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPaymentStatusChartStat" + } + } + }, + "x-portone-title": "고객사의 결제 상태 차트 정보" + }, + "AnalyticsPaymentStatusChartStat": { + "title": "AnalyticsPaymentStatusChartStat", + "description": "각 상태의 건수와 금액, 사분위수를 나타냅니다.", + "type": "object", + "required": [ + "paymentStatus", + "amount", + "count", + "averageRatio", + "firstQuantile", + "median", + "thirdQuantile" + ], + "properties": { + "paymentStatus": { + "$ref": "#/components/schemas/PaymentStatus", + "title": "결제 건 상태" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "거래액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "거래 건수" + }, + "averageRatio": { + "type": "integer", + "format": "int64", + "title": "해당 상태 비율" + }, + "firstQuantile": { + "type": "integer", + "format": "int64", + "title": "1 사분위수" + }, + "median": { + "type": "integer", + "format": "int64", + "title": "중앙값" + }, + "thirdQuantile": { + "type": "integer", + "format": "int64", + "title": "3 사분위수" + } + }, + "x-portone-description": "각 상태의 건수와 금액, 사분위수를 나타냅니다." + }, + "AnalyticsPgCompanyChart": { + "title": "고객사의 결제대행사 현황 차트 정보", + "description": "고객사의 결제대행사 현황 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPgCompanyChartStat" + } + } + }, + "x-portone-title": "고객사의 결제대행사 현황 차트 정보" + }, + "AnalyticsPgCompanyChartStat": { + "title": "AnalyticsPgCompanyChartStat", + "description": "결제대행사별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "pgCompany", + "amount", + "count" + ], + "properties": { + "pgCompany": { + "$ref": "#/components/schemas/PgCompany", + "title": "결제대행사" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제대행사별 결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제대행사별 결제 건수" + } + }, + "x-portone-description": "결제대행사별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsPgCompanyTrendChart": { + "title": "고객사의 결제대행사별 거래 추이 차트 정보", + "description": "고객사의 결제대행사별 거래 추이 차트 정보", + "type": "object", + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsPgCompanyTrendChartStat" + } + } + }, + "x-portone-title": "고객사의 결제대행사별 거래 추이 차트 정보" + }, + "AnalyticsPgCompanyTrendChartStat": { + "title": "AnalyticsPgCompanyTrendChartStat", + "description": "특정 시점의 결제대행사 별 결제금액, 결제 건수를 나타냅니다.", + "type": "object", + "required": [ + "timestamp", + "pgCompany", + "amount", + "count" + ], + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "시점" + }, + "pgCompany": { + "$ref": "#/components/schemas/PgCompany", + "title": "결제대행사" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제금액" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "결제 건수" + } + }, + "x-portone-description": "특정 시점의 결제대행사 별 결제금액, 결제 건수를 나타냅니다." + }, + "AnalyticsTimeGranularity": { + "title": "조회 시간 단위", + "description": "조회 시간 단위\n\n하나의 단위 필드만 선택하여 입력합니다.", + "type": "object", + "properties": { + "minute": { + "$ref": "#/components/schemas/AnalyticsTimeGranularityMinute" + }, + "hour": { + "$ref": "#/components/schemas/AnalyticsTimeGranularityHour" + }, + "day": { + "$ref": "#/components/schemas/AnalyticsTimeGranularityDay" + }, + "week": { + "$ref": "#/components/schemas/AnalyticsTimeGranularityWeek" + }, + "month": { + "$ref": "#/components/schemas/AnalyticsTimeGranularityMonth" + } + }, + "x-portone-title": "조회 시간 단위", + "x-portone-description": "하나의 단위 필드만 선택하여 입력합니다." + }, + "AnalyticsTimeGranularityDay": { + "title": "일", + "description": "일", + "type": "object", + "required": [ + "timezoneHourOffset" + ], + "properties": { + "timezoneHourOffset": { + "type": "integer", + "format": "int32" + } + }, + "x-portone-title": "일" + }, + "AnalyticsTimeGranularityHour": { + "title": "시간", + "description": "시간", + "type": "object", + "x-portone-title": "시간" + }, + "AnalyticsTimeGranularityMinute": { + "title": "분", + "description": "분", + "type": "object", + "x-portone-title": "분" + }, + "AnalyticsTimeGranularityMonth": { + "title": "월", + "description": "월", + "type": "object", + "required": [ + "timezoneHourOffset" + ], + "properties": { + "timezoneHourOffset": { + "type": "integer", + "format": "int32" + } + }, + "x-portone-title": "월" + }, + "AnalyticsTimeGranularityWeek": { + "title": "주", + "description": "주", + "type": "object", + "required": [ + "timezoneHourOffset" + ], + "properties": { + "timezoneHourOffset": { + "type": "integer", + "format": "int32" + } + }, + "x-portone-title": "주" + }, + "ApplyEscrowLogisticsError": { + "title": "ApplyEscrowLogisticsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotPaidError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_PAID": "#/components/schemas/PaymentNotPaidError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ApplyEscrowLogisticsResponse": { + "title": "에스크로 배송 정보 등록 성공 응답", + "description": "에스크로 배송 정보 등록 성공 응답", + "type": "object", + "required": [ + "invoiceNumber", + "sentAt", + "appliedAt" + ], + "properties": { + "invoiceNumber": { + "type": "string", + "title": "송장 번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 시점" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "에스크로 정보 등록 시점" + } + }, + "x-portone-title": "에스크로 배송 정보 등록 성공 응답" + }, + "ApprovePlatformPartnerBody": { + "title": "파트너 상태를 승인 완료로 변경하기 위한 입력 정보", + "description": "파트너 상태를 승인 완료로 변경하기 위한 입력 정보", + "type": "object", + "properties": { + "memo": { + "type": "string", + "title": "파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다." + } + }, + "x-portone-title": "파트너 상태를 승인 완료로 변경하기 위한 입력 정보" + }, + "ApprovePlatformPartnerError": { + "title": "ApprovePlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedPartnerError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_PARTNER": "#/components/schemas/PlatformArchivedPartnerError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ApprovePlatformPartnerResponse": { + "title": "파트너 승인 성공 응답", + "description": "파트너 승인 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "승인된 파트너" + } + }, + "x-portone-title": "파트너 승인 성공 응답" + }, + "ArchivePlatformAdditionalFeePolicyError": { + "title": "ArchivePlatformAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformCannotArchiveScheduledAdditionalFeePolicyError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_CANNOT_ARCHIVE_SCHEDULED_ADDITIONAL_FEE_POLICY": "#/components/schemas/PlatformCannotArchiveScheduledAdditionalFeePolicyError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ArchivePlatformAdditionalFeePolicyResponse": { + "title": "추가 수수료 정책 보관 성공 응답", + "description": "추가 수수료 정책 보관 성공 응답", + "type": "object", + "required": [ + "additionalFeePolicy" + ], + "properties": { + "additionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "보관된 추가 수수료 정책" + } + }, + "x-portone-title": "추가 수수료 정책 보관 성공 응답" + }, + "ArchivePlatformContractError": { + "title": "ArchivePlatformContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformCannotArchiveScheduledContractError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CANNOT_ARCHIVE_SCHEDULED_CONTRACT": "#/components/schemas/PlatformCannotArchiveScheduledContractError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ArchivePlatformContractResponse": { + "title": "계약 보관 성공 응답", + "description": "계약 보관 성공 응답", + "type": "object", + "required": [ + "contract" + ], + "properties": { + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "보관된 계약" + } + }, + "x-portone-title": "계약 보관 성공 응답" + }, + "ArchivePlatformDiscountSharePolicyError": { + "title": "ArchivePlatformDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformCannotArchiveScheduledDiscountSharePolicyError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CANNOT_ARCHIVE_SCHEDULED_DISCOUNT_SHARE_POLICY": "#/components/schemas/PlatformCannotArchiveScheduledDiscountSharePolicyError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ArchivePlatformDiscountSharePolicyResponse": { + "title": "할인 분담 보관 성공 응답", + "description": "할인 분담 보관 성공 응답", + "type": "object", + "required": [ + "discountSharePolicy" + ], + "properties": { + "discountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "보관된 할인 분담" + } + }, + "x-portone-title": "할인 분담 보관 성공 응답" + }, + "ArchivePlatformPartnerError": { + "title": "ArchivePlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformCannotArchiveScheduledPartnerError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CANNOT_ARCHIVE_SCHEDULED_PARTNER": "#/components/schemas/PlatformCannotArchiveScheduledPartnerError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ArchivePlatformPartnerResponse": { + "title": "파트너 보관 성공 응답", + "description": "파트너 보관 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "보관된 파트너" + } + }, + "x-portone-title": "파트너 보관 성공 응답" + }, + "AttachB2bTaxInvoiceFileBody": { + "title": "세금계산서 파일 첨부 정보", + "description": "세금계산서 파일 첨부 정보", + "type": "object", + "required": [ + "brn", + "documentKey", + "fileId" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호", + "description": "`-` 없이 숫자 10자리로 구성됩니다." + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "fileId": { + "type": "string", + "title": "파일 아이디" + } + }, + "x-portone-title": "세금계산서 파일 첨부 정보" + }, + "AttachB2bTaxInvoiceFileError": { + "title": "AttachB2bTaxInvoiceFileError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bFileNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_FILE_NOT_FOUND": "#/components/schemas/B2bFileNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REGISTERED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "B2bBankAccountNotFoundError": { + "title": "계좌가 존재하지 않는 경우", + "description": "계좌가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "계좌가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "B2bCertificate": { + "title": "B2bCertificate", + "type": "object", + "required": [ + "registeredAt", + "expiredAt", + "issuerDn", + "subjectDn", + "certificateType", + "oid", + "registrantContactName", + "registrantContactId" + ], + "properties": { + "registeredAt": { + "type": "string", + "format": "date-time", + "title": "등록일시" + }, + "expiredAt": { + "type": "string", + "format": "date-time", + "title": "만료일시" + }, + "issuerDn": { + "type": "string", + "title": "발행자명" + }, + "subjectDn": { + "type": "string", + "title": "본인명" + }, + "certificateType": { + "$ref": "#/components/schemas/B2bCertificateType", + "title": "인증서 타입" + }, + "oid": { + "type": "string", + "title": "OID" + }, + "registrantContactName": { + "type": "string", + "title": "등록 담당자 성명" + }, + "registrantContactId": { + "type": "string", + "title": "등록 담당자 ID" + } + } + }, + "B2bCertificateType": { + "title": "인증서 타입", + "description": "인증서 타입", + "type": "string", + "enum": [ + "E_TAX", + "POP_BILL", + "ETC" + ], + "x-portone-title": "인증서 타입", + "x-portone-enum": { + "E_TAX": { + "title": "전자세금용 공동인증서" + }, + "POP_BILL": { + "title": "팝빌 특목용 공동인증서" + }, + "ETC": { + "title": "기타" + } + } + }, + "B2bCertificateUnregisteredError": { + "title": "인증서가 등록되어 있지 않은 경우", + "description": "인증서가 등록되어 있지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "인증서가 등록되어 있지 않은 경우", + "x-portone-status-code": 404 + }, + "B2bCompanyAlreadyRegisteredError": { + "title": "사업자가 이미 연동되어 있는 경우", + "description": "사업자가 이미 연동되어 있는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "사업자가 이미 연동되어 있는 경우", + "x-portone-status-code": 409 + }, + "B2bCompanyContact": { + "title": "B2bCompanyContact", + "type": "object", + "required": [ + "id", + "name", + "phoneNumber", + "email", + "registeredAt", + "isManager" + ], + "properties": { + "id": { + "type": "string", + "title": "담당자 ID", + "description": "팝빌 로그인 계정으로 사용됩니다." + }, + "name": { + "type": "string", + "title": "담당자 성명" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 핸드폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + }, + "registeredAt": { + "type": "string", + "format": "date-time", + "title": "등록 일시" + }, + "isManager": { + "type": "boolean", + "title": "관리자 여부", + "description": "true일 경우 관리자, false일 경우 담당자입니다." + } + } + }, + "B2bCompanyContactInput": { + "title": "B2bCompanyContactInput", + "type": "object", + "required": [ + "id", + "password", + "name", + "phoneNumber", + "email" + ], + "properties": { + "id": { + "type": "string", + "title": "담당자 ID", + "description": "팝빌 로그인 계정으로 사용됩니다." + }, + "password": { + "type": "string", + "title": "비밀번호" + }, + "name": { + "type": "string", + "title": "담당자 성명" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 핸드폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + } + }, + "B2bCompanyNotFoundError": { + "title": "사업자가 존재하지 않는 경우", + "description": "사업자가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "사업자가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "B2bCompanyState": { + "title": "사업자 상태", + "description": "사업자 상태", + "type": "object", + "required": [ + "taxationType", + "businessStatus" + ], + "properties": { + "taxationType": { + "$ref": "#/components/schemas/B2bCompanyStateTaxationType", + "title": "사업자 과세 유형" + }, + "taxationTypeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "과세 유형 변경 일자" + }, + "businessStatus": { + "$ref": "#/components/schemas/B2bCompanyStateBusinessStatus", + "title": "사업자 영업 상태" + }, + "closedSuspendedDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "휴폐업 일자" + } + }, + "x-portone-title": "사업자 상태" + }, + "B2bCompanyStateBusinessStatus": { + "title": "영업 상태", + "description": "영업 상태", + "type": "string", + "enum": [ + "IN_BUSINESS", + "CLOSED", + "SUSPENDED" + ], + "x-portone-title": "영업 상태", + "x-portone-enum": { + "IN_BUSINESS": { + "title": "영업중" + }, + "CLOSED": { + "title": "폐업" + }, + "SUSPENDED": { + "title": "휴업" + } + } + }, + "B2bCompanyStateTaxationType": { + "title": "사업자 과세 유형", + "description": "사업자 과세 유형", + "type": "string", + "enum": [ + "NORMAL", + "TAX_FREE", + "SIMPLE", + "SIMPLE_TAX_INVOICE_ISSUER", + "ASSIGNED_ID_NUMBER" + ], + "x-portone-title": "사업자 과세 유형", + "x-portone-enum": { + "SIMPLE": { + "title": "간이 과세" + }, + "ASSIGNED_ID_NUMBER": { + "title": "비영리법인 또는 국가기관, 고유번호가 부여된 단체" + }, + "TAX_FREE": { + "title": "면세" + }, + "SIMPLE_TAX_INVOICE_ISSUER": { + "title": "간이 과세 세금계산서 발급 사업자" + }, + "NORMAL": { + "title": "일반 과세" + } + } + }, + "B2bContactNotFoundError": { + "title": "담당자가 존재하지 않는 경우", + "description": "담당자가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "담당자가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "B2bExternalServiceError": { + "title": "외부 서비스에서 에러가 발생한 경우", + "description": "외부 서비스에서 에러가 발생한 경우", + "type": "object", + "required": [ + "type", + "message" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "외부 서비스에서 에러가 발생한 경우", + "x-portone-status-code": 502 + }, + "B2bFileNotFoundError": { + "title": "업로드한 파일을 찾을 수 없는 경우", + "description": "업로드한 파일을 찾을 수 없는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "업로드한 파일을 찾을 수 없는 경우", + "x-portone-status-code": 404 + }, + "B2bFinancialSystemCommunicationError": { + "title": "금융기관과의 통신에 실패한 경우", + "description": "금융기관과의 통신에 실패한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "금융기관과의 통신에 실패한 경우", + "x-portone-status-code": 503 + }, + "B2bFinancialSystemFailureError": { + "title": "금융기관 장애", + "description": "금융기관 장애", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "금융기관 장애", + "x-portone-status-code": 503 + }, + "B2bFinancialSystemUnderMaintenanceError": { + "title": "금융기관 시스템이 점검 중인 경우", + "description": "금융기관 시스템이 점검 중인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "금융기관 시스템이 점검 중인 경우", + "x-portone-status-code": 503 + }, + "B2bForeignExchangeAccountError": { + "title": "계좌 정보 조회가 불가능한 외화 계좌인 경우", + "description": "계좌 정보 조회가 불가능한 외화 계좌인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "계좌 정보 조회가 불가능한 외화 계좌인 경우", + "x-portone-status-code": 404 + }, + "B2bHometaxUnderMaintenanceError": { + "title": "홈택스가 점검중이거나 순단이 발생한 경우", + "description": "홈택스가 점검중이거나 순단이 발생한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "홈택스가 점검중이거나 순단이 발생한 경우", + "x-portone-status-code": 503 + }, + "B2bIdAlreadyExistsError": { + "title": "ID가 이미 사용중인 경우", + "description": "ID가 이미 사용중인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "ID가 이미 사용중인 경우", + "x-portone-status-code": 409 + }, + "B2bMemberCompany": { + "title": "B2bMemberCompany", + "type": "object", + "required": [ + "brn", + "name", + "ceoName", + "address", + "businessType", + "businessClass" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호", + "description": "`-` 없이 숫자로만 구성됩니다." + }, + "name": { + "type": "string", + "title": "회사명" + }, + "ceoName": { + "type": "string", + "title": "대표자 성명" + }, + "address": { + "type": "string", + "title": "회사 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + } + }, + "B2bMemberCompanyNotFoundError": { + "title": "연동 사업자가 존재하지 않는 경우", + "description": "연동 사업자가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "연동 사업자가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "B2bModification": { + "title": "세금 계산서 수정", + "description": "세금 계산서 수정", + "type": "object", + "required": [ + "type", + "originalNtsApproveNumber" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/B2bTaxInvoiceModificationType", + "title": "수정 사유" + }, + "originalNtsApproveNumber": { + "type": "string", + "title": "수정 대상 원본 세금계산서 국세청 승인 번호" + } + }, + "x-portone-title": "세금 계산서 수정" + }, + "B2bNotEnabledError": { + "title": "B2B 기능이 활성화되지 않은 경우", + "description": "B2B 기능이 활성화되지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "B2B 기능이 활성화되지 않은 경우", + "x-portone-status-code": 403 + }, + "B2bRecipientNotFoundError": { + "title": "공급받는자가 존재하지 않은 경우", + "description": "공급받는자가 존재하지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "공급받는자가 존재하지 않은 경우", + "x-portone-status-code": 404 + }, + "B2bRegularMaintenanceTimeError": { + "title": "금융기관 시스템이 정기 점검 중인 경우", + "description": "금융기관 시스템이 정기 점검 중인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "금융기관 시스템이 정기 점검 중인 경우", + "x-portone-status-code": 503 + }, + "B2bSearchDateType": { + "title": "조회 기준", + "description": "조회 기준", + "type": "string", + "enum": [ + "REGISTER", + "WRITE", + "ISSUE" + ], + "x-portone-title": "조회 기준", + "x-portone-enum": { + "REGISTER": { + "title": "등록일" + }, + "WRITE": { + "title": "작성일" + }, + "ISSUE": { + "title": "발행일" + } + } + }, + "B2bSupplierNotFoundError": { + "title": "공급자가 존재하지 않은 경우", + "description": "공급자가 존재하지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "공급자가 존재하지 않은 경우", + "x-portone-status-code": 404 + }, + "B2bSuspendedAccountError": { + "title": "정지 계좌인 경우", + "description": "정지 계좌인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정지 계좌인 경우", + "x-portone-status-code": 404 + }, + "B2bTaxInvoice": { + "title": "B2bTaxInvoice", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bTaxInvoiceBeforeSending" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceIssuanceCancelled" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceIssued" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceRegistered" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceRequestCancelled" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceRequestRefused" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceRequested" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceSending" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceSendingCompleted" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceSendingFailed" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceWaitingSending" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "BEFORE_SENDING": "#/components/schemas/B2bTaxInvoiceBeforeSending", + "ISSUANCE_CANCELLED": "#/components/schemas/B2bTaxInvoiceIssuanceCancelled", + "ISSUANCE_REFUSED": "#/components/schemas/B2bTaxInvoiceRequestRefused", + "ISSUED": "#/components/schemas/B2bTaxInvoiceIssued", + "REGISTERED": "#/components/schemas/B2bTaxInvoiceRegistered", + "REQUESTED": "#/components/schemas/B2bTaxInvoiceRequested", + "REQUEST_CANCELLED": "#/components/schemas/B2bTaxInvoiceRequestCancelled", + "SENDING": "#/components/schemas/B2bTaxInvoiceSending", + "SENDING_COMPLETED": "#/components/schemas/B2bTaxInvoiceSendingCompleted", + "SENDING_FAILED": "#/components/schemas/B2bTaxInvoiceSendingFailed", + "WAITING_SENDING": "#/components/schemas/B2bTaxInvoiceWaitingSending" + } + }, + "x-portone-discriminator": { + "BEFORE_SENDING": { + "title": "전송전" + }, + "SENDING_FAILED": { + "title": "전송실패" + }, + "ISSUANCE_REFUSED": { + "title": "공급자의 발행거부" + }, + "REQUEST_CANCELLED": { + "title": "공급받는자에 의한 발행취소" + }, + "REQUESTED": { + "title": "역발행대기 (전자 서명 요청됨)" + }, + "ISSUED": { + "title": "발행완료" + }, + "SENDING_COMPLETED": { + "title": "전송완료" + }, + "REGISTERED": { + "title": "임시저장" + }, + "SENDING": { + "title": "전송중" + }, + "WAITING_SENDING": { + "title": "전송대기" + }, + "ISSUANCE_CANCELLED": { + "title": "공급자에 의한 발행 취소" + } + } + }, + "B2bTaxInvoiceAdditionalContact": { + "title": "추가 담당자", + "description": "추가 담당자", + "type": "object", + "required": [ + "email" + ], + "properties": { + "name": { + "type": "string", + "title": "성명", + "description": "최대 100자" + }, + "email": { + "type": "string", + "title": "이메일" + } + }, + "x-portone-title": "추가 담당자" + }, + "B2bTaxInvoiceAttachment": { + "title": "세금계산서 첨부파일", + "description": "세금계산서 첨부파일", + "type": "object", + "required": [ + "id", + "name", + "attachedAt" + ], + "properties": { + "id": { + "type": "string", + "title": "첨부 파일 아이디" + }, + "name": { + "type": "string", + "title": "첨부 파일명" + }, + "attachedAt": { + "type": "string", + "format": "date-time", + "title": "첨부 일시" + } + }, + "x-portone-title": "세금계산서 첨부파일" + }, + "B2bTaxInvoiceAttachmentNotFoundError": { + "title": "세금계산서의 첨부파일을 찾을 수 없는 경우", + "description": "세금계산서의 첨부파일을 찾을 수 없는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서의 첨부파일을 찾을 수 없는 경우", + "x-portone-status-code": 404 + }, + "B2bTaxInvoiceBeforeSending": { + "title": "B2bTaxInvoiceBeforeSending", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + } + } + }, + "B2bTaxInvoiceCompany": { + "title": "B2bTaxInvoiceCompany", + "type": "object", + "required": [ + "brn" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호", + "description": "`-`를 제외한 10자리" + }, + "taxRegistrationId": { + "type": "string", + "title": "종사업자 식별 번호", + "description": "4자리 고정" + }, + "name": { + "type": "string", + "title": "상호명", + "description": "최대 200자" + }, + "ceoName": { + "type": "string", + "title": "대표자 성명", + "description": "최대 100자" + }, + "address": { + "type": "string", + "title": "주소", + "description": "최대 300자" + }, + "businessType": { + "type": "string", + "title": "업태", + "description": "최대 100자" + }, + "businessClass": { + "type": "string", + "title": "종목", + "description": "최대 100자" + }, + "contact": { + "$ref": "#/components/schemas/B2bTaxInvoiceContact", + "title": "담당자" + } + } + }, + "B2bTaxInvoiceContact": { + "title": "세금계산서 담당자", + "description": "세금계산서 담당자", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "성명" + }, + "department": { + "type": "string", + "title": "부서" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + }, + "mobilePhoneNumber": { + "type": "string", + "title": "휴대전화번호" + }, + "email": { + "type": "string", + "title": "이메일" + } + }, + "x-portone-title": "세금계산서 담당자" + }, + "B2bTaxInvoiceDocumentKeyType": { + "title": "문서번호 유형", + "description": "문서번호 유형", + "type": "string", + "enum": [ + "SUPPLIER", + "RECIPIENT" + ], + "x-portone-title": "문서번호 유형", + "x-portone-enum": { + "SUPPLIER": { + "title": "공급자" + }, + "RECIPIENT": { + "title": "공급받는자" + } + } + }, + "B2bTaxInvoiceInput": { + "title": "세금계산서 생성 요청 정보", + "description": "세금계산서 생성 요청 정보", + "type": "object", + "required": [ + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "supplier", + "recipient" + ], + "properties": { + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "권" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "호" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호", + "description": "영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호", + "description": "영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부", + "description": "공급자 담당자 휴대폰번호 {supplier.contact.mobile_phone_number} 값으로 문자 전송 전송시 포인트 차감되며, 실패시 환불 처리 기본값은 false" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + } + }, + "x-portone-title": "세금계산서 생성 요청 정보" + }, + "B2bTaxInvoiceIssuanceCancelled": { + "title": "B2bTaxInvoiceIssuanceCancelled", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + }, + "recipientBusinessStatus": { + "$ref": "#/components/schemas/B2bCompanyStateBusinessStatus", + "title": "공급받는자 영업 상태" + }, + "recipientClosedSuspendedDate": { + "description": "상태가 CLOSED, SUSPENDED 상태인 경우에만 결과값 반환", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "공급받는자 휴폐업일자" + } + } + }, + "B2bTaxInvoiceIssued": { + "title": "B2bTaxInvoiceIssued", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + } + } + }, + "B2bTaxInvoiceItem": { + "title": "품목", + "description": "품목", + "type": "object", + "properties": { + "purchaseDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "결제일" + }, + "name": { + "type": "string", + "title": "품명", + "description": "최대 100자" + }, + "spec": { + "type": "string", + "title": "규격", + "description": "최대 100자" + }, + "quantity": { + "type": "integer", + "format": "int64", + "title": "수량", + "description": "입력 범위 : -99999999.99 ~ 999999999.99, 10^-quantityScale 단위로 치환됨" + }, + "quantityScale": { + "type": "integer", + "format": "int32", + "title": "수량 단위", + "description": "입력 범위 : 0 ~ 2, 기본값: 0" + }, + "unitCostAmount": { + "type": "integer", + "format": "int64", + "title": "단가", + "description": "입력 범위 : -99999999999999.99 ~ 999999999999999.99" + }, + "unitCostAmountScale": { + "type": "integer", + "format": "int32", + "title": "단가 단위", + "description": "입력 범위 : 0 ~ 2, 기본값: 0" + }, + "supplyCostAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "taxAmount": { + "type": "integer", + "format": "int64", + "title": "세액" + }, + "remark": { + "type": "string", + "title": "비고" + } + }, + "x-portone-title": "품목" + }, + "B2bTaxInvoiceModificationType": { + "title": "수정 사유", + "description": "수정 사유", + "type": "string", + "enum": [ + "CORRECTION_OF_ENTRY_ERRORS", + "CHANGE_IN_SUPPLY_COST", + "RETURN", + "CANCELLATION_OF_CONTRACT", + "DUPLICATE_ISSUANCE_DUE_TO_ERROR", + "POST_ISSUANCE_LOCAL_LETTER_OF_CREDIT" + ], + "x-portone-title": "수정 사유", + "x-portone-enum": { + "DUPLICATE_ISSUANCE_DUE_TO_ERROR": { + "title": "착오에 의한 이중 발급" + }, + "CHANGE_IN_SUPPLY_COST": { + "title": "공금가액 변동" + }, + "CANCELLATION_OF_CONTRACT": { + "title": "계약 해제" + }, + "POST_ISSUANCE_LOCAL_LETTER_OF_CREDIT": { + "title": "내국신용장 사후개설" + }, + "CORRECTION_OF_ENTRY_ERRORS": { + "title": "기재사항 착오 정정" + }, + "RETURN": { + "title": "환입" + } + } + }, + "B2bTaxInvoiceNoRecipientDocumentKeyError": { + "title": "세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우", + "description": "세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우", + "x-portone-status-code": 400 + }, + "B2bTaxInvoiceNoSupplierDocumentKeyError": { + "title": "세금계산서에 공급자 문서 번호가 기입되지 않은 경우", + "description": "세금계산서에 공급자 문서 번호가 기입되지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서에 공급자 문서 번호가 기입되지 않은 경우", + "x-portone-status-code": 400 + }, + "B2bTaxInvoiceNonDeletableStatusError": { + "title": "세금계산서가 삭제 가능한 상태가 아닌 경우", + "description": "세금계산서가 삭제 가능한 상태가 아닌 경우\n\n삭제 가능한 상태는 `REGISTERED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`, `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서가 삭제 가능한 상태가 아닌 경우", + "x-portone-description": "삭제 가능한 상태는 `REGISTERED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`, `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.", + "x-portone-status-code": 400 + }, + "B2bTaxInvoiceNotFoundError": { + "title": "세금계산서가 존재하지 않은 경우", + "description": "세금계산서가 존재하지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서가 존재하지 않은 경우", + "x-portone-status-code": 404 + }, + "B2bTaxInvoiceNotIssuedStatusError": { + "title": "세금계산서가 발행된(ISSUED) 상태가 아닌 경우", + "description": "세금계산서가 발행된(ISSUED) 상태가 아닌 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서가 발행된(ISSUED) 상태가 아닌 경우", + "x-portone-status-code": 400 + }, + "B2bTaxInvoiceNotRegisteredStatusError": { + "title": "세금계산서가 임시저장 상태가 아닌 경우", + "description": "세금계산서가 임시저장 상태가 아닌 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서가 임시저장 상태가 아닌 경우", + "x-portone-status-code": 400 + }, + "B2bTaxInvoiceNotRequestedStatusError": { + "title": "세금계산서가 역발행 대기 상태가 아닌 경우", + "description": "세금계산서가 역발행 대기 상태가 아닌 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "세금계산서가 역발행 대기 상태가 아닌 경우", + "x-portone-status-code": 400 + }, + "B2bTaxInvoicePurposeType": { + "title": "영수/청구", + "description": "영수/청구", + "type": "string", + "enum": [ + "RECEIPT", + "INVOICE", + "NONE" + ], + "x-portone-title": "영수/청구", + "x-portone-enum": { + "RECEIPT": {}, + "INVOICE": {}, + "NONE": {} + } + }, + "B2bTaxInvoiceRegistered": { + "title": "B2bTaxInvoiceRegistered", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + } + } + }, + "B2bTaxInvoiceRequestCancelled": { + "title": "B2bTaxInvoiceRequestCancelled", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + } + } + }, + "B2bTaxInvoiceRequestRefused": { + "title": "B2bTaxInvoiceRequestRefused", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + } + } + }, + "B2bTaxInvoiceRequested": { + "title": "B2bTaxInvoiceRequested", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + } + } + }, + "B2bTaxInvoiceSending": { + "title": "B2bTaxInvoiceSending", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber", + "ntsSentAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + }, + "ntsSentAt": { + "type": "string", + "format": "date-time", + "title": "국세청 전송 일시" + } + } + }, + "B2bTaxInvoiceSendingCompleted": { + "title": "B2bTaxInvoiceSendingCompleted", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber", + "ntsSentAt", + "ntsResultReceivedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + }, + "ntsSentAt": { + "type": "string", + "format": "date-time", + "title": "국세청 전송 일시" + }, + "ntsResult": { + "type": "string", + "title": "국세청 전송 결과" + }, + "ntsResultCode": { + "type": "string", + "title": "국세청 결과 코드", + "description": "국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨" + }, + "ntsResultReceivedAt": { + "type": "string", + "format": "date-time", + "title": "국세청 결과 수신 일시" + } + } + }, + "B2bTaxInvoiceSendingFailed": { + "title": "B2bTaxInvoiceSendingFailed", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber", + "ntsSentAt", + "ntsResultReceivedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + }, + "ntsSentAt": { + "type": "string", + "format": "date-time", + "title": "국세청 전송 일시" + }, + "ntsResult": { + "type": "string", + "title": "국세청 전송 결과" + }, + "ntsResultCode": { + "type": "string", + "title": "국세청 결과 코드", + "description": "국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨" + }, + "ntsResultReceivedAt": { + "type": "string", + "format": "date-time", + "title": "국세청 결과 수신 일시" + } + } + }, + "B2bTaxInvoiceStatus": { + "title": "B2bTaxInvoiceStatus", + "type": "string", + "enum": [ + "REGISTERED", + "REQUESTED", + "REQUEST_CANCELLED_BY_RECIPIENT", + "ISSUED", + "BEFORE_SENDING", + "WAITING_SENDING", + "SENDING", + "SENDING_COMPLETED", + "SENDING_FAILED", + "REQUEST_REFUSED", + "ISSUANCE_CANCELLED_BY_SUPPLIER" + ], + "x-portone-enum": { + "BEFORE_SENDING": { + "title": "전송전" + }, + "SENDING_FAILED": { + "title": "전송실패" + }, + "REQUEST_REFUSED": { + "title": "공급자의 발행거부" + }, + "REQUEST_CANCELLED_BY_RECIPIENT": { + "title": "공급받는자에 의한 발행취소" + }, + "ISSUANCE_CANCELLED_BY_SUPPLIER": { + "title": "공급자에 의한 발행 취소" + }, + "REQUESTED": { + "title": "역발행대기 (전자 서명 요청됨)" + }, + "ISSUED": { + "title": "발행완료" + }, + "SENDING_COMPLETED": { + "title": "전송완료" + }, + "REGISTERED": { + "title": "임시저장" + }, + "SENDING": { + "title": "전송중" + }, + "WAITING_SENDING": { + "title": "전송대기" + } + } + }, + "B2bTaxInvoiceSummary": { + "title": "세금계산서 요약", + "description": "세금계산서 요약", + "type": "object", + "required": [ + "taxType", + "supplyCostTotalAmount", + "taxTotalAmount", + "purposeType", + "supplierBrn", + "supplierName", + "recipientBrn", + "recipientName", + "status", + "statusUpdatedAt" + ], + "properties": { + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplierBrn": { + "type": "string", + "title": "공급자 사업자등록번호" + }, + "supplierName": { + "type": "string", + "title": "공급자 상호" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "recipientBrn": { + "type": "string", + "title": "공급받는자 사업자등록번호" + }, + "recipientName": { + "type": "string", + "title": "공급받는자 상호" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipientBusinessStatus": { + "$ref": "#/components/schemas/B2bCompanyStateBusinessStatus", + "title": "공급받는자 영업 상태" + }, + "recipientClosedSuspendedDate": { + "description": "상태가 CLOSED, SUSPENDED 상태인 경우에만 결과값 반환", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "공급받는자 휴폐업일자" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "openedAt": { + "type": "string", + "format": "date-time", + "title": "개봉 일시" + }, + "status": { + "$ref": "#/components/schemas/B2bTaxInvoiceStatus", + "title": "상태" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + }, + "ntsResult": { + "type": "string", + "title": "국세청 전송 결과" + }, + "ntsSentAt": { + "type": "string", + "format": "date-time", + "title": "국세청 전송 일시" + }, + "ntsResultReceivedAt": { + "type": "string", + "format": "date-time", + "title": "국세청 결과 수신 일시" + }, + "ntsResultCode": { + "type": "string", + "title": "국세청 결과 코드", + "description": "국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨" + } + }, + "x-portone-title": "세금계산서 요약" + }, + "B2bTaxInvoiceWaitingSending": { + "title": "B2bTaxInvoiceWaitingSending", + "type": "object", + "required": [ + "status", + "taxType", + "writeDate", + "purposeType", + "supplyCostTotalAmount", + "taxTotalAmount", + "totalAmount", + "remarks", + "supplier", + "recipient", + "sendSms", + "items", + "contacts", + "statusUpdatedAt", + "issuedAt", + "ntsApproveNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "세금계산서 상태" + }, + "taxType": { + "$ref": "#/components/schemas/B2bTaxType", + "title": "과세 유형" + }, + "serialNum": { + "type": "string", + "title": "일련번호" + }, + "bookVolume": { + "type": "integer", + "format": "int32", + "title": "책번호 - 권", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "bookIssue": { + "type": "integer", + "format": "int32", + "title": "책번호 - 호", + "description": "입력 범위(4자리) : 0 ~ 9999" + }, + "writeDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "작성일" + }, + "purposeType": { + "$ref": "#/components/schemas/B2bTaxInvoicePurposeType", + "title": "영수/청구" + }, + "supplyCostTotalAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액 합계" + }, + "taxTotalAmount": { + "type": "integer", + "format": "int64", + "title": "세액 합계" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "합계 금액" + }, + "cashAmount": { + "type": "integer", + "format": "int64", + "title": "현금" + }, + "checkAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "creditAmount": { + "type": "integer", + "format": "int64", + "title": "외상" + }, + "noteAmount": { + "type": "integer", + "format": "int64", + "title": "수표" + }, + "remarks": { + "type": "array", + "items": { + "type": "string" + }, + "title": "비고", + "description": "최대 3개" + }, + "supplierDocumentKey": { + "type": "string", + "title": "공급자 문서번호" + }, + "supplier": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급자" + }, + "recipientDocumentKey": { + "type": "string", + "title": "공급받는자 문서번호" + }, + "recipient": { + "$ref": "#/components/schemas/B2bTaxInvoiceCompany", + "title": "공급받는자" + }, + "sendSms": { + "type": "boolean", + "title": "문자 전송 여부" + }, + "modification": { + "$ref": "#/components/schemas/B2bModification", + "title": "수정 사유 기재" + }, + "items": { + "title": "품목", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceItem" + }, + "description": "최대 99개" + }, + "contacts": { + "title": "추가 담당자", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAdditionalContact" + }, + "description": "최대 3개" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time", + "title": "상태 변경 일시" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발행 일시" + }, + "ntsApproveNumber": { + "type": "string", + "title": "국세청 승인번호", + "description": "세금계산서 발행(전자서명) 시점에 자동으로 부여" + } + } + }, + "B2bTaxType": { + "title": "과세 유형", + "description": "과세 유형", + "type": "string", + "enum": [ + "TAXABLE", + "ZERO_RATED", + "FREE" + ], + "x-portone-title": "과세 유형", + "x-portone-enum": { + "TAXABLE": { + "title": "과세" + }, + "ZERO_RATED": { + "title": "영세" + }, + "FREE": { + "title": "면세" + } + } + }, + "Bank": { + "title": "은행", + "description": "은행", + "type": "string", + "enum": [ + "BANK_OF_KOREA", + "KDB", + "IBK", + "KOOKMIN", + "SUHYUP", + "KEXIM", + "NONGHYUP", + "LOCAL_NONGHYUP", + "WOORI", + "STANDARD_CHARTERED", + "CITI", + "DAEGU", + "BUSAN", + "KWANGJU", + "JEJU", + "JEONBUK", + "KYONGNAM", + "KFCC", + "SHINHYUP", + "SAVINGS_BANK", + "MORGAN_STANLEY", + "HSBC", + "DEUTSCHE", + "JPMC", + "MIZUHO", + "MUFG", + "BANK_OF_AMERICA", + "BNP_PARIBAS", + "ICBC", + "BANK_OF_CHINA", + "NFCF", + "UOB", + "BOCOM", + "CCB", + "POST", + "KODIT", + "KIBO", + "HANA", + "SHINHAN", + "K_BANK", + "KAKAO", + "TOSS", + "MISC_FOREIGN", + "SGI", + "KCIS", + "YUANTA_SECURITIES", + "KB_SECURITIES", + "SANGSANGIN_SECURITIES", + "HANYANG_SECURITIES", + "LEADING_SECURITIES", + "BNK_SECURITIES", + "IBK_SECURITIES", + "DAOL_SECURITIES", + "MIRAE_ASSET_SECURITIES", + "SAMSUNG_SECURITIES", + "KOREA_SECURITIES", + "NH_SECURITIES", + "KYOBO_SECURITIES", + "HI_SECURITIES", + "HYUNDAI_MOTOR_SECURITIES", + "KIWOOM_SECURITIES", + "EBEST_SECURITIES", + "SK_SECURITIES", + "DAISHIN_SECURITIES", + "HANHWA_SECURITIES", + "HANA_SECURITIES", + "TOSS_SECURITIES", + "SHINHAN_SECURITIES", + "DB_SECURITIES", + "EUGENE_SECURITIES", + "MERITZ_SECURITIES", + "KAKAO_PAY_SECURITIES", + "BOOKOOK_SECURITIES", + "SHINYOUNG_SECURITIES", + "CAPE_SECURITIES", + "KOREA_SECURITIES_FINANCE", + "KOREA_FOSS_SECURITIES", + "WOORI_INVESTMENT_BANK" + ], + "x-portone-title": "은행", + "x-portone-enum": { + "BANK_OF_CHINA": { + "title": "중국은행" + }, + "KDB": { + "title": "산업은행" + }, + "HANYANG_SECURITIES": { + "title": "한양증권" + }, + "SK_SECURITIES": { + "title": "SK증권" + }, + "HANA_SECURITIES": { + "title": "하나증권" + }, + "KB_SECURITIES": { + "title": "KB증권" + }, + "KYONGNAM": { + "title": "경남은행" + }, + "WOORI_INVESTMENT_BANK": { + "title": "우리종합금융" + }, + "CITI": { + "title": "한국씨티은행" + }, + "SHINYOUNG_SECURITIES": { + "title": "신영증권" + }, + "KOREA_SECURITIES": { + "title": "한국투자증권" + }, + "SHINHAN": { + "title": "신한은행" + }, + "LEADING_SECURITIES": { + "title": "리딩투자증권" + }, + "UOB": { + "title": "대화은행" + }, + "KOREA_FOSS_SECURITIES": { + "title": "한국포스증권" + }, + "MERITZ_SECURITIES": { + "title": "메리츠증권" + }, + "MIZUHO": { + "title": "미즈호은행" + }, + "EBEST_SECURITIES": { + "title": "LS증권" + }, + "SANGSANGIN_SECURITIES": { + "title": "상상인증권" + }, + "IBK": { + "title": "기업은행" + }, + "DEUTSCHE": { + "title": "도이치은행" + }, + "KCIS": { + "title": "한국신용정보원" + }, + "KEXIM": { + "title": "수출입은행" + }, + "SHINHYUP": { + "title": "신협" + }, + "CCB": { + "title": "중국건설은행" + }, + "HANA": { + "title": "하나은행" + }, + "TOSS_SECURITIES": { + "title": "토스증권" + }, + "IBK_SECURITIES": { + "title": "IBK투자증권" + }, + "SHINHAN_SECURITIES": { + "title": "신한투자증권" + }, + "HANHWA_SECURITIES": { + "title": "한화투자증권" + }, + "LOCAL_NONGHYUP": { + "title": "지역농축협" + }, + "WOORI": { + "title": "우리은행" + }, + "SAMSUNG_SECURITIES": { + "title": "삼성증권" + }, + "K_BANK": { + "title": "케이뱅크" + }, + "DB_SECURITIES": { + "title": "DB금융투자" + }, + "SGI": { + "title": "서울보증보험" + }, + "JEJU": { + "title": "제주은행" + }, + "MIRAE_ASSET_SECURITIES": { + "title": "미래에셋증권" + }, + "SAVINGS_BANK": { + "title": "저축은행" + }, + "EUGENE_SECURITIES": { + "title": "유진투자증권" + }, + "DAEGU": { + "title": "아이엠뱅크" + }, + "BNK_SECURITIES": { + "title": "BNK투자증권" + }, + "KAKAO_PAY_SECURITIES": { + "title": "카카오페이증권" + }, + "SUHYUP": { + "title": "수협은행" + }, + "CAPE_SECURITIES": { + "title": "케이프투자증권" + }, + "JEONBUK": { + "title": "전북은행" + }, + "BNP_PARIBAS": { + "title": "비엔피파리바은행" + }, + "KOREA_SECURITIES_FINANCE": { + "title": "한국증권금융" + }, + "KODIT": { + "title": "신용보증기금" + }, + "BOCOM": { + "title": "교통은행" + }, + "DAOL_SECURITIES": { + "title": "다올투자증권" + }, + "NFCF": { + "title": "산림조합중앙회" + }, + "HSBC": { + "title": "HSBC은행" + }, + "STANDARD_CHARTERED": { + "title": "SC제일은행" + }, + "KWANGJU": { + "title": "광주은행" + }, + "ICBC": { + "title": "중국공상은행" + }, + "TOSS": { + "title": "토스뱅크" + }, + "HYUNDAI_MOTOR_SECURITIES": { + "title": "현대차증권" + }, + "BANK_OF_AMERICA": { + "title": "BOA은행" + }, + "BANK_OF_KOREA": { + "title": "한국은행" + }, + "NONGHYUP": { + "title": "NH농협은행" + }, + "HI_SECURITIES": { + "title": "하이투자증권" + }, + "KIBO": { + "title": "기술보증기금" + }, + "KAKAO": { + "title": "카카오뱅크" + }, + "KIWOOM_SECURITIES": { + "title": "키움증권" + }, + "BUSAN": { + "title": "부산은행" + }, + "NH_SECURITIES": { + "title": "NH투자증권" + }, + "MORGAN_STANLEY": { + "title": "모간스탠리은행" + }, + "KFCC": { + "title": "새마을금고" + }, + "BOOKOOK_SECURITIES": { + "title": "부국증권" + }, + "MISC_FOREIGN": { + "title": "기타 외국계은행(중국 농업은행 등)" + }, + "YUANTA_SECURITIES": { + "title": "유안타증권" + }, + "POST": { + "title": "우체국" + }, + "DAISHIN_SECURITIES": { + "title": "대신증권" + }, + "KOOKMIN": { + "title": "국민은행" + }, + "MUFG": { + "title": "엠유에프지은행" + }, + "JPMC": { + "title": "제이피모간체이스은행" + }, + "KYOBO_SECURITIES": { + "title": "교보증권" + } + } + }, + "BeforeRegisteredPaymentEscrow": { + "title": "배송 정보 등록 전", + "description": "배송 정보 등록 전", + "type": "object", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + } + }, + "x-portone-title": "배송 정보 등록 전" + }, + "BillingKeyAlreadyDeletedError": { + "title": "빌링키가 이미 삭제된 경우", + "description": "빌링키가 이미 삭제된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "빌링키가 이미 삭제된 경우", + "x-portone-status-code": 409 + }, + "BillingKeyFailure": { + "title": "발급 실패 상세 정보", + "description": "발급 실패 상세 정보", + "type": "object", + "required": [ + "failedAt" + ], + "properties": { + "message": { + "type": "string", + "title": "실패 사유" + }, + "pgCode": { + "type": "string", + "title": "PG사 실패 코드" + }, + "pgMessage": { + "type": "string", + "title": "PG사 실패 사유" + }, + "failedAt": { + "type": "string", + "format": "date-time", + "title": "실패 시점" + } + }, + "x-portone-title": "발급 실패 상세 정보" + }, + "BillingKeyFilterInput": { + "title": "빌링키 다건 조회를 위한 입력 정보", + "description": "빌링키 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 빌링키를 조회합니다." + }, + "timeRangeField": { + "$ref": "#/components/schemas/BillingKeyTimeRangeField", + "title": "조회 기준 시점 유형" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "조회 기준 시점 범위의 시작", + "description": "값을 입력하지 않으면 end의 90일 전으로 설정됩니다." + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회 기준 시점 범위의 끝", + "description": "값을 입력하지 않으면 현재 시점으로 설정됩니다." + }, + "status": { + "title": "빌링키 상태 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingKeyStatus" + }, + "description": "값을 입력하지 않으면 빌링키 상태 필터링이 적용되지 않습니다." + }, + "channelGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "채널 그룹 아이디 리스트", + "description": "값을 입력하지 않으면 스마트 라우팅 그룹 아이디 필터링이 적용되지 않습니다." + }, + "customerId": { + "type": "string", + "title": "고객 ID" + }, + "platformType": { + "$ref": "#/components/schemas/PaymentClientType", + "title": "플랫폼 유형" + }, + "textSearch": { + "$ref": "#/components/schemas/BillingKeyTextSearch", + "title": "통합 검색 필터" + }, + "pgProviders": { + "title": "PG사 결제 모듈 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgProvider" + }, + "description": "값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다." + }, + "pgCompanies": { + "title": "PG사 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgCompany" + }, + "description": "값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다." + }, + "methods": { + "title": "결제수단 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingKeyPaymentMethodType" + }, + "description": "값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다." + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + } + }, + "x-portone-title": "빌링키 다건 조회를 위한 입력 정보" + }, + "BillingKeyInfo": { + "title": "빌링키 정보", + "description": "빌링키 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/DeletedBillingKeyInfo" + }, + { + "$ref": "#/components/schemas/IssuedBillingKeyInfo" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "DELETED": "#/components/schemas/DeletedBillingKeyInfo", + "ISSUED": "#/components/schemas/IssuedBillingKeyInfo" + } + }, + "x-portone-title": "빌링키 정보", + "x-portone-discriminator": { + "ISSUED": { + "title": "발급 완료" + }, + "DELETED": { + "title": "발급 삭제 완료" + } + } + }, + "BillingKeyInfoSummary": { + "title": "BillingKeyInfoSummary", + "type": "object", + "required": [ + "billingKey", + "issuedAt" + ], + "properties": { + "billingKey": { + "type": "string", + "title": "발급된 빌링키" + }, + "channels": { + "title": "발급된 채널", + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectedChannel" + }, + "x-portone-title": "(결제, 본인인증 등에) 선택된 채널 정보", + "properties": { + "name": { + "title": "채널 명" + }, + "key": { + "title": "채널 키" + }, + "id": { + "title": "채널 아이디" + }, + "pgProvider": { + "title": "PG사" + }, + "pgMerchantId": { + "title": "PG사 고객사 식별 아이디" + }, + "type": { + "title": "채널 타입" + } + } + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "빌링크 발급 완료 시점" + } + } + }, + "BillingKeyNotFoundError": { + "title": "빌링키가 존재하지 않는 경우", + "description": "빌링키가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "빌링키가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "BillingKeyNotIssuedError": { + "title": "BillingKeyNotIssuedError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "BillingKeyPaymentInput": { + "title": "빌링키 결제 요청 입력 정보", + "description": "빌링키 결제 요청 입력 정보", + "type": "object", + "required": [ + "billingKey", + "orderName", + "amount", + "currency" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "billingKey": { + "type": "string", + "title": "빌링키 결제에 사용할 빌링키" + }, + "channelKey": { + "type": "string", + "title": "채널 키", + "description": "다수 채널에 대해 발급된 빌링키에 대해, 결제 채널을 특정하고 싶을 때 명시" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "customer": { + "$ref": "#/components/schemas/CustomerInput", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmountInput", + "title": "결제 금액 세부 입력 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "useFreeInterestFromMerchant": { + "type": "boolean", + "title": "무이자 할부 이자를 고객사가 부담할지 여부" + }, + "useCardPoint": { + "type": "boolean", + "title": "카드 포인트 사용 여부" + }, + "cashReceipt": { + "$ref": "#/components/schemas/CashReceiptInput", + "title": "현금영수증 정보" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "결제 국가" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소", + "description": "결제 승인/실패 시 요청을 받을 웹훅 주소입니다.\n상점에 설정되어 있는 값보다 우선적으로 적용됩니다.\n입력된 값이 없을 경우에는 빈 배열로 해석됩니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + }, + "description": "입력된 값이 없을 경우에는 빈 배열로 해석됩니다." + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 개수" + }, + "productType": { + "$ref": "#/components/schemas/PaymentProductType", + "title": "상품 유형" + }, + "shippingAddress": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "배송지 주소" + }, + "promotionId": { + "type": "string", + "title": "해당 결제에 적용할 프로모션 아이디" + }, + "bypass": { + "type": "object", + "title": "PG사별 추가 파라미터 (\"PG사별 연동 가이드\" 참고)" + } + }, + "x-portone-title": "빌링키 결제 요청 입력 정보" + }, + "BillingKeyPaymentMethod": { + "title": "빌링키 발급 수단 정보", + "description": "빌링키 발급 수단 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodCard" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodEasyPay" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodMobile" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodPaypal" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodTransfer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BillingKeyPaymentMethodCard": "#/components/schemas/BillingKeyPaymentMethodCard", + "BillingKeyPaymentMethodEasyPay": "#/components/schemas/BillingKeyPaymentMethodEasyPay", + "BillingKeyPaymentMethodMobile": "#/components/schemas/BillingKeyPaymentMethodMobile", + "BillingKeyPaymentMethodPaypal": "#/components/schemas/BillingKeyPaymentMethodPaypal", + "BillingKeyPaymentMethodTransfer": "#/components/schemas/BillingKeyPaymentMethodTransfer" + } + }, + "x-portone-title": "빌링키 발급 수단 정보", + "x-portone-discriminator": { + "BillingKeyPaymentMethodTransfer": { + "title": "계좌이체 정보" + }, + "BillingKeyPaymentMethodMobile": { + "title": "모바일 정보" + }, + "BillingKeyPaymentMethodEasyPay": { + "title": "간편 결제 정보" + }, + "BillingKeyPaymentMethodCard": { + "title": "카드 정보" + }, + "BillingKeyPaymentMethodPaypal": { + "title": "페이팔 정보" + } + } + }, + "BillingKeyPaymentMethodCard": { + "title": "카드 정보", + "description": "카드 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "card": { + "$ref": "#/components/schemas/Card", + "title": "카드 상세 정보" + } + }, + "x-portone-title": "카드 정보" + }, + "BillingKeyPaymentMethodEasyPay": { + "title": "간편 결제 정보", + "description": "간편 결제 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "provider": { + "$ref": "#/components/schemas/EasyPayProvider", + "title": "간편 결제 PG사" + }, + "method": { + "$ref": "#/components/schemas/BillingKeyPaymentMethodEasyPayMethod", + "title": "간편 결제 수단" + } + }, + "x-portone-title": "간편 결제 정보" + }, + "BillingKeyPaymentMethodEasyPayCharge": { + "title": "충전식 포인트 결제 정보", + "description": "충전식 포인트 결제 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "충전식 포인트 결제 정보" + }, + "BillingKeyPaymentMethodEasyPayMethod": { + "title": "간편 결제 수단", + "description": "간편 결제 수단", + "oneOf": [ + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodCard" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodEasyPayCharge" + }, + { + "$ref": "#/components/schemas/BillingKeyPaymentMethodTransfer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BillingKeyPaymentMethodCard": "#/components/schemas/BillingKeyPaymentMethodCard", + "BillingKeyPaymentMethodEasyPayCharge": "#/components/schemas/BillingKeyPaymentMethodEasyPayCharge", + "BillingKeyPaymentMethodTransfer": "#/components/schemas/BillingKeyPaymentMethodTransfer" + } + }, + "x-portone-title": "간편 결제 수단", + "x-portone-discriminator": { + "BillingKeyPaymentMethodCard": { + "title": "카드 정보" + }, + "BillingKeyPaymentMethodTransfer": { + "title": "계좌이체 정보" + }, + "BillingKeyPaymentMethodEasyPayCharge": { + "title": "충전식 포인트 결제 정보" + } + } + }, + "BillingKeyPaymentMethodMobile": { + "title": "모바일 정보", + "description": "모바일 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + } + }, + "x-portone-title": "모바일 정보" + }, + "BillingKeyPaymentMethodPaypal": { + "title": "페이팔 정보", + "description": "페이팔 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "페이팔 정보" + }, + "BillingKeyPaymentMethodTransfer": { + "title": "계좌이체 정보", + "description": "계좌이체 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "표준 은행 코드" + }, + "accountNumber": { + "type": "string", + "title": "계좌번호" + } + }, + "x-portone-title": "계좌이체 정보" + }, + "BillingKeyPaymentMethodType": { + "title": "빌링키 결제 수단", + "description": "빌링키 결제 수단", + "type": "string", + "enum": [ + "CARD", + "MOBILE", + "EASY_PAY", + "TRANSFER" + ], + "x-portone-title": "빌링키 결제 수단", + "x-portone-enum": { + "CARD": { + "title": "카드" + }, + "MOBILE": { + "title": "모바일" + }, + "EASY_PAY": { + "title": "간편 결제" + }, + "TRANSFER": { + "title": "계좌 이체" + } + } + }, + "BillingKeyPaymentSummary": { + "title": "빌링키 결제 완료된 결제 건 요약 정보", + "description": "빌링키 결제 완료된 결제 건 요약 정보", + "type": "object", + "required": [ + "pgTxId", + "paidAt" + ], + "properties": { + "pgTxId": { + "type": "string", + "title": "PG사 결제 아이디" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + } + }, + "x-portone-title": "빌링키 결제 완료된 결제 건 요약 정보" + }, + "BillingKeySortBy": { + "title": "빌링키 정렬 기준", + "description": "빌링키 정렬 기준", + "type": "string", + "enum": [ + "REQUESTED_AT", + "ISSUED_AT", + "DELETED_AT", + "STATUS_TIMESTAMP" + ], + "x-portone-title": "빌링키 정렬 기준", + "x-portone-enum": { + "REQUESTED_AT": { + "title": "발급 요청 시각" + }, + "ISSUED_AT": { + "title": "발급 완료 시각" + }, + "DELETED_AT": { + "title": "삭제 완료 시각" + }, + "STATUS_TIMESTAMP": { + "title": "상태 변경 시각", + "description": "발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT" + } + } + }, + "BillingKeySortInput": { + "title": "빌링키 다건 조회 시 정렬 조건", + "description": "빌링키 다건 조회 시 정렬 조건", + "type": "object", + "properties": { + "by": { + "$ref": "#/components/schemas/BillingKeySortBy", + "title": "정렬 기준 필드", + "description": "어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, REQUESTED_AT이 기본값으로 설정됩니다." + }, + "order": { + "$ref": "#/components/schemas/SortOrder", + "title": "정렬 순서", + "description": "어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다." + } + }, + "x-portone-title": "빌링키 다건 조회 시 정렬 조건" + }, + "BillingKeyStatus": { + "title": "빌링키 상태", + "description": "빌링키 상태", + "type": "string", + "enum": [ + "ISSUED", + "DELETED" + ], + "x-portone-title": "빌링키 상태", + "x-portone-enum": { + "ISSUED": {}, + "DELETED": {} + } + }, + "BillingKeyTextSearch": { + "title": "통합검색 입력 정보", + "description": "통합검색 입력 정보", + "type": "object", + "required": [ + "field", + "value" + ], + "properties": { + "field": { + "$ref": "#/components/schemas/BillingKeyTextSearchField" + }, + "value": { + "type": "string" + } + }, + "x-portone-title": "통합검색 입력 정보" + }, + "BillingKeyTextSearchField": { + "title": "통합검색 항목", + "description": "통합검색 항목", + "type": "string", + "enum": [ + "CARD_BIN", + "CARD_NUMBER", + "PG_MERCHANT_ID", + "CUSTOMER_NAME", + "CUSTOMER_EMAIL", + "CUSTOMER_PHONE_NUMBER", + "CUSTOMER_ADDRESS", + "CUSTOMER_ZIPCODE", + "USER_AGENT", + "BILLING_KEY", + "CHANNEL_GROUP_NAME" + ], + "x-portone-title": "통합검색 항목", + "x-portone-enum": { + "CUSTOMER_EMAIL": {}, + "USER_AGENT": {}, + "CUSTOMER_ADDRESS": {}, + "CARD_BIN": {}, + "CHANNEL_GROUP_NAME": {}, + "PG_MERCHANT_ID": {}, + "CUSTOMER_PHONE_NUMBER": {}, + "CUSTOMER_ZIPCODE": {}, + "CUSTOMER_NAME": {}, + "CARD_NUMBER": {}, + "BILLING_KEY": {} + } + }, + "BillingKeyTimeRangeField": { + "title": "빌링키 다건 조회 시, 시각 범위를 적용할 필드", + "description": "빌링키 다건 조회 시, 시각 범위를 적용할 필드", + "type": "string", + "enum": [ + "REQUESTED_AT", + "ISSUED_AT", + "DELETED_AT", + "STATUS_TIMESTAMP" + ], + "x-portone-title": "빌링키 다건 조회 시, 시각 범위를 적용할 필드", + "x-portone-enum": { + "REQUESTED_AT": { + "title": "발급 요청 시각" + }, + "ISSUED_AT": { + "title": "발급 완료 시각" + }, + "DELETED_AT": { + "title": "삭제 완료 시각" + }, + "STATUS_TIMESTAMP": { + "title": "상태 변경 시각", + "description": "발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT" + } + } + }, + "CancelAmountExceedsCancellableAmountError": { + "title": "결제 취소 금액이 취소 가능 금액을 초과한 경우", + "description": "결제 취소 금액이 취소 가능 금액을 초과한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 취소 금액이 취소 가능 금액을 초과한 경우", + "x-portone-status-code": 409 + }, + "CancelB2bTaxInvoiceIssuanceBody": { + "title": "세금계산서 역발행 취소 정보", + "description": "세금계산서 역발행 취소 정보", + "type": "object", + "required": [ + "brn", + "documentKey" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호" + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "memo": { + "type": "string", + "title": "메모" + } + }, + "x-portone-title": "세금계산서 역발행 취소 정보" + }, + "CancelB2bTaxInvoiceIssuanceError": { + "title": "CancelB2bTaxInvoiceIssuanceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotIssuedStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_ISSUED_STATUS": "#/components/schemas/B2bTaxInvoiceNotIssuedStatusError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelB2bTaxInvoiceRequestBody": { + "title": "세금계산서 역발행 요청 취소 정보", + "description": "세금계산서 역발행 요청 취소 정보", + "type": "object", + "required": [ + "brn", + "documentKey" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호" + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "memo": { + "type": "string", + "title": "메모" + } + }, + "x-portone-title": "세금계산서 역발행 요청 취소 정보" + }, + "CancelB2bTaxInvoiceRequestError": { + "title": "CancelB2bTaxInvoiceRequestError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REQUESTED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError", + "B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY": "#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelCashReceiptError": { + "title": "CancelCashReceiptError", + "oneOf": [ + { + "$ref": "#/components/schemas/CashReceiptNotFoundError" + }, + { + "$ref": "#/components/schemas/CashReceiptNotIssuedError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CASH_RECEIPT_NOT_FOUND": "#/components/schemas/CashReceiptNotFoundError", + "CASH_RECEIPT_NOT_ISSUED": "#/components/schemas/CashReceiptNotIssuedError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelCashReceiptResponse": { + "title": "현금 영수증 취소 성공 응답", + "description": "현금 영수증 취소 성공 응답", + "type": "object", + "required": [ + "cancelledAmount", + "cancelledAt" + ], + "properties": { + "cancelledAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "현금 영수증 취소 완료 시점" + } + }, + "x-portone-title": "현금 영수증 취소 성공 응답" + }, + "CancelPaymentBody": { + "title": "결제 취소 요청 입력 정보", + "description": "결제 취소 요청 입력 정보", + "type": "object", + "required": [ + "reason" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "취소 총 금액", + "description": "값을 입력하지 않으면 전액 취소됩니다." + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 면세 금액", + "description": "값을 입력하지 않으면 전액 과세 취소됩니다." + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 부가세액", + "description": "값을 입력하지 않으면 자동 계산됩니다." + }, + "reason": { + "type": "string", + "title": "취소 사유" + }, + "requester": { + "$ref": "#/components/schemas/CancelRequester", + "title": "취소 요청자", + "description": "고객에 의한 취소일 경우 Customer, 관리자에 의한 취소일 경우 Admin으로 입력합니다." + }, + "currentCancellableAmount": { + "type": "integer", + "format": "int64", + "title": "결제 건의 취소 가능 잔액", + "description": "본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 취소가 진행됩니다. 값을 입력하지 않으면 별도의 검증 처리를 수행하지 않습니다." + }, + "refundAccount": { + "$ref": "#/components/schemas/CancelPaymentBodyRefundAccount", + "title": "환불 계좌", + "description": "계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다." + } + }, + "x-portone-title": "결제 취소 요청 입력 정보" + }, + "CancelPaymentBodyRefundAccount": { + "title": "고객 정보 입력 형식", + "description": "고객 정보 입력 형식", + "type": "object", + "required": [ + "bank", + "number", + "holderName" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "number": { + "type": "string", + "title": "계좌번호" + }, + "holderName": { + "type": "string", + "title": "예금주" + }, + "holderPhoneNumber": { + "type": "string", + "title": "예금주 연락처 - 스마트로 가상계좌 결제인 경우에 필요합니다." + } + }, + "x-portone-title": "고객 정보 입력 형식" + }, + "CancelPaymentError": { + "title": "CancelPaymentError", + "oneOf": [ + { + "$ref": "#/components/schemas/CancelAmountExceedsCancellableAmountError" + }, + { + "$ref": "#/components/schemas/CancelTaxAmountExceedsCancellableTaxAmountError" + }, + { + "$ref": "#/components/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError" + }, + { + "$ref": "#/components/schemas/CancellableAmountConsistencyBrokenError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentAlreadyCancelledError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotPaidError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/RemainedAmountLessThanPromotionMinPaymentAmountError" + }, + { + "$ref": "#/components/schemas/SumOfPartsExceedsCancelAmountError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CANCELLABLE_AMOUNT_CONSISTENCY_BROKEN": "#/components/schemas/CancellableAmountConsistencyBrokenError", + "CANCEL_AMOUNT_EXCEEDS_CANCELLABLE_AMOUNT": "#/components/schemas/CancelAmountExceedsCancellableAmountError", + "CANCEL_TAX_AMOUNT_EXCEEDS_CANCELLABLE_TAX_AMOUNT": "#/components/schemas/CancelTaxAmountExceedsCancellableTaxAmountError", + "CANCEL_TAX_FREE_AMOUNT_EXCEEDS_CANCELLABLE_TAX_FREE_AMOUNT": "#/components/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_ALREADY_CANCELLED": "#/components/schemas/PaymentAlreadyCancelledError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_PAID": "#/components/schemas/PaymentNotPaidError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "REMAINED_AMOUNT_LESS_THAN_PROMOTION_MIN_PAYMENT_AMOUNT": "#/components/schemas/RemainedAmountLessThanPromotionMinPaymentAmountError", + "SUM_OF_PARTS_EXCEEDS_CANCEL_AMOUNT": "#/components/schemas/SumOfPartsExceedsCancelAmountError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelPaymentResponse": { + "title": "결제 취소 성공 응답", + "description": "결제 취소 성공 응답", + "type": "object", + "required": [ + "cancellation" + ], + "properties": { + "cancellation": { + "$ref": "#/components/schemas/PaymentCancellation", + "title": "결체 취소 내역" + } + }, + "x-portone-title": "결제 취소 성공 응답" + }, + "CancelPlatformAdditionalFeePolicyScheduleError": { + "title": "CancelPlatformAdditionalFeePolicyScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelPlatformAdditionalFeePolicyScheduleResponse": { + "title": "추가 수수료 정책 예약 업데이트 취소 성공 응답", + "description": "추가 수수료 정책 예약 업데이트 취소 성공 응답", + "type": "object", + "x-portone-title": "추가 수수료 정책 예약 업데이트 취소 성공 응답" + }, + "CancelPlatformContractScheduleError": { + "title": "CancelPlatformContractScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelPlatformContractScheduleResponse": { + "title": "계약 예약 업데이트 취소 성공 응답", + "description": "계약 예약 업데이트 취소 성공 응답", + "type": "object", + "x-portone-title": "계약 예약 업데이트 취소 성공 응답" + }, + "CancelPlatformDiscountSharePolicyScheduleError": { + "title": "CancelPlatformDiscountSharePolicyScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelPlatformDiscountSharePolicyScheduleResponse": { + "title": "할인 분담 정책 예약 업데이트 취소 성공 응답", + "description": "할인 분담 정책 예약 업데이트 취소 성공 응답", + "type": "object", + "x-portone-title": "할인 분담 정책 예약 업데이트 취소 성공 응답" + }, + "CancelPlatformPartnerScheduleError": { + "title": "CancelPlatformPartnerScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CancelPlatformPartnerScheduleResponse": { + "title": "파트너 예약 업데이트 취소 성공 응답", + "description": "파트너 예약 업데이트 취소 성공 응답", + "type": "object", + "x-portone-title": "파트너 예약 업데이트 취소 성공 응답" + }, + "CancelRequester": { + "title": "CancelRequester", + "type": "string", + "enum": [ + "CUSTOMER", + "ADMIN" + ], + "x-portone-enum": { + "CUSTOMER": {}, + "ADMIN": {} + } + }, + "CancelTaxAmountExceedsCancellableTaxAmountError": { + "title": "취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우", + "description": "취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우", + "x-portone-status-code": 409 + }, + "CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError": { + "title": "취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우", + "description": "취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우", + "x-portone-status-code": 409 + }, + "CancellableAmountConsistencyBrokenError": { + "title": "취소 가능 잔액 검증에 실패한 경우", + "description": "취소 가능 잔액 검증에 실패한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "취소 가능 잔액 검증에 실패한 경우", + "x-portone-status-code": 409 + }, + "CancelledCashReceipt": { + "title": "발급 취소", + "description": "발급 취소", + "type": "object", + "required": [ + "status", + "merchantId", + "storeId", + "paymentId", + "channel", + "amount", + "currency", + "orderName", + "isManual", + "issueNumber", + "issuedAt", + "cancelledAt" + ], + "properties": { + "status": { + "type": "string", + "title": "현금영수증 상태" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "현금영수증 발급에 사용된 채널" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isManual": { + "type": "boolean", + "title": "수동 발급 여부" + }, + "type": { + "$ref": "#/components/schemas/CashReceiptType", + "title": "현금영수증 유형" + }, + "pgReceiptId": { + "type": "string", + "title": "PG사 현금영수증 아이디" + }, + "issueNumber": { + "type": "string", + "title": "승인번호" + }, + "url": { + "type": "string", + "title": "현금영수증 URL" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 시점" + } + }, + "x-portone-title": "발급 취소" + }, + "CancelledPayment": { + "title": "결제 취소 상태 건", + "description": "결제 취소 상태 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "channel", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer", + "cancellations", + "cancelledAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "cashReceipt": { + "$ref": "#/components/schemas/PaymentCashReceipt", + "title": "현금영수증" + }, + "receiptUrl": { + "type": "string", + "title": "거래 영수증 URL" + }, + "cancellations": { + "title": "결제 취소 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentCancellation" + } + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "결제 취소 시점" + } + }, + "x-portone-title": "결제 취소 상태 건" + }, + "CancelledPaymentCashReceipt": { + "title": "취소된 현금영수증", + "description": "취소된 현금영수증", + "type": "object", + "required": [ + "status", + "issueNumber", + "totalAmount", + "currency", + "issuedAt", + "cancelledAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 내 현금영수증 상태" + }, + "type": { + "$ref": "#/components/schemas/CashReceiptType", + "title": "현금영수증 유형" + }, + "pgReceiptId": { + "type": "string", + "title": "PG사 영수증 발급 아이디" + }, + "issueNumber": { + "type": "string", + "title": "승인 번호" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "url": { + "type": "string", + "title": "현금영수증 URL" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 시점" + } + }, + "x-portone-title": "취소된 현금영수증" + }, + "CancelledPaymentEscrow": { + "title": "거래 취소", + "description": "거래 취소", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + } + }, + "x-portone-title": "거래 취소" + }, + "Card": { + "title": "카드 상세 정보", + "description": "카드 상세 정보", + "type": "object", + "properties": { + "publisher": { + "type": "string", + "title": "발행사 코드" + }, + "issuer": { + "type": "string", + "title": "발급사 코드" + }, + "brand": { + "$ref": "#/components/schemas/CardBrand", + "title": "카드 브랜드" + }, + "type": { + "$ref": "#/components/schemas/CardType", + "title": "카드 유형" + }, + "ownerType": { + "$ref": "#/components/schemas/CardOwnerType", + "title": "카드 소유주 유형" + }, + "bin": { + "type": "string", + "title": "카드 번호 앞 6자리 또는 8자리의 BIN (Bank Identification Number)" + }, + "name": { + "type": "string", + "title": "카드 상품명" + }, + "number": { + "type": "string", + "title": "마스킹된 카드 번호" + } + }, + "x-portone-title": "카드 상세 정보" + }, + "CardBrand": { + "title": "카드 브랜드", + "description": "카드 브랜드", + "type": "string", + "enum": [ + "LOCAL", + "MASTER", + "UNIONPAY", + "VISA", + "JCB", + "AMEX", + "DINERS" + ], + "x-portone-title": "카드 브랜드", + "x-portone-enum": { + "VISA": {}, + "JCB": {}, + "DINERS": {}, + "MASTER": {}, + "LOCAL": {}, + "AMEX": {}, + "UNIONPAY": {} + } + }, + "CardCompany": { + "title": "카드사", + "description": "카드사", + "type": "string", + "enum": [ + "KOREA_DEVELOPMENT_BANK", + "KFCC", + "SHINHYUP", + "EPOST", + "SAVINGS_BANK_KOREA", + "KAKAO_BANK", + "K_BANK", + "TOSS_BANK", + "WOORI_CARD", + "BC_CARD", + "GWANGJU_CARD", + "SAMSUNG_CARD", + "SHINHAN_CARD", + "HYUNDAI_CARD", + "LOTTE_CARD", + "SUHYUP_CARD", + "CITI_CARD", + "NH_CARD", + "JEONBUK_CARD", + "JEJU_CARD", + "HANA_CARD", + "KOOKMIN_CARD", + "UNIDENTIFIED_GLOBAL_CARD", + "CHAI_CARD", + "AMEX_CARD", + "MIR_CARD", + "UNION_CARD", + "JCB_CARD", + "VISA_CARD", + "MASTER_CARD", + "DINERS_CARD", + "DISCOVER_CARD", + "IBK", + "NH_BANK", + "DAEGU_CARD", + "BUSAN_CARD", + "SC_BANK", + "KYONGNAM_CARD", + "WOORI_BANK", + "CHINA_BANK", + "NFCF", + "KB_SECURITIES", + "YUANTA_SECURITIES", + "NH_SECURITIES", + "DB_SECURITIES", + "SK_SECURITIES", + "EUGENE_SECURITIES", + "KYOBO_SECURITIES", + "MIRAE_ASSET_SECURITIES", + "KOREA_SECURITIES", + "HANHWA_SECURITIES", + "SSG", + "KONA_I", + "CHAI", + "TOSS_CARD", + "PAYCO", + "GMONEY_TRANS", + "FINT", + "KG_MOBILIANS", + "HANPASS", + "FINSHOT", + "BIZPLAY", + "NICE", + "DANAL", + "SECTA", + "GME", + "LORD_SYSTEM", + "NAVERPAY", + "KAKAOPAY", + "KDBC", + "TEEN_CASH", + "EGG_MONEY", + "ON_CASH", + "GALAXIA_MONEY_TREE", + "FIRFIN" + ], + "x-portone-title": "카드사", + "x-portone-enum": { + "KOREA_SECURITIES": { + "title": "한국투자증권" + }, + "TEEN_CASH": { + "title": "틴캐쉬" + }, + "DISCOVER_CARD": { + "title": "DISCOVER카드" + }, + "GALAXIA_MONEY_TREE": { + "title": "갤럭시아 머니트리" + }, + "KYONGNAM_CARD": { + "title": "경남은행" + }, + "WOORI_CARD": { + "title": "우리카드" + }, + "VISA_CARD": { + "title": "VISA카드" + }, + "SK_SECURITIES": { + "title": "SK증권" + }, + "NICE": { + "title": "나이스정보통신" + }, + "KB_SECURITIES": { + "title": "KB증권" + }, + "WOORI_BANK": { + "title": "우리은행" + }, + "FINSHOT": { + "title": "핀샷" + }, + "KONA_I": { + "title": "코나아이" + }, + "HANA_CARD": { + "title": "하나카드" + }, + "GME": { + "title": "글로벌머니익스프레스" + }, + "KOREA_DEVELOPMENT_BANK": { + "title": "KDB산업은행" + }, + "SUHYUP_CARD": { + "title": "수협카드" + }, + "FIRFIN": { + "title": "레몬트리 퍼핀" + }, + "GWANGJU_CARD": { + "title": "광주카드" + }, + "HYUNDAI_CARD": { + "title": "현대카드" + }, + "JEONBUK_CARD": { + "title": "전북카드" + }, + "NH_BANK": { + "title": "NH농협은행" + }, + "PAYCO": { + "title": "페이코" + }, + "IBK": { + "title": "IBK기업은행" + }, + "CHINA_BANK": { + "title": "중국은행" + }, + "SHINHYUP": { + "title": "신협" + }, + "HANHWA_SECURITIES": { + "title": "한화투자증권" + }, + "DINERS_CARD": { + "title": "DINERS카드" + }, + "EPOST": { + "title": "우체국" + }, + "NAVERPAY": { + "title": "네이버페이" + }, + "BC_CARD": { + "title": "BC카드" + }, + "K_BANK": { + "title": "케이뱅크" + }, + "DB_SECURITIES": { + "title": "DB금융투자" + }, + "MASTER_CARD": { + "title": "MASTER카드" + }, + "SECTA": { + "title": "섹타나인" + }, + "CHAI_CARD": { + "title": "차이뱅크" + }, + "CHAI": { + "title": "차이코퍼레이션" + }, + "JEJU_CARD": { + "title": "제주카드" + }, + "EUGENE_SECURITIES": { + "title": "유진투자증권" + }, + "KOOKMIN_CARD": { + "title": "국민카드" + }, + "MIRAE_ASSET_SECURITIES": { + "title": "미래에셋증권" + }, + "NH_CARD": { + "title": "NH카드" + }, + "ON_CASH": { + "title": "온캐쉬" + }, + "DAEGU_CARD": { + "title": "대구은행" + }, + "UNIDENTIFIED_GLOBAL_CARD": { + "title": "해외카드" + }, + "LOTTE_CARD": { + "title": "롯데카드" + }, + "UNION_CARD": { + "title": "은련카드" + }, + "SAMSUNG_CARD": { + "title": "삼성카드" + }, + "NFCF": { + "title": "산림조합중앙회" + }, + "SC_BANK": { + "title": "SC제일은행" + }, + "LORD_SYSTEM": { + "title": "로드시스템" + }, + "AMEX_CARD": { + "title": "아맥스카드" + }, + "SHINHAN_CARD": { + "title": "신한카드" + }, + "CITI_CARD": { + "title": "씨티카드" + }, + "KG_MOBILIANS": { + "title": "KG모빌리언스" + }, + "FINT": { + "title": "디셈버앤컴퍼니" + }, + "NH_SECURITIES": { + "title": "NH투자증권" + }, + "BIZPLAY": { + "title": "비즈플레이" + }, + "TOSS_CARD": { + "title": "토스카드" + }, + "SAVINGS_BANK_KOREA": { + "title": "저축은행" + }, + "SSG": { + "title": "SSG카드" + }, + "DANAL": { + "title": "다날" + }, + "KFCC": { + "title": "새마을금고" + }, + "TOSS_BANK": { + "title": "토스뱅크" + }, + "HANPASS": { + "title": "한패스" + }, + "KAKAO_BANK": { + "title": "카카오뱅크" + }, + "MIR_CARD": { + "title": "러시아 미르카드" + }, + "GMONEY_TRANS": { + "title": "지머니트랜스" + }, + "KAKAOPAY": { + "title": "카카오페이" + }, + "YUANTA_SECURITIES": { + "title": "유안타증권" + }, + "KDBC": { + "title": "KCB산은캐피탈" + }, + "JCB_CARD": { + "title": "JCB카드" + }, + "EGG_MONEY": { + "title": "에그머니" + }, + "BUSAN_CARD": { + "title": "부산은행" + }, + "KYOBO_SECURITIES": { + "title": "교보증권" + } + } + }, + "CardCredential": { + "title": "카드 인증 관련 정보", + "description": "카드 인증 관련 정보", + "type": "object", + "required": [ + "number", + "expiryYear", + "expiryMonth" + ], + "properties": { + "number": { + "type": "string", + "title": "카드 번호 (숫자만)" + }, + "expiryYear": { + "type": "string", + "title": "유효 기간 만료 연도 (2자리)" + }, + "expiryMonth": { + "type": "string", + "title": "유효 기간 만료 월 (2자리)" + }, + "birthOrBusinessRegistrationNumber": { + "type": "string", + "title": "생년월일 (yyMMdd) 또는 사업자 등록 번호 (10자리, 숫자만)" + }, + "passwordTwoDigits": { + "type": "string", + "title": "비밀번호 앞 2자리" + } + }, + "x-portone-title": "카드 인증 관련 정보" + }, + "CardOwnerType": { + "title": "카드 소유주 유형", + "description": "카드 소유주 유형", + "type": "string", + "enum": [ + "PERSONAL", + "CORPORATE" + ], + "x-portone-title": "카드 소유주 유형", + "x-portone-enum": { + "PERSONAL": { + "title": "개인" + }, + "CORPORATE": { + "title": "법인" + } + } + }, + "CardPromotion": { + "title": "카드 프로모션", + "description": "카드 프로모션", + "type": "object", + "required": [ + "type", + "id", + "storeId", + "name", + "discountType", + "totalBudget", + "spentAmount", + "currency", + "startAt", + "endAt", + "cardCompany", + "status", + "createdAt" + ], + "properties": { + "type": { + "type": "string", + "title": "프로모션 유형" + }, + "id": { + "type": "string", + "title": "프로모션 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "name": { + "type": "string", + "title": "프로모션 이름" + }, + "discountType": { + "$ref": "#/components/schemas/PromotionDiscount", + "title": "할인 유형" + }, + "totalBudget": { + "type": "integer", + "format": "int64", + "title": "총 예산" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64", + "title": "최소 결제 금액" + }, + "maxDiscountAmount": { + "type": "integer", + "format": "int64", + "title": "최대 할인 금액" + }, + "spentAmount": { + "type": "integer", + "format": "int64", + "title": "소진 금액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "금액 화폐" + }, + "startAt": { + "type": "string", + "format": "date-time", + "title": "프로모션 시작 시각" + }, + "endAt": { + "type": "string", + "format": "date-time", + "title": "프로모션 종료 시각" + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "title": "프로모션 중단 시각" + }, + "cardCompany": { + "$ref": "#/components/schemas/PromotionCardCompany", + "title": "프로모션 카드사" + }, + "status": { + "$ref": "#/components/schemas/PromotionStatus", + "title": "프로모션 상태" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "프로모션 생성 시각" + } + }, + "x-portone-title": "카드 프로모션" + }, + "CardType": { + "title": "카드 유형", + "description": "카드 유형", + "type": "string", + "enum": [ + "CREDIT", + "DEBIT", + "GIFT" + ], + "x-portone-title": "카드 유형", + "x-portone-enum": { + "CREDIT": { + "title": "신용카드" + }, + "DEBIT": { + "title": "체크카드" + }, + "GIFT": { + "title": "기프트카드" + } + } + }, + "Carrier": { + "title": "통신사", + "description": "통신사", + "type": "string", + "enum": [ + "SKT", + "KT", + "LGU", + "SKT_MVNO", + "KT_MVNO", + "LGU_MVNO" + ], + "x-portone-title": "통신사", + "x-portone-enum": { + "SKT": { + "title": "SKT" + }, + "KT": { + "title": "KT" + }, + "KT_MVNO": { + "title": "KT 알뜰폰" + }, + "LGU_MVNO": { + "title": "LGU 알뜰폰" + }, + "SKT_MVNO": { + "title": "SKT 알뜰폰" + }, + "LGU": { + "title": "LG 유플러스" + } + } + }, + "CashReceipt": { + "title": "현금영수증 내역", + "description": "현금영수증 내역", + "oneOf": [ + { + "$ref": "#/components/schemas/CancelledCashReceipt" + }, + { + "$ref": "#/components/schemas/IssueFailedCashReceipt" + }, + { + "$ref": "#/components/schemas/IssuedCashReceipt" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "CANCELLED": "#/components/schemas/CancelledCashReceipt", + "ISSUED": "#/components/schemas/IssuedCashReceipt", + "ISSUE_FAILED": "#/components/schemas/IssueFailedCashReceipt" + } + }, + "x-portone-title": "현금영수증 내역", + "x-portone-discriminator": { + "ISSUE_FAILED": { + "title": "발급 실패" + }, + "ISSUED": { + "title": "발급 완료" + }, + "CANCELLED": { + "title": "발급 취소" + } + } + }, + "CashReceiptAlreadyIssuedError": { + "title": "현금영수증이 이미 발급된 경우", + "description": "현금영수증이 이미 발급된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "현금영수증이 이미 발급된 경우", + "x-portone-status-code": 409 + }, + "CashReceiptInput": { + "title": "현금영수증 입력 정보", + "description": "현금영수증 입력 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/CashReceiptInputType", + "title": "현금영수증 유형" + }, + "customerIdentityNumber": { + "type": "string", + "title": "사용자 식별 번호", + "description": "미발행 유형 선택 시 입력하지 않습니다." + } + }, + "x-portone-title": "현금영수증 입력 정보" + }, + "CashReceiptInputType": { + "title": "입력 시 발급 유형", + "description": "입력 시 발급 유형", + "type": "string", + "enum": [ + "PERSONAL", + "CORPORATE", + "NO_RECEIPT" + ], + "x-portone-title": "입력 시 발급 유형", + "x-portone-enum": { + "PERSONAL": { + "title": "소득공제용" + }, + "CORPORATE": { + "title": "지출증빙용" + }, + "NO_RECEIPT": { + "title": "미발행", + "description": "PG사 설정에 따라 PG사가 자동으로 자진발급 처리할 수 있습니다." + } + } + }, + "CashReceiptNotFoundError": { + "title": "현금영수증이 존재하지 않는 경우", + "description": "현금영수증이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "현금영수증이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "CashReceiptNotIssuedError": { + "title": "현금영수증이 발급되지 않은 경우", + "description": "현금영수증이 발급되지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "현금영수증이 발급되지 않은 경우", + "x-portone-status-code": 404 + }, + "CashReceiptSummary": { + "title": "현금영수증 내역", + "description": "현금영수증 내역", + "type": "object", + "required": [ + "issueNumber", + "url", + "pgReceiptId" + ], + "properties": { + "issueNumber": { + "type": "string", + "title": "발행 번호" + }, + "url": { + "type": "string", + "title": "현금 영수증 URL" + }, + "pgReceiptId": { + "type": "string", + "title": "PG사 현금영수증 아이디" + } + }, + "x-portone-title": "현금영수증 내역" + }, + "CashReceiptType": { + "title": "발급 유형", + "description": "발급 유형", + "type": "string", + "enum": [ + "PERSONAL", + "CORPORATE" + ], + "x-portone-title": "발급 유형", + "x-portone-enum": { + "PERSONAL": { + "title": "소득공제용" + }, + "CORPORATE": { + "title": "지출증빙용" + } + } + }, + "Channel": { + "title": "채널 정보", + "description": "채널 정보", + "type": "object", + "required": [ + "id", + "name", + "pgProvider", + "pgCompany", + "type", + "pgMerchantId", + "isForPayment", + "isForIdentityVerification", + "key" + ], + "properties": { + "id": { + "type": "string", + "title": "채널 아이디" + }, + "name": { + "type": "string", + "title": "채널명" + }, + "pgProvider": { + "$ref": "#/components/schemas/PgProvider", + "title": "PG사 모듈" + }, + "pgCompany": { + "$ref": "#/components/schemas/PgCompany", + "title": "PG사 모듈에 해당하는 PG사" + }, + "type": { + "$ref": "#/components/schemas/ChannelType", + "title": "채널 유형" + }, + "pgMerchantId": { + "type": "string", + "title": "PG사 상점 아이디" + }, + "isForPayment": { + "type": "boolean", + "title": "결제용 채널 여부" + }, + "isForIdentityVerification": { + "type": "boolean", + "title": "본인인증용 채널 여부" + }, + "key": { + "type": "string", + "title": "채널 키" + } + }, + "x-portone-title": "채널 정보" + }, + "ChannelGroupSummary": { + "title": "채널 그룹 정보", + "description": "채널 그룹 정보", + "type": "object", + "required": [ + "id", + "name", + "isForTest" + ], + "properties": { + "id": { + "type": "string", + "title": "채널 그룹 아이디" + }, + "name": { + "type": "string", + "title": "채널 그룹 이름" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 채널 그룹 여부" + } + }, + "x-portone-title": "채널 그룹 정보" + }, + "ChannelNotFoundError": { + "title": "요청된 채널이 존재하지 않는 경우", + "description": "요청된 채널이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "요청된 채널이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "ChannelSpecificError": { + "title": "여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우", + "description": "여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우", + "type": "object", + "required": [ + "type", + "failures", + "succeededChannels" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "failures": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChannelSpecificFailure" + } + }, + "succeededChannels": { + "title": "(결제, 본인인증 등에) 선택된 채널 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectedChannel" + } + } + }, + "x-portone-title": "여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우", + "x-portone-status-code": 502 + }, + "ChannelSpecificFailure": { + "title": "ChannelSpecificFailure", + "oneOf": [ + { + "$ref": "#/components/schemas/ChannelSpecificFailureInvalidRequest" + }, + { + "$ref": "#/components/schemas/ChannelSpecificFailurePgProvider" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/ChannelSpecificFailureInvalidRequest", + "PG_PROVIDER": "#/components/schemas/ChannelSpecificFailurePgProvider" + } + }, + "x-portone-discriminator": { + "INVALID_REQUEST": { + "title": "요청된 입력 정보가 유효하지 않은 경우" + }, + "PG_PROVIDER": { + "title": "PG사에서 오류를 전달한 경우" + } + } + }, + "ChannelSpecificFailureInvalidRequest": { + "title": "요청된 입력 정보가 유효하지 않은 경우", + "description": "요청된 입력 정보가 유효하지 않은 경우\n\n허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.", + "type": "object", + "required": [ + "type", + "channel" + ], + "properties": { + "type": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "요청된 입력 정보가 유효하지 않은 경우", + "x-portone-description": "허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.", + "x-portone-status-code": 400 + }, + "ChannelSpecificFailurePgProvider": { + "title": "PG사에서 오류를 전달한 경우", + "description": "PG사에서 오류를 전달한 경우", + "type": "object", + "required": [ + "type", + "channel", + "pgCode", + "pgMessage" + ], + "properties": { + "type": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel" + }, + "message": { + "type": "string" + }, + "pgCode": { + "type": "string" + }, + "pgMessage": { + "type": "string" + } + }, + "x-portone-title": "PG사에서 오류를 전달한 경우", + "x-portone-status-code": 502 + }, + "ChannelType": { + "title": "채널 유형", + "description": "채널 유형", + "type": "string", + "enum": [ + "LIVE", + "MERCHANT_TEST", + "SHARED_TEST" + ], + "x-portone-title": "채널 유형", + "x-portone-enum": { + "LIVE": { + "title": "라이브 채널" + }, + "MERCHANT_TEST": { + "title": "고객사 전용 테스트 채널" + }, + "SHARED_TEST": { + "title": "공용 테스트 채널" + } + } + }, + "CloseVirtualAccountError": { + "title": "CloseVirtualAccountError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotWaitingForDepositError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_WAITING_FOR_DEPOSIT": "#/components/schemas/PaymentNotWaitingForDepositError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CloseVirtualAccountResponse": { + "title": "가상계좌 말소 성공 응답", + "description": "가상계좌 말소 성공 응답", + "type": "object", + "required": [ + "closedAt" + ], + "properties": { + "closedAt": { + "type": "string", + "format": "date-time", + "title": "가상계좌 말소 시점" + } + }, + "x-portone-title": "가상계좌 말소 성공 응답" + }, + "ConfirmEscrowBody": { + "title": "에스크로 구매 확정 입력 정보", + "description": "에스크로 구매 확정 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "fromStore": { + "type": "boolean", + "title": "확인 주체가 상점인지 여부", + "description": "구매확정요청 주체가 고객사 관리자인지 구매자인지 구분하기 위한 필드입니다.\n네이버페이 전용 파라미터이며, 구분이 모호한 경우 고객사 관리자(true)로 입력합니다." + } + }, + "x-portone-title": "에스크로 구매 확정 입력 정보" + }, + "ConfirmEscrowError": { + "title": "ConfirmEscrowError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotPaidError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_PAID": "#/components/schemas/PaymentNotPaidError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ConfirmEscrowResponse": { + "title": "에스크로 구매 확정 성공 응답", + "description": "에스크로 구매 확정 성공 응답", + "type": "object", + "required": [ + "completedAt" + ], + "properties": { + "completedAt": { + "type": "string", + "format": "date-time", + "title": "에스크로 구매 확정 시점" + } + }, + "x-portone-title": "에스크로 구매 확정 성공 응답" + }, + "ConfirmIdentityVerificationBody": { + "title": "본인인증 확인을 위한 입력 정보", + "description": "본인인증 확인을 위한 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "otp": { + "type": "string", + "title": "OTP (One-Time Password)", + "description": "SMS 방식에서만 사용됩니다." + } + }, + "x-portone-title": "본인인증 확인을 위한 입력 정보" + }, + "ConfirmIdentityVerificationError": { + "title": "ConfirmIdentityVerificationError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationAlreadyVerifiedError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotSentError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "IDENTITY_VERIFICATION_ALREADY_VERIFIED": "#/components/schemas/IdentityVerificationAlreadyVerifiedError", + "IDENTITY_VERIFICATION_NOT_FOUND": "#/components/schemas/IdentityVerificationNotFoundError", + "IDENTITY_VERIFICATION_NOT_SENT": "#/components/schemas/IdentityVerificationNotSentError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ConfirmIdentityVerificationResponse": { + "title": "본인인증 확인 성공 응답", + "description": "본인인증 확인 성공 응답", + "type": "object", + "required": [ + "identityVerification" + ], + "properties": { + "identityVerification": { + "$ref": "#/components/schemas/VerifiedIdentityVerification", + "title": "완료된 본인인증 내역" + } + }, + "x-portone-title": "본인인증 확인 성공 응답" + }, + "ConfirmedPaymentEscrow": { + "title": "구매 확정", + "description": "구매 확정", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber", + "isAutomaticallyConfirmed" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + }, + "isAutomaticallyConfirmed": { + "type": "boolean", + "title": "자동 구매 확정 처리 여부" + } + }, + "x-portone-title": "구매 확정" + }, + "Country": { + "title": "국가", + "description": "국가", + "type": "string", + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "YE", + "YT", + "ZA", + "ZM", + "ZW" + ], + "x-portone-title": "국가", + "x-portone-enum": { + "CV": { + "title": "Cabo Verde" + }, + "MA": { + "title": "Morocco" + }, + "AO": { + "title": "Angola" + }, + "VN": { + "title": "Viet Nam" + }, + "IN": { + "title": "India" + }, + "KW": { + "title": "Kuwait" + }, + "ML": { + "title": "Mali" + }, + "ID": { + "title": "Indonesia" + }, + "JE": { + "title": "Jersey" + }, + "HM": { + "title": "Heard Island and McDonald Islands" + }, + "EG": { + "title": "Egypt" + }, + "BG": { + "title": "Bulgaria" + }, + "SG": { + "title": "Singapore" + }, + "SV": { + "title": "El Salvador" + }, + "BD": { + "title": "Bangladesh" + }, + "TC": { + "title": "Turks and Caicos Islands (the)" + }, + "TH": { + "title": "Thailand" + }, + "AT": { + "title": "Austria" + }, + "GQ": { + "title": "Equatorial Guinea" + }, + "TR": { + "title": "Türkiye" + }, + "HT": { + "title": "Haiti" + }, + "UM": { + "title": "United States Minor Outlying Islands (the)" + }, + "MH": { + "title": "Marshall Islands (the)" + }, + "MY": { + "title": "Malaysia" + }, + "RU": { + "title": "Russian Federation (the)" + }, + "NI": { + "title": "Nicaragua" + }, + "BZ": { + "title": "Belize" + }, + "KP": { + "title": "Korea (the Democratic People's Republic of)" + }, + "VE": { + "title": "Venezuela (Bolivarian Republic of)" + }, + "IL": { + "title": "Israel" + }, + "GD": { + "title": "Grenada" + }, + "GI": { + "title": "Gibraltar" + }, + "TN": { + "title": "Tunisia" + }, + "DM": { + "title": "Dominica" + }, + "MO": { + "title": "Macao" + }, + "PR": { + "title": "Puerto Rico" + }, + "NF": { + "title": "Norfolk Island" + }, + "TW": { + "title": "Taiwan (Province of China)" + }, + "KN": { + "title": "Saint Kitts and Nevis" + }, + "PH": { + "title": "Philippines (the)" + }, + "WF": { + "title": "Wallis and Futuna" + }, + "JO": { + "title": "Jordan" + }, + "ME": { + "title": "Montenegro" + }, + "ES": { + "title": "Spain" + }, + "AZ": { + "title": "Azerbaijan" + }, + "MR": { + "title": "Mauritania" + }, + "SM": { + "title": "San Marino" + }, + "BL": { + "title": "Saint Barthélemy" + }, + "PK": { + "title": "Pakistan" + }, + "NZ": { + "title": "New Zealand" + }, + "GP": { + "title": "Guadeloupe" + }, + "NA": { + "title": "Namibia" + }, + "JM": { + "title": "Jamaica" + }, + "AX": { + "title": "Åland Islands" + }, + "CM": { + "title": "Cameroon" + }, + "US": { + "title": "United States of America (the)" + }, + "GU": { + "title": "Guam" + }, + "SB": { + "title": "Solomon Islands" + }, + "MV": { + "title": "Maldives" + }, + "SI": { + "title": "Slovenia" + }, + "CW": { + "title": "Curaçao" + }, + "BH": { + "title": "Bahrain" + }, + "VG": { + "title": "Virgin Islands (British)" + }, + "HK": { + "title": "Hong Kong" + }, + "SD": { + "title": "Sudan (the)" + }, + "AD": { + "title": "Andorra" + }, + "RO": { + "title": "Romania" + }, + "LU": { + "title": "Luxembourg" + }, + "VC": { + "title": "Saint Vincent and the Grenadines" + }, + "FO": { + "title": "Faroe Islands (the)" + }, + "GL": { + "title": "Greenland" + }, + "BW": { + "title": "Botswana" + }, + "CF": { + "title": "Central African Republic (the)" + }, + "CI": { + "title": "Côte d'Ivoire" + }, + "KG": { + "title": "Kyrgyzstan" + }, + "BV": { + "title": "Bouvet Island" + }, + "KY": { + "title": "Cayman Islands (the)" + }, + "LY": { + "title": "Libya" + }, + "MM": { + "title": "Myanmar" + }, + "MZ": { + "title": "Mozambique" + }, + "IR": { + "title": "Iran (Islamic Republic of)" + }, + "EH": { + "title": "Western Sahara" + }, + "IQ": { + "title": "Iraq" + }, + "BB": { + "title": "Barbados" + }, + "SZ": { + "title": "Eswatini" + }, + "IE": { + "title": "Ireland" + }, + "FK": { + "title": "Falkland Islands (the) [Malvinas]" + }, + "NP": { + "title": "Nepal" + }, + "BE": { + "title": "Belgium" + }, + "AU": { + "title": "Australia" + }, + "TZ": { + "title": "Tanzania, the United Republic of" + }, + "UY": { + "title": "Uruguay" + }, + "SA": { + "title": "Saudi Arabia" + }, + "ZW": { + "title": "Zimbabwe" + }, + "MD": { + "title": "Moldova (the Republic of)" + }, + "HU": { + "title": "Hungary" + }, + "PG": { + "title": "Papua New Guinea" + }, + "AF": { + "title": "Afghanistan" + }, + "MU": { + "title": "Mauritius" + }, + "SL": { + "title": "Sierra Leone" + }, + "GT": { + "title": "Guatemala" + }, + "BO": { + "title": "Bolivia (Plurinational State of)" + }, + "TM": { + "title": "Turkmenistan" + }, + "NE": { + "title": "Niger (the)" + }, + "CL": { + "title": "Chile" + }, + "FI": { + "title": "Finland" + }, + "MN": { + "title": "Mongolia" + }, + "NO": { + "title": "Norway" + }, + "GG": { + "title": "Guernsey" + }, + "EE": { + "title": "Estonia" + }, + "KM": { + "title": "Comoros (the)" + }, + "LT": { + "title": "Lithuania" + }, + "ER": { + "title": "Eritrea" + }, + "SH": { + "title": "Saint Helena, Ascension and Tristan da Cunha" + }, + "SY": { + "title": "Syrian Arab Republic (the)" + }, + "LC": { + "title": "Saint Lucia" + }, + "CC": { + "title": "Cocos (Keeling) Islands (the)" + }, + "PL": { + "title": "Poland" + }, + "CH": { + "title": "Switzerland" + }, + "ST": { + "title": "Sao Tome and Principe" + }, + "NG": { + "title": "Nigeria" + }, + "TF": { + "title": "French Southern Territories (the)" + }, + "KI": { + "title": "Kiribati" + }, + "LV": { + "title": "Latvia" + }, + "UG": { + "title": "Uganda" + }, + "CY": { + "title": "Cyprus" + }, + "MW": { + "title": "Malawi" + }, + "CG": { + "title": "Congo (the)" + }, + "MF": { + "title": "Saint Martin (French part)" + }, + "PM": { + "title": "Saint Pierre and Miquelon" + }, + "IS": { + "title": "Iceland" + }, + "BI": { + "title": "Burundi" + }, + "TK": { + "title": "Tokelau" + }, + "SE": { + "title": "Sweden" + }, + "AE": { + "title": "United Arab Emirates (the)" + }, + "KZ": { + "title": "Kazakhstan" + }, + "LB": { + "title": "Lebanon" + }, + "AR": { + "title": "Argentina" + }, + "GS": { + "title": "South Georgia and the South Sandwich Islands" + }, + "BF": { + "title": "Burkina Faso" + }, + "DJ": { + "title": "Djibouti" + }, + "BA": { + "title": "Bosnia and Herzegovina" + }, + "SJ": { + "title": "Svalbard and Jan Mayen" + }, + "FR": { + "title": "France" + }, + "GM": { + "title": "Gambia (the)" + }, + "HR": { + "title": "Croatia" + }, + "BS": { + "title": "Bahamas (the)" + }, + "RS": { + "title": "Serbia" + }, + "WS": { + "title": "Samoa" + }, + "GB": { + "title": "United Kingdom of Great Britain and Northern Ireland (the)" + }, + "LS": { + "title": "Lesotho" + }, + "UZ": { + "title": "Uzbekistan" + }, + "PF": { + "title": "French Polynesia" + }, + "AG": { + "title": "Antigua and Barbuda" + }, + "GW": { + "title": "Guinea-Bissau" + }, + "FJ": { + "title": "Fiji" + }, + "CO": { + "title": "Colombia" + }, + "ZM": { + "title": "Zambia" + }, + "AQ": { + "title": "Antarctica" + }, + "GF": { + "title": "French Guiana" + }, + "NU": { + "title": "Niue" + }, + "BN": { + "title": "Brunei Darussalam" + }, + "RW": { + "title": "Rwanda" + }, + "PT": { + "title": "Portugal" + }, + "SO": { + "title": "Somalia" + }, + "MT": { + "title": "Malta" + }, + "PW": { + "title": "Palau" + }, + "KH": { + "title": "Cambodia" + }, + "SX": { + "title": "Sint Maarten (Dutch part)" + }, + "TJ": { + "title": "Tajikistan" + }, + "KR": { + "title": "Korea (the Republic of)" + }, + "SS": { + "title": "South Sudan" + }, + "PY": { + "title": "Paraguay" + }, + "AM": { + "title": "Armenia" + }, + "MC": { + "title": "Monaco" + }, + "CX": { + "title": "Christmas Island" + }, + "TT": { + "title": "Trinidad and Tobago" + }, + "UA": { + "title": "Ukraine" + }, + "LI": { + "title": "Liechtenstein" + }, + "BR": { + "title": "Brazil" + }, + "PA": { + "title": "Panama" + }, + "MQ": { + "title": "Martinique" + }, + "NR": { + "title": "Nauru" + }, + "PN": { + "title": "Pitcairn" + }, + "GA": { + "title": "Gabon" + }, + "TG": { + "title": "Togo" + }, + "FM": { + "title": "Micronesia (Federated States of)" + }, + "GN": { + "title": "Guinea" + }, + "YT": { + "title": "Mayotte" + }, + "CD": { + "title": "Congo (the Democratic Republic of the)" + }, + "MG": { + "title": "Madagascar" + }, + "AI": { + "title": "Anguilla" + }, + "YE": { + "title": "Yemen" + }, + "HN": { + "title": "Honduras" + }, + "IT": { + "title": "Italy" + }, + "RE": { + "title": "Réunion" + }, + "DO": { + "title": "Dominican Republic (the)" + }, + "IO": { + "title": "British Indian Ocean Territory (the)" + }, + "GR": { + "title": "Greece" + }, + "AS": { + "title": "American Samoa" + }, + "ZA": { + "title": "South Africa" + }, + "GY": { + "title": "Guyana" + }, + "BY": { + "title": "Belarus" + }, + "LK": { + "title": "Sri Lanka" + }, + "BT": { + "title": "Bhutan" + }, + "OM": { + "title": "Oman" + }, + "CK": { + "title": "Cook Islands (the)" + }, + "KE": { + "title": "Kenya" + }, + "CZ": { + "title": "Czechia" + }, + "GH": { + "title": "Ghana" + }, + "MX": { + "title": "Mexico" + }, + "SK": { + "title": "Slovakia" + }, + "MK": { + "title": "North Macedonia" + }, + "DZ": { + "title": "Algeria" + }, + "QA": { + "title": "Qatar" + }, + "CU": { + "title": "Cuba" + }, + "BJ": { + "title": "Benin" + }, + "LA": { + "title": "Lao People's Democratic Republic (the)" + }, + "TL": { + "title": "Timor-Leste" + }, + "DK": { + "title": "Denmark" + }, + "VI": { + "title": "Virgin Islands (U.S.)" + }, + "NL": { + "title": "Netherlands (Kingdom of the)" + }, + "CA": { + "title": "Canada" + }, + "BM": { + "title": "Bermuda" + }, + "JP": { + "title": "Japan" + }, + "AW": { + "title": "Aruba" + }, + "TO": { + "title": "Tonga" + }, + "CN": { + "title": "China" + }, + "VU": { + "title": "Vanuatu" + }, + "AL": { + "title": "Albania" + }, + "ET": { + "title": "Ethiopia" + }, + "IM": { + "title": "Isle of Man" + }, + "SN": { + "title": "Senegal" + }, + "PE": { + "title": "Peru" + }, + "BQ": { + "title": "Bonaire, Sint Eustatius and Saba" + }, + "NC": { + "title": "New Caledonia" + }, + "MP": { + "title": "Northern Mariana Islands (the)" + }, + "GE": { + "title": "Georgia" + }, + "CR": { + "title": "Costa Rica" + }, + "VA": { + "title": "Holy See (the)" + }, + "PS": { + "title": "Palestine, State of" + }, + "EC": { + "title": "Ecuador" + }, + "TV": { + "title": "Tuvalu" + }, + "LR": { + "title": "Liberia" + }, + "MS": { + "title": "Montserrat" + }, + "TD": { + "title": "Chad" + }, + "SC": { + "title": "Seychelles" + }, + "DE": { + "title": "Germany" + }, + "SR": { + "title": "Suriname" + } + } + }, + "CreateB2bTaxInvoiceFileUploadLinkBody": { + "title": "세금계산서 파일 업로드 링크 생성", + "description": "세금계산서 파일 업로드 링크 생성", + "type": "object", + "required": [ + "fileName" + ], + "properties": { + "fileName": { + "type": "string", + "title": "파일 이름" + } + }, + "x-portone-title": "세금계산서 파일 업로드 링크 생성" + }, + "CreateB2bTaxInvoiceFileUploadLinkCreateError": { + "title": "CreateB2bTaxInvoiceFileUploadLinkCreateError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreateB2bTaxInvoiceFileUploadLinkResponse": { + "title": "세금계산서 파일 업로드 링크 생성 성공 응답", + "description": "세금계산서 파일 업로드 링크 생성 성공 응답", + "type": "object", + "required": [ + "fileId", + "url" + ], + "properties": { + "fileId": { + "type": "string", + "title": "파일 아이디" + }, + "url": { + "type": "string", + "title": "파일 업로드 링크" + } + }, + "x-portone-title": "세금계산서 파일 업로드 링크 생성 성공 응답" + }, + "CreateManualTransferResponse": { + "title": "CreateManualTransferResponse", + "type": "object", + "required": [ + "transfer" + ], + "properties": { + "transfer": { + "$ref": "#/components/schemas/PlatformManualTransfer" + } + } + }, + "CreateOrderCancelTransferResponse": { + "title": "CreateOrderCancelTransferResponse", + "type": "object", + "required": [ + "transfer" + ], + "properties": { + "transfer": { + "$ref": "#/components/schemas/PlatformOrderCancelTransfer" + } + } + }, + "CreateOrderTransferResponse": { + "title": "CreateOrderTransferResponse", + "type": "object", + "required": [ + "transfer" + ], + "properties": { + "transfer": { + "$ref": "#/components/schemas/PlatformOrderTransfer" + } + } + }, + "CreatePaymentScheduleBody": { + "title": "결제 예약 요청 입력 정보", + "description": "결제 예약 요청 입력 정보", + "type": "object", + "required": [ + "payment", + "timeToPay" + ], + "properties": { + "payment": { + "$ref": "#/components/schemas/BillingKeyPaymentInput", + "title": "빌링키 결제 입력 정보" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + } + }, + "x-portone-title": "결제 예약 요청 입력 정보" + }, + "CreatePaymentScheduleError": { + "title": "CreatePaymentScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/AlreadyPaidOrWaitingError" + }, + { + "$ref": "#/components/schemas/BillingKeyAlreadyDeletedError" + }, + { + "$ref": "#/components/schemas/BillingKeyNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/SumOfPartsExceedsTotalAmountError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ALREADY_PAID_OR_WAITING": "#/components/schemas/AlreadyPaidOrWaitingError", + "BILLING_KEY_ALREADY_DELETED": "#/components/schemas/BillingKeyAlreadyDeletedError", + "BILLING_KEY_NOT_FOUND": "#/components/schemas/BillingKeyNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PaymentScheduleAlreadyExistsError", + "SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT": "#/components/schemas/SumOfPartsExceedsTotalAmountError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePaymentScheduleResponse": { + "title": "결제 예약 성공 응답", + "description": "결제 예약 성공 응답", + "type": "object", + "required": [ + "schedule" + ], + "properties": { + "schedule": { + "$ref": "#/components/schemas/PaymentScheduleSummary", + "title": "결제 예약 건" + } + }, + "x-portone-title": "결제 예약 성공 응답" + }, + "CreatePlatformAdditionalFeePolicyBody": { + "title": "추가 수수료 정책 생성을 위한 입력 정보", + "description": "추가 수수료 정책 생성을 위한 입력 정보", + "type": "object", + "required": [ + "name", + "fee", + "vatPayer" + ], + "properties": { + "id": { + "type": "string", + "title": "생성할 추가 수수료 정책 아이디", + "description": "명시하지 않으면 id 가 임의로 생성됩니다." + }, + "name": { + "type": "string", + "title": "이름" + }, + "fee": { + "$ref": "#/components/schemas/PlatformFeeInput", + "title": "수수료 정보" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "vatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "부가세 부담 주체" + } + }, + "x-portone-title": "추가 수수료 정책 생성을 위한 입력 정보" + }, + "CreatePlatformAdditionalFeePolicyError": { + "title": "CreatePlatformAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_ALREADY_EXISTS": "#/components/schemas/PlatformAdditionalFeePolicyAlreadyExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformAdditionalFeePolicyResponse": { + "title": "플랫폼 생성 성공 응답 정보", + "description": "플랫폼 생성 성공 응답 정보", + "type": "object", + "required": [ + "additionalFeePolicy" + ], + "properties": { + "additionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "생성된 추가 수수료 정책" + } + }, + "x-portone-title": "플랫폼 생성 성공 응답 정보" + }, + "CreatePlatformContractBody": { + "title": "계약 객체 생성을 위한 입력 정보", + "description": "계약 객체 생성을 위한 입력 정보", + "type": "object", + "required": [ + "name", + "platformFee", + "settlementCycle", + "platformFeeVatPayer", + "subtractPaymentVatAmount" + ], + "properties": { + "id": { + "type": "string", + "title": "계약에 부여할 고유 아이디", + "description": "명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다." + }, + "name": { + "type": "string", + "title": "계약 이름" + }, + "memo": { + "type": "string", + "title": "계약 내부 표기를 위한 메모" + }, + "platformFee": { + "$ref": "#/components/schemas/PlatformFeeInput", + "title": "중개수수료" + }, + "settlementCycle": { + "$ref": "#/components/schemas/PlatformSettlementCycleInput", + "title": "정산 주기" + }, + "platformFeeVatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "중개수수료에 대한 부가세 부담 주체" + }, + "subtractPaymentVatAmount": { + "type": "boolean", + "title": "정산 시 결제금액 부가세 감액 여부" + } + }, + "x-portone-title": "계약 객체 생성을 위한 입력 정보" + }, + "CreatePlatformContractError": { + "title": "CreatePlatformContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_ALREADY_EXISTS": "#/components/schemas/PlatformContractAlreadyExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformContractResponse": { + "title": "계약 객체 생성 성공 응답", + "description": "계약 객체 생성 성공 응답", + "type": "object", + "required": [ + "contract" + ], + "properties": { + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "생성된 계약 객체" + } + }, + "x-portone-title": "계약 객체 생성 성공 응답" + }, + "CreatePlatformDiscountSharePolicyBody": { + "title": "할인 분담 정책 생성을 위한 입력 정보", + "description": "할인 분담 정책 생성을 위한 입력 정보", + "type": "object", + "required": [ + "name", + "partnerShareRate" + ], + "properties": { + "id": { + "type": "string", + "title": "할인 분담에 부여할 고유 아이디", + "description": "명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다." + }, + "name": { + "type": "string", + "title": "할인 분담에 부여할 이름" + }, + "partnerShareRate": { + "type": "integer", + "format": "int32", + "title": "파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다." + }, + "memo": { + "type": "string", + "title": "해당 할인 분담에 대한 메모 ex) 파트너 브랜드 쿠폰" + } + }, + "x-portone-title": "할인 분담 정책 생성을 위한 입력 정보" + }, + "CreatePlatformDiscountSharePolicyError": { + "title": "CreatePlatformDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_ALREADY_EXISTS": "#/components/schemas/PlatformDiscountSharePolicyAlreadyExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformDiscountSharePolicyResponse": { + "title": "할인 분담 정책 생성 성공 응답", + "description": "할인 분담 정책 생성 성공 응답", + "type": "object", + "required": [ + "discountSharePolicy" + ], + "properties": { + "discountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "생성된 할인 분담 정책" + } + }, + "x-portone-title": "할인 분담 정책 생성 성공 응답" + }, + "CreatePlatformManualTransferBody": { + "title": "수기 정산건 생성을 위한 입력 정보", + "description": "수기 정산건 생성을 위한 입력 정보", + "type": "object", + "required": [ + "partnerId", + "settlementAmount", + "settlementDate" + ], + "properties": { + "partnerId": { + "type": "string", + "title": "파트너 아이디" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부", + "description": "기본값은 false 입니다." + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + } + }, + "x-portone-title": "수기 정산건 생성을 위한 입력 정보" + }, + "CreatePlatformManualTransferError": { + "title": "CreatePlatformManualTransferError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformOrderCancelTransferBody": { + "title": "주문 취소 정산 등록을 위한 입력 정보", + "description": "주문 취소 정산 등록을 위한 입력 정보\n\n하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수 있습니다.\n하나의 payment에 여러 개의 정산 건이 존재하는 경우에는 transferId를 필수로 입력해야 합니다.\ntransferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.", + "type": "object", + "required": [ + "cancellationId", + "discounts" + ], + "properties": { + "partnerId": { + "type": "string", + "title": "파트너 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 아이디" + }, + "transferId": { + "type": "string", + "title": "정산건 아이디" + }, + "cancellationId": { + "type": "string", + "title": "취소 내역 아이디" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "orderDetail": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyOrderDetail", + "title": "주문 취소 정보" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "주문 취소 면세 금액", + "description": "주문 취소 항목과 취소 면세 금액을 같이 전달하시면 최종 취소 면세 금액은 주문 취소 항목의 면세 금액이 아닌 전달해주신 취소 면세 금액으로 적용됩니다." + }, + "discounts": { + "title": "할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyDiscount" + } + }, + "settlementStartDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 시작일" + }, + "externalCancellationDetail": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyExternalCancellationDetail", + "title": "외부 결제 상세 정보", + "description": "해당 정보가 존재하는 경우 외부 결제 취소 정산건으로 등록되고, 존재하지않은 경우 포트원 결제 취소 정산건으로 등록됩니다." + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부", + "description": "기본값은 false 입니다." + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + } + }, + "x-portone-title": "주문 취소 정산 등록을 위한 입력 정보", + "x-portone-description": "하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수 있습니다.\n하나의 payment에 여러 개의 정산 건이 존재하는 경우에는 transferId를 필수로 입력해야 합니다.\ntransferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다." + }, + "CreatePlatformOrderCancelTransferBodyDiscount": { + "title": "할인 정보", + "description": "할인 정보", + "type": "object", + "required": [ + "sharePolicyId", + "amount" + ], + "properties": { + "sharePolicyId": { + "type": "string", + "title": "할인 분담 정책 아이디" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "할인 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세 할인 금액" + } + }, + "x-portone-title": "할인 정보" + }, + "CreatePlatformOrderCancelTransferBodyExternalCancellationDetail": { + "title": "외부 결제 상세 정보", + "description": "외부 결제 상세 정보", + "type": "object", + "properties": { + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 일시" + } + }, + "x-portone-title": "외부 결제 상세 정보" + }, + "CreatePlatformOrderCancelTransferBodyOrderDetail": { + "title": "주문 취소 정보", + "description": "주문 취소 정보\n\norderAmount, orderLines, all 중에서 하나만 입력하여야 합니다.", + "type": "object", + "properties": { + "orderAmount": { + "type": "integer", + "format": "int64", + "title": "주문 취소 금액" + }, + "orderLines": { + "title": "주문 취소 항목 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyOrderLine" + } + }, + "all": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyOrderDetailAll", + "title": "전체 금액 취소" + } + }, + "x-portone-title": "주문 취소 정보", + "x-portone-description": "orderAmount, orderLines, all 중에서 하나만 입력하여야 합니다." + }, + "CreatePlatformOrderCancelTransferBodyOrderDetailAll": { + "title": "전체 금액 취소", + "description": "전체 금액 취소", + "type": "object", + "x-portone-title": "전체 금액 취소" + }, + "CreatePlatformOrderCancelTransferBodyOrderLine": { + "title": "주문 취소 항목 리스트", + "description": "주문 취소 항목 리스트", + "type": "object", + "required": [ + "productId", + "quantity", + "discounts" + ], + "properties": { + "productId": { + "type": "string", + "title": "상품 아이디" + }, + "quantity": { + "type": "integer", + "format": "int32", + "title": "상품 수량" + }, + "discounts": { + "title": "상품 할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderCancelTransferBodyDiscount" + } + } + }, + "x-portone-title": "주문 취소 항목 리스트" + }, + "CreatePlatformOrderCancelTransferError": { + "title": "CreatePlatformOrderCancelTransferError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformCancellableAmountExceededError" + }, + { + "$ref": "#/components/schemas/PlatformCancellableDiscountAmountExceededError" + }, + { + "$ref": "#/components/schemas/PlatformCancellableDiscountTaxFreeAmountExceededError" + }, + { + "$ref": "#/components/schemas/PlatformCancellableProductQuantityExceededError" + }, + { + "$ref": "#/components/schemas/PlatformCancellationAndPaymentTypeMismatchedError" + }, + { + "$ref": "#/components/schemas/PlatformCancellationNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformCannotSpecifyTransferError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyIdDuplicatedError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformOrderDetailMismatchedError" + }, + { + "$ref": "#/components/schemas/PlatformOrderTransferAlreadyCancelledError" + }, + { + "$ref": "#/components/schemas/PlatformPaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformProductIdDuplicatedError" + }, + { + "$ref": "#/components/schemas/PlatformProductIdNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementAmountExceededError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementCancelAmountExceededPortOneCancelError" + }, + { + "$ref": "#/components/schemas/PlatformTransferAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformTransferDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformTransferNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CANCELLABLE_AMOUNT_EXCEEDED": "#/components/schemas/PlatformCancellableAmountExceededError", + "PLATFORM_CANCELLABLE_DISCOUNT_AMOUNT_EXCEEDED": "#/components/schemas/PlatformCancellableDiscountAmountExceededError", + "PLATFORM_CANCELLABLE_DISCOUNT_TAX_FREE_AMOUNT_EXCEEDED": "#/components/schemas/PlatformCancellableDiscountTaxFreeAmountExceededError", + "PLATFORM_CANCELLABLE_PRODUCT_QUANTITY_EXCEEDED": "#/components/schemas/PlatformCancellableProductQuantityExceededError", + "PLATFORM_CANCELLATION_AND_PAYMENT_TYPE_MISMATCHED": "#/components/schemas/PlatformCancellationAndPaymentTypeMismatchedError", + "PLATFORM_CANCELLATION_NOT_FOUND": "#/components/schemas/PlatformCancellationNotFoundError", + "PLATFORM_CANNOT_SPECIFY_TRANSFER": "#/components/schemas/PlatformCannotSpecifyTransferError", + "PLATFORM_DISCOUNT_SHARE_POLICY_ID_DUPLICATED": "#/components/schemas/PlatformDiscountSharePolicyIdDuplicatedError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_ORDER_DETAIL_MISMATCHED": "#/components/schemas/PlatformOrderDetailMismatchedError", + "PLATFORM_ORDER_TRANSFER_ALREADY_CANCELLED": "#/components/schemas/PlatformOrderTransferAlreadyCancelledError", + "PLATFORM_PAYMENT_NOT_FOUND": "#/components/schemas/PlatformPaymentNotFoundError", + "PLATFORM_PRODUCT_ID_DUPLICATED": "#/components/schemas/PlatformProductIdDuplicatedError", + "PLATFORM_PRODUCT_ID_NOT_FOUND": "#/components/schemas/PlatformProductIdNotFoundError", + "PLATFORM_SETTLEMENT_AMOUNT_EXCEEDED": "#/components/schemas/PlatformSettlementAmountExceededError", + "PLATFORM_SETTLEMENT_CANCEL_AMOUNT_EXCEEDED_PORT_ONE_CANCEL": "#/components/schemas/PlatformSettlementCancelAmountExceededPortOneCancelError", + "PLATFORM_TRANSFER_ALREADY_EXISTS": "#/components/schemas/PlatformTransferAlreadyExistsError", + "PLATFORM_TRANSFER_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformTransferDiscountSharePolicyNotFoundError", + "PLATFORM_TRANSFER_NOT_FOUND": "#/components/schemas/PlatformTransferNotFoundError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformOrderTransferBody": { + "title": "주문 정산건 생성을 위한 입력 정보", + "description": "주문 정산건 생성을 위한 입력 정보", + "type": "object", + "required": [ + "partnerId", + "paymentId", + "orderDetail", + "discounts", + "additionalFees" + ], + "properties": { + "partnerId": { + "type": "string", + "title": "파트너 아이디" + }, + "contractId": { + "type": "string", + "title": "계약 아이디", + "description": "기본값은 파트너의 기본 계약 아이디 입니다." + }, + "memo": { + "type": "string", + "title": "메모" + }, + "paymentId": { + "type": "string", + "title": "결제 아이디" + }, + "orderDetail": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyOrderDetail", + "title": "주문 정보" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "주문 면세 금액", + "description": "주문 항목과 면세 금액을 같이 전달하시면 최종 면세 금액은 주문 항목의 면세 금액이 아닌 전달해주신 면세 금액으로 적용됩니다." + }, + "settlementStartDate": { + "description": "기본값은 결제 일시 입니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 시작일" + }, + "discounts": { + "title": "할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyDiscount" + } + }, + "additionalFees": { + "title": "추가 수수료 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyAdditionalFee" + } + }, + "externalPaymentDetail": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyExternalPaymentDetail", + "title": "외부 결제 상세 정보", + "description": "해당 정보가 존재하는 경우 외부 결제 정산건 으로 등록되고, 존재하지않은 경우 포트원 결제 정산건으로 등록됩니다." + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부", + "description": "기본값은 false 입니다." + }, + "parameters": { + "$ref": "#/components/schemas/TransferParameters", + "title": "정산 파라미터 (실험기능)" + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + } + }, + "x-portone-title": "주문 정산건 생성을 위한 입력 정보" + }, + "CreatePlatformOrderTransferBodyAdditionalFee": { + "title": "추가 수수료 정보", + "description": "추가 수수료 정보", + "type": "object", + "required": [ + "policyId" + ], + "properties": { + "policyId": { + "type": "string", + "title": "추가 수수료 정책 아이디" + } + }, + "x-portone-title": "추가 수수료 정보" + }, + "CreatePlatformOrderTransferBodyDiscount": { + "title": "할인 정보", + "description": "할인 정보", + "type": "object", + "required": [ + "sharePolicyId", + "amount" + ], + "properties": { + "sharePolicyId": { + "type": "string", + "title": "할인 분담 정책 아이디" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "할인 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세 할인 금액" + } + }, + "x-portone-title": "할인 정보" + }, + "CreatePlatformOrderTransferBodyExternalPaymentDetail": { + "title": "외부 결제 상세 정보", + "description": "외부 결제 상세 정보", + "type": "object", + "required": [ + "currency" + ], + "properties": { + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "orderName": { + "type": "string", + "title": "주문 명" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 일시" + }, + "method": { + "$ref": "#/components/schemas/PlatformPaymentMethodInput", + "title": "결제 수단" + } + }, + "x-portone-title": "외부 결제 상세 정보" + }, + "CreatePlatformOrderTransferBodyOrderDetail": { + "title": "주문 정보", + "description": "주문 정보\n\n주문 금액 또는 주문 항목 하나만 입력 가능합니다.", + "type": "object", + "properties": { + "orderAmount": { + "type": "integer", + "format": "int64", + "title": "주문 금액" + }, + "orderLines": { + "title": "주문 항목 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyOrderLine" + } + } + }, + "x-portone-title": "주문 정보", + "x-portone-description": "주문 금액 또는 주문 항목 하나만 입력 가능합니다." + }, + "CreatePlatformOrderTransferBodyOrderLine": { + "title": "주문 항목", + "description": "주문 항목", + "type": "object", + "required": [ + "product", + "quantity", + "discounts", + "additionalFees" + ], + "properties": { + "product": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyProduct", + "title": "상품" + }, + "quantity": { + "type": "integer", + "format": "int32", + "title": "상품 수량" + }, + "discounts": { + "title": "상품 할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyDiscount" + } + }, + "additionalFees": { + "title": "상품 추가 수수료 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformOrderTransferBodyAdditionalFee" + } + } + }, + "x-portone-title": "주문 항목" + }, + "CreatePlatformOrderTransferBodyProduct": { + "title": "상품", + "description": "상품", + "type": "object", + "required": [ + "id", + "name", + "amount" + ], + "properties": { + "id": { + "type": "string", + "title": "상품 아이디" + }, + "name": { + "type": "string", + "title": "상품 이름" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "상품 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "상품 면세 금액" + }, + "tag": { + "type": "string", + "title": "태그" + } + }, + "x-portone-title": "상품" + }, + "CreatePlatformOrderTransferError": { + "title": "CreatePlatformOrderTransferError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePoliciesNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError" + }, + { + "$ref": "#/components/schemas/PlatformCurrencyNotSupportedError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePoliciesNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformPaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformProductIdDuplicatedError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementAmountExceededError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementParameterNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementPaymentAmountExceededPortOnePaymentError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementTaxFreeAmountExceededPortOnePaymentError" + }, + { + "$ref": "#/components/schemas/PlatformTransferAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICIES_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePoliciesNotFoundError", + "PLATFORM_ADDITIONAL_FIXED_AMOUNT_FEE_CURRENCY_AND_SETTLEMENT_CURRENCY_MISMATCHED": "#/components/schemas/PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_CONTRACT_PLATFORM_FIXED_AMOUNT_FEE_CURRENCY_AND_SETTLEMENT_CURRENCY_MISMATCHED": "#/components/schemas/PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError", + "PLATFORM_CURRENCY_NOT_SUPPORTED": "#/components/schemas/PlatformCurrencyNotSupportedError", + "PLATFORM_DISCOUNT_SHARE_POLICIES_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePoliciesNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "PLATFORM_PAYMENT_NOT_FOUND": "#/components/schemas/PlatformPaymentNotFoundError", + "PLATFORM_PRODUCT_ID_DUPLICATED": "#/components/schemas/PlatformProductIdDuplicatedError", + "PLATFORM_SETTLEMENT_AMOUNT_EXCEEDED": "#/components/schemas/PlatformSettlementAmountExceededError", + "PLATFORM_SETTLEMENT_PARAMETER_NOT_FOUND": "#/components/schemas/PlatformSettlementParameterNotFoundError", + "PLATFORM_SETTLEMENT_PAYMENT_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT": "#/components/schemas/PlatformSettlementPaymentAmountExceededPortOnePaymentError", + "PLATFORM_SETTLEMENT_SUPPLY_WITH_VAT_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT": "#/components/schemas/PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError", + "PLATFORM_SETTLEMENT_TAX_FREE_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT": "#/components/schemas/PlatformSettlementTaxFreeAmountExceededPortOnePaymentError", + "PLATFORM_TRANSFER_ALREADY_EXISTS": "#/components/schemas/PlatformTransferAlreadyExistsError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformPartnerBody": { + "title": "파트너 생성을 위한 입력 정보", + "description": "파트너 생성을 위한 입력 정보", + "type": "object", + "required": [ + "name", + "contact", + "account", + "defaultContractId", + "tags", + "type" + ], + "properties": { + "id": { + "type": "string", + "title": "파트너에 부여할 고유 아이디", + "description": "고객사 서버에 등록된 파트너 지칭 아이디와 동일하게 설정하는 것을 권장합니다. 명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다." + }, + "name": { + "type": "string", + "title": "파트너 법인명 혹은 이름" + }, + "contact": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyContact", + "title": "파트너 담당자 연락 정보" + }, + "account": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyAccount", + "title": "정산 계좌", + "description": "파트너의 사업자등록번호가 존재하는 경우 명시합니다. 별도로 검증하지는 않으며, 번호와 기호 모두 입력 가능합니다." + }, + "defaultContractId": { + "type": "string", + "title": "기본 계약 아이디", + "description": "이미 존재하는 계약 아이디를 등록해야 합니다." + }, + "memo": { + "type": "string", + "title": "파트너에 대한 메모", + "description": "총 256자까지 입력할 수 있습니다." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "파트너에 부여할 태그 리스트", + "description": "최대 10개까지 입력할 수 있습니다." + }, + "type": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyType", + "title": "파트너 유형별 추가 정보", + "description": "사업자/원천징수 대상자 중 추가할 파트너의 유형에 따른 정보를 입력해야 합니다." + }, + "userDefinedProperties": { + "$ref": "#/components/schemas/PlatformProperties", + "title": "사용자 정의 속성" + } + }, + "x-portone-title": "파트너 생성을 위한 입력 정보" + }, + "CreatePlatformPartnerBodyAccount": { + "title": "파트너 계좌 등록을 위한 정보", + "description": "파트너 계좌 등록을 위한 정보", + "type": "object", + "required": [ + "bank", + "currency", + "number", + "holder" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "정산에 사용할 통화" + }, + "number": { + "type": "string", + "title": "계좌번호" + }, + "holder": { + "type": "string", + "title": "예금주명" + }, + "accountVerificationId": { + "type": "string", + "title": "계좌 검증 아이디" + } + }, + "x-portone-title": "파트너 계좌 등록을 위한 정보" + }, + "CreatePlatformPartnerBodyContact": { + "title": "파트너 담당자 정보", + "description": "파트너 담당자 정보", + "type": "object", + "required": [ + "name", + "email" + ], + "properties": { + "name": { + "type": "string", + "title": "담당자 이름" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 휴대폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + }, + "x-portone-title": "파트너 담당자 정보" + }, + "CreatePlatformPartnerBodyType": { + "title": "파트너 생성을 위한 유형별 추가 정보", + "description": "파트너 생성을 위한 유형별 추가 정보", + "type": "object", + "properties": { + "business": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyTypeBusiness", + "title": "사업자 추가 정보" + }, + "whtPayer": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyTypeWhtPayer", + "title": "원천징수 대상자 추가 정보" + }, + "nonWhtPayer": { + "$ref": "#/components/schemas/CreatePlatformPartnerBodyTypeNonWhtPayer", + "title": "원천징수 비대상자 추가 정보" + } + }, + "x-portone-title": "파트너 생성을 위한 유형별 추가 정보" + }, + "CreatePlatformPartnerBodyTypeBusiness": { + "title": "CreatePlatformPartnerBodyTypeBusiness", + "type": "object", + "required": [ + "companyName", + "businessRegistrationNumber", + "representativeName" + ], + "properties": { + "companyName": { + "type": "string", + "title": "상호명" + }, + "taxationType": { + "$ref": "#/components/schemas/PlatformPartnerTaxationType", + "title": "사업자 유형", + "description": "값을 입력하지 않으면 일반 과세로 설정됩니다." + }, + "businessRegistrationNumber": { + "type": "string", + "title": "사업자등록번호" + }, + "representativeName": { + "type": "string", + "title": "대표자 이름" + }, + "companyAddress": { + "type": "string", + "title": "사업장 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + } + }, + "CreatePlatformPartnerBodyTypeNonWhtPayer": { + "title": "CreatePlatformPartnerBodyTypeNonWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "CreatePlatformPartnerBodyTypeWhtPayer": { + "title": "CreatePlatformPartnerBodyTypeWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "CreatePlatformPartnerError": { + "title": "CreatePlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationFailedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformCurrencyNotSupportedError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerIdAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError", + "PLATFORM_ACCOUNT_VERIFICATION_FAILED": "#/components/schemas/PlatformAccountVerificationFailedError", + "PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND": "#/components/schemas/PlatformAccountVerificationNotFoundError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_CURRENCY_NOT_SUPPORTED": "#/components/schemas/PlatformCurrencyNotSupportedError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_ID_ALREADY_EXISTS": "#/components/schemas/PlatformPartnerIdAlreadyExistsError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformPartnerResponse": { + "title": "파트너 생성 성공 응답", + "description": "파트너 생성 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "생성된 파트너" + } + }, + "x-portone-title": "파트너 생성 성공 응답" + }, + "CreatePlatformPartnersBody": { + "title": "파트너 다건 생성을 위한 입력 정보", + "description": "파트너 다건 생성을 위한 입력 정보", + "type": "object", + "required": [ + "partners" + ], + "properties": { + "partners": { + "title": "생성할 파트너 리스트 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreatePlatformPartnerBody" + } + } + }, + "x-portone-title": "파트너 다건 생성을 위한 입력 정보" + }, + "CreatePlatformPartnersError": { + "title": "CreatePlatformPartnersError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractsNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformCurrencyNotSupportedError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerIdsAlreadyExistError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerIdsDuplicatedError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACTS_NOT_FOUND": "#/components/schemas/PlatformContractsNotFoundError", + "PLATFORM_CURRENCY_NOT_SUPPORTED": "#/components/schemas/PlatformCurrencyNotSupportedError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_IDS_ALREADY_EXISTS": "#/components/schemas/PlatformPartnerIdsAlreadyExistError", + "PLATFORM_PARTNER_IDS_DUPLICATED": "#/components/schemas/PlatformPartnerIdsDuplicatedError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "CreatePlatformPartnersResponse": { + "title": "파트너 다건 생성 성공 응답", + "description": "파트너 다건 생성 성공 응답", + "type": "object", + "required": [ + "partners" + ], + "properties": { + "partners": { + "title": "생성된 파트너 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartner" + } + } + }, + "x-portone-title": "파트너 다건 생성 성공 응답" + }, + "Currency": { + "title": "통화 단위", + "description": "통화 단위", + "type": "string", + "enum": [ + "KRW", + "USD", + "JPY", + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOV", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "INR", + "IQD", + "IRR", + "ISK", + "JMD", + "JOD", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRU", + "MUR", + "MVR", + "MWK", + "MXN", + "MXV", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLE", + "SLL", + "SOS", + "SRD", + "SSP", + "STN", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UGX", + "USN", + "UYI", + "UYU", + "UYW", + "UZS", + "VED", + "VES", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XOF", + "XPD", + "XPF", + "XPT", + "XSU", + "XTS", + "XUA", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWL" + ], + "x-portone-title": "통화 단위", + "x-portone-enum": { + "OMR": { + "title": "Rial Omani" + }, + "CUC": { + "title": "Peso Convertible" + }, + "BBD": { + "title": "Barbados Dollar" + }, + "PLN": { + "title": "Zloty" + }, + "SVC": { + "title": "El Salvador Colon" + }, + "BMD": { + "title": "Bermudian Dollar" + }, + "TJS": { + "title": "Somoni" + }, + "TND": { + "title": "Tunisian Dinar" + }, + "GNF": { + "title": "Guinean Franc" + }, + "SDG": { + "title": "Sudanese Pound" + }, + "MRU": { + "title": "Ouguiya" + }, + "XBB": { + "title": "Bond Markets Unit European Monetary Unit (E.M.U.-6)" + }, + "PKR": { + "title": "Pakistan Rupee" + }, + "FKP": { + "title": "Falkland Islands Pound" + }, + "MUR": { + "title": "Mauritius Rupee" + }, + "XAF": { + "title": "CFA Franc BEAC" + }, + "SAR": { + "title": "Saudi Riyal" + }, + "CAD": { + "title": "Canadian Dollar" + }, + "HKD": { + "title": "Hong Kong Dollar" + }, + "PYG": { + "title": "Guarani" + }, + "MGA": { + "title": "Malagasy Ariary" + }, + "UYI": { + "title": "Uruguay Peso en Unidades Indexadas (UI)" + }, + "AUD": { + "title": "Australian Dollar" + }, + "AMD": { + "title": "Armenian Dram" + }, + "YER": { + "title": "Yemeni Rial" + }, + "CHE": { + "title": "WIR Euro" + }, + "MMK": { + "title": "Kyat" + }, + "SEK": { + "title": "Swedish Krona" + }, + "TRY": { + "title": "Turkish Lira" + }, + "XBC": { + "title": "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)" + }, + "KES": { + "title": "Kenyan Shilling" + }, + "GEL": { + "title": "Lari" + }, + "GTQ": { + "title": "Quetzal" + }, + "TZS": { + "title": "Tanzanian Shilling" + }, + "CUP": { + "title": "Cuban Peso" + }, + "ALL": { + "title": "Lek" + }, + "ERN": { + "title": "Nakfa" + }, + "BRL": { + "title": "Brazilian Real" + }, + "UGX": { + "title": "Uganda Shilling" + }, + "XUA": { + "title": "ADB Unit of Account" + }, + "GIP": { + "title": "Gibraltar Pound" + }, + "MZN": { + "title": "Mozambique Metical" + }, + "KRW": { + "title": "대한민국 원화" + }, + "JOD": { + "title": "Jordanian Dinar" + }, + "IQD": { + "title": "Iraqi Dinar" + }, + "VUV": { + "title": "Vatu" + }, + "XXX": { + "title": "The codes assigned for transactions where no currency is involved" + }, + "UZS": { + "title": "Uzbekistan Sum" + }, + "BOV": { + "title": "Mvdol" + }, + "UAH": { + "title": "Hryvnia" + }, + "PEN": { + "title": "Sol" + }, + "KMF": { + "title": "Comorian Franc " + }, + "DOP": { + "title": "Dominican Peso" + }, + "BDT": { + "title": "Taka" + }, + "LKR": { + "title": "Sri Lanka Rupee" + }, + "FJD": { + "title": "Fiji Dollar" + }, + "LSL": { + "title": "Loti" + }, + "BSD": { + "title": "Bahamian Dollar" + }, + "SRD": { + "title": "Surinam Dollar" + }, + "XTS": { + "title": "Codes specifically reserved for testing purposes" + }, + "SHP": { + "title": "Saint Helena Pound" + }, + "LRD": { + "title": "Liberian Dollar" + }, + "QAR": { + "title": "Qatari Rial" + }, + "BND": { + "title": "Brunei Dollar" + }, + "CDF": { + "title": "Congolese Franc" + }, + "SLE": { + "title": "Leone" + }, + "USN": { + "title": "US Dollar (Next day)" + }, + "VES": { + "title": "Bolívar Soberano" + }, + "TMT": { + "title": "Turkmenistan New Manat" + }, + "CHW": { + "title": "WIR Franc" + }, + "BGN": { + "title": "Bulgarian Lev" + }, + "JMD": { + "title": "Jamaican Dollar" + }, + "SZL": { + "title": "Lilangeni" + }, + "CZK": { + "title": "Czech Koruna" + }, + "ZMW": { + "title": "Zambian Kwacha" + }, + "UYU": { + "title": "Peso Uruguayo" + }, + "NPR": { + "title": "Nepalese Rupee" + }, + "EGP": { + "title": "Egyptian Pound" + }, + "AZN": { + "title": "Azerbaijan Manat" + }, + "CLP": { + "title": "Chilean Peso" + }, + "MOP": { + "title": "Pataca" + }, + "SCR": { + "title": "Seychelles Rupee" + }, + "HTG": { + "title": "Gourde" + }, + "VND": { + "title": "Dong" + }, + "LAK": { + "title": "Lao Kip" + }, + "BTN": { + "title": "Ngultrum" + }, + "GBP": { + "title": "Pound Sterling" + }, + "SSP": { + "title": "South Sudanese Pound" + }, + "XPD": { + "title": "Palladium" + }, + "TWD": { + "title": "New Taiwan Dollar" + }, + "DZD": { + "title": "Algerian Dinar" + }, + "MXN": { + "title": "Mexican Peso" + }, + "XDR": { + "title": "SDR (Special Drawing Right)" + }, + "ZWL": { + "title": "Zimbabwe Dollar" + }, + "AWG": { + "title": "Aruban Florin" + }, + "THB": { + "title": "Baht" + }, + "ISK": { + "title": "Iceland Krona" + }, + "LBP": { + "title": "Lebanese Pound" + }, + "SGD": { + "title": "Singapore Dollar" + }, + "MWK": { + "title": "Malawi Kwacha" + }, + "KZT": { + "title": "Tenge" + }, + "CRC": { + "title": "Costa Rican Colon" + }, + "WST": { + "title": "Tala" + }, + "DJF": { + "title": "Djibouti Franc" + }, + "LYD": { + "title": "Libyan Dinar" + }, + "NGN": { + "title": "Naira" + }, + "BIF": { + "title": "Burundi Franc" + }, + "AED": { + "title": "UAE Dirham" + }, + "CHF": { + "title": "Swiss Franc" + }, + "RWF": { + "title": "Rwanda Franc" + }, + "XBD": { + "title": "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)" + }, + "INR": { + "title": "Indian Rupee" + }, + "CLF": { + "title": "Unidad de Fomento" + }, + "XOF": { + "title": "CFA Franc BCEAO" + }, + "COU": { + "title": "Unidad de Valor Real" + }, + "MXV": { + "title": "Mexican Unidad de Inversion (UDI)" + }, + "PGK": { + "title": "Kina" + }, + "CNY": { + "title": "Yuan Renminbi" + }, + "SYP": { + "title": "Syrian Pound" + }, + "VED": { + "title": "Bolívar Soberano" + }, + "RON": { + "title": "Romanian Leu" + }, + "AFN": { + "title": "Afghani" + }, + "PHP": { + "title": "Philippine Peso" + }, + "MDL": { + "title": "Moldovan Leu" + }, + "KHR": { + "title": "Riel" + }, + "XPT": { + "title": "Platinum" + }, + "COP": { + "title": "Colombian Peso" + }, + "DKK": { + "title": "Danish Krone" + }, + "KYD": { + "title": "Cayman Islands Dollar" + }, + "XPF": { + "title": "CFP Franc" + }, + "GMD": { + "title": "Dalasi" + }, + "MVR": { + "title": "Rufiyaa" + }, + "STN": { + "title": "Dobra" + }, + "TTD": { + "title": "Trinidad and Tobago Dollar" + }, + "PAB": { + "title": "Balboa" + }, + "XAU": { + "title": "Gold" + }, + "XAG": { + "title": "Silver" + }, + "JPY": { + "title": "일본 엔화" + }, + "TOP": { + "title": "Pa’anga" + }, + "BWP": { + "title": "Pula" + }, + "MKD": { + "title": "Denar" + }, + "ARS": { + "title": "Argentine Peso" + }, + "HUF": { + "title": "Forint" + }, + "MYR": { + "title": "Malaysian Ringgit" + }, + "USD": { + "title": "미국 달러" + }, + "SLL": { + "title": "Leone" + }, + "MAD": { + "title": "Moroccan Dirham" + }, + "RUB": { + "title": "Russian Ruble" + }, + "MNT": { + "title": "Tugrik" + }, + "BOB": { + "title": "Boliviano" + }, + "GYD": { + "title": "Guyana Dollar" + }, + "SBD": { + "title": "Solomon Islands Dollar" + }, + "XBA": { + "title": "Bond Markets Unit European Composite Unit (EURCO)" + }, + "BHD": { + "title": "Bahraini Dinar" + }, + "HNL": { + "title": "Lempira" + }, + "UYW": { + "title": "Unidad Previsional" + }, + "NZD": { + "title": "New Zealand Dollar" + }, + "XCD": { + "title": "East Caribbean Dollar" + }, + "XSU": { + "title": "Sucre" + }, + "KGS": { + "title": "Som" + }, + "AOA": { + "title": "Kwanza" + }, + "BZD": { + "title": "Belize Dollar" + }, + "IDR": { + "title": "Rupiah" + }, + "SOS": { + "title": "Somali Shilling" + }, + "NIO": { + "title": "Cordoba Oro" + }, + "GHS": { + "title": "Ghana Cedi" + }, + "ANG": { + "title": "Netherlands Antillean Guilder" + }, + "RSD": { + "title": "Serbian Dinar" + }, + "ILS": { + "title": "New Israeli Sheqel" + }, + "NOK": { + "title": "Norwegian Krone" + }, + "KWD": { + "title": "Kuwaiti Dinar" + }, + "NAD": { + "title": "Namibia Dollar" + }, + "ETB": { + "title": "Ethiopian Birr" + }, + "BYN": { + "title": "Belarusian Ruble" + }, + "KPW": { + "title": "North Korean Won" + }, + "EUR": { + "title": "Euro" + }, + "CVE": { + "title": "Cabo Verde Escudo" + }, + "ZAR": { + "title": "Rand" + }, + "IRR": { + "title": "Iranian Rial" + }, + "HRK": { + "title": "Kuna (Replaced by EUR)" + }, + "BAM": { + "title": "Convertible Mark" + } + } + }, + "CursorPageInfo": { + "title": "커서 기반 페이지 정보", + "description": "커서 기반 페이지 정보", + "type": "object", + "required": [ + "startCursor", + "endCursor", + "hasPreviousPage", + "hasNextPage" + ], + "properties": { + "startCursor": { + "type": "string" + }, + "endCursor": { + "type": "string" + }, + "hasPreviousPage": { + "type": "boolean" + }, + "hasNextPage": { + "type": "boolean" + } + }, + "x-portone-title": "커서 기반 페이지 정보" + }, + "Customer": { + "title": "고객 정보", + "description": "고객 정보", + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "고객 아이디", + "description": "고객사가 지정한 고객의 고유 식별자입니다." + }, + "name": { + "type": "string", + "title": "이름" + }, + "birthYear": { + "type": "string", + "title": "출생 연도" + }, + "gender": { + "$ref": "#/components/schemas/Gender", + "title": "성별" + }, + "email": { + "type": "string", + "title": "이메일" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + }, + "address": { + "$ref": "#/components/schemas/Address", + "title": "주소" + }, + "zipcode": { + "type": "string", + "title": "우편번호" + } + }, + "x-portone-title": "고객 정보" + }, + "CustomerInput": { + "title": "고객 정보 입력 정보", + "description": "고객 정보 입력 정보", + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "고객 아이디", + "description": "고객사가 지정한 고객의 고유 식별자입니다." + }, + "name": { + "$ref": "#/components/schemas/CustomerNameInput", + "title": "이름" + }, + "birthYear": { + "type": "string", + "title": "출생 연도" + }, + "birthMonth": { + "type": "string", + "title": "출생월" + }, + "birthDay": { + "type": "string", + "title": "출생일" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가" + }, + "gender": { + "$ref": "#/components/schemas/Gender", + "title": "성별" + }, + "email": { + "type": "string", + "title": "이메일" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + }, + "address": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "주소" + }, + "zipcode": { + "type": "string", + "title": "우편번호" + }, + "businessRegistrationNumber": { + "type": "string", + "title": "사업자 등록 번호" + } + }, + "x-portone-title": "고객 정보 입력 정보" + }, + "CustomerNameInput": { + "title": "고객 이름 입력 정보", + "description": "고객 이름 입력 정보\n\n두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요.", + "type": "object", + "properties": { + "full": { + "type": "string", + "title": "한 줄 이름 형식" + }, + "separated": { + "$ref": "#/components/schemas/CustomerSeparatedName", + "title": "분리형 이름 형식" + } + }, + "x-portone-title": "고객 이름 입력 정보", + "x-portone-description": "두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요." + }, + "CustomerSeparatedName": { + "title": "고객 분리형 이름", + "description": "고객 분리형 이름", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string", + "title": "이름" + }, + "last": { + "type": "string", + "title": "성" + } + }, + "x-portone-title": "고객 분리형 이름" + }, + "DateRange": { + "title": "DateRange", + "type": "object", + "required": [ + "from", + "until" + ], + "properties": { + "from": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "until": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + } + } + }, + "DateTimeRange": { + "title": "시간 범위", + "description": "시간 범위", + "type": "object", + "required": [ + "from", + "until" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time" + }, + "until": { + "type": "string", + "format": "date-time" + } + }, + "x-portone-title": "시간 범위" + }, + "DayOfWeek": { + "title": "요일", + "description": "요일", + "type": "string", + "enum": [ + "SUN", + "MON", + "TUE", + "WED", + "THU", + "FRI", + "SAT" + ], + "x-portone-title": "요일", + "x-portone-enum": { + "TUE": {}, + "THU": {}, + "SAT": {}, + "MON": {}, + "SUN": {}, + "WED": {}, + "FRI": {} + } + }, + "DeleteB2bTaxInvoiceAttachmentError": { + "title": "DeleteB2bTaxInvoiceAttachmentError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_ATTACHMENT_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REGISTERED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DeleteB2bTaxInvoiceError": { + "title": "DeleteB2bTaxInvoiceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNonDeletableStatusError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NON_DELETABLE_STATUS": "#/components/schemas/B2bTaxInvoiceNonDeletableStatusError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DeleteBillingKeyError": { + "title": "DeleteBillingKeyError", + "oneOf": [ + { + "$ref": "#/components/schemas/BillingKeyAlreadyDeletedError" + }, + { + "$ref": "#/components/schemas/BillingKeyNotFoundError" + }, + { + "$ref": "#/components/schemas/BillingKeyNotIssuedError" + }, + { + "$ref": "#/components/schemas/ChannelSpecificError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BILLING_KEY_ALREADY_DELETED": "#/components/schemas/BillingKeyAlreadyDeletedError", + "BILLING_KEY_NOT_FOUND": "#/components/schemas/BillingKeyNotFoundError", + "BILLING_KEY_NOT_ISSUED": "#/components/schemas/BillingKeyNotIssuedError", + "CHANNEL_SPECIFIC": "#/components/schemas/ChannelSpecificError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PaymentScheduleAlreadyExistsError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DeleteBillingKeyResponse": { + "title": "빌링키 삭제 성공 응답", + "description": "빌링키 삭제 성공 응답", + "type": "object", + "required": [ + "deletedAt" + ], + "properties": { + "deletedAt": { + "type": "string", + "format": "date-time", + "title": "빌링키 삭제 완료 시점" + } + }, + "x-portone-title": "빌링키 삭제 성공 응답" + }, + "DeletePlatformTransferError": { + "title": "DeletePlatformTransferError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformCancelOrderTransfersExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformTransferNonDeletableStatusError" + }, + { + "$ref": "#/components/schemas/PlatformTransferNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CANCEL_ORDER_TRANSFERS_EXISTS": "#/components/schemas/PlatformCancelOrderTransfersExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_TRANSFER_NON_DELETABLE_STATUS": "#/components/schemas/PlatformTransferNonDeletableStatusError", + "PLATFORM_TRANSFER_NOT_FOUND": "#/components/schemas/PlatformTransferNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DeletePlatformTransferResponse": { + "title": "DeletePlatformTransferResponse", + "type": "object" + }, + "DeletedBillingKeyInfo": { + "title": "빌링키 삭제 완료 상태 건", + "description": "빌링키 삭제 완료 상태 건", + "type": "object", + "required": [ + "status", + "billingKey", + "merchantId", + "storeId", + "channels", + "customer", + "issuedAt", + "deletedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "빌링키 상태" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "methods": { + "title": "빌링키 결제수단 상세 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingKeyPaymentMethod" + }, + "description": "추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다." + }, + "channels": { + "title": "빌링키 발급 시 사용된 채널", + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectedChannel" + }, + "description": "추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다." + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "issueId": { + "type": "string", + "title": "고객사가 채번하는 빌링키 발급 건 고유 아이디" + }, + "issueName": { + "type": "string", + "title": "빌링키 발급 건 이름" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "발급 요청 시점" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "채널 그룹" + }, + "pgBillingKeyIssueResponses": { + "title": "채널 별 빌링키 발급 응답", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgBillingKeyIssueResponse" + }, + "description": "슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 발급은 실패할 수 있습니다." + }, + "deletedAt": { + "type": "string", + "format": "date-time", + "title": "발급 삭제 시점" + } + }, + "x-portone-title": "빌링키 삭제 완료 상태 건" + }, + "DeliveredPaymentEscrow": { + "title": "배송 완료", + "description": "배송 완료", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + } + }, + "x-portone-title": "배송 완료" + }, + "DiscountAmountExceedsTotalAmountError": { + "title": "프로모션 할인 금액이 결제 시도 금액 이상인 경우", + "description": "프로모션 할인 금액이 결제 시도 금액 이상인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "프로모션 할인 금액이 결제 시도 금액 이상인 경우", + "x-portone-status-code": 400 + }, + "DownloadPaymentsExcelBody": { + "title": "결제건 엑셀 다운로드를 위한 입력 정보", + "description": "결제건 엑셀 다운로드를 위한 입력 정보", + "type": "object", + "required": [ + "filter" + ], + "properties": { + "filter": { + "$ref": "#/components/schemas/DownloadPaymentsExcelFilter", + "title": "조회하여 다운로드할 결제 건의 조건 필터" + } + }, + "x-portone-title": "결제건 엑셀 다운로드를 위한 입력 정보" + }, + "DownloadPaymentsExcelFilter": { + "title": "DownloadPaymentsExcelFilter", + "type": "object", + "required": [ + "storeId", + "promotionId" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + } + } + }, + "DownloadPlatformBulkPayoutsSheetBody": { + "title": "DownloadPlatformBulkPayoutsSheetBody", + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformBulkPayoutFilterInput" + }, + "fields": { + "title": "다운로드 할 시트 컬럼", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformBulkPayoutsSheetField" + } + }, + "isForTest": { + "type": "boolean" + } + } + }, + "DownloadPlatformBulkPayoutsSheetError": { + "title": "DownloadPlatformBulkPayoutsSheetError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DownloadPlatformPartnerSettlementSheetBody": { + "title": "DownloadPlatformPartnerSettlementSheetBody", + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformPartnerSettlementFilterInput" + }, + "fields": { + "title": "다운로드 할 시트 컬럼", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlementSheetField" + } + }, + "isForTest": { + "type": "boolean" + } + } + }, + "DownloadPlatformPartnerSettlementSheetError": { + "title": "DownloadPlatformPartnerSettlementSheetError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DownloadPlatformPayoutsSheetBody": { + "title": "DownloadPlatformPayoutsSheetBody", + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformPayoutFilterInput" + }, + "fields": { + "title": "다운로드 할 시트 컬럼", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayoutsSheetField" + } + }, + "isForTest": { + "type": "boolean" + } + } + }, + "DownloadPlatformPayoutsSheetError": { + "title": "DownloadPlatformPayoutsSheetError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DownloadPlatformTransferSheetBody": { + "title": "DownloadPlatformTransferSheetBody", + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformTransferFilterInput" + }, + "fields": { + "title": "다운로드 할 시트 컬럼", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformTransferSheetField" + } + }, + "transferUserDefinedPropertyKeys": { + "type": "array", + "items": { + "type": "string" + } + }, + "partnerUserDefinedPropertyKeys": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DownloadPlatformTransferSheetError": { + "title": "DownloadPlatformTransferSheetError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "DownloadPromotionsExcelBody": { + "title": "프로모션 내역 엑셀 다운로드를 위한 입력 정보", + "description": "프로모션 내역 엑셀 다운로드를 위한 입력 정보", + "type": "object", + "required": [ + "storeId" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "datetimeRange": { + "$ref": "#/components/schemas/DateTimeRange", + "title": "시각 범위" + }, + "datetimeRangeField": { + "$ref": "#/components/schemas/PromotionTimeRangeField", + "title": "시각 범위를 적용할 필드" + } + }, + "x-portone-title": "프로모션 내역 엑셀 다운로드를 위한 입력 정보" + }, + "EasyPayMethodType": { + "title": "간편 결제 수단", + "description": "간편 결제 수단", + "type": "string", + "enum": [ + "CARD", + "TRANSFER", + "CHARGE" + ], + "x-portone-title": "간편 결제 수단", + "x-portone-enum": { + "CARD": {}, + "TRANSFER": {}, + "CHARGE": {} + } + }, + "EasyPayProvider": { + "title": "간편 결제사", + "description": "간편 결제사", + "type": "string", + "enum": [ + "SAMSUNGPAY", + "KAKAOPAY", + "NAVERPAY", + "PAYCO", + "SSGPAY", + "CHAI", + "LPAY", + "KPAY", + "TOSSPAY", + "LGPAY", + "PINPAY", + "APPLEPAY", + "SKPAY", + "TOSS_BRANDPAY", + "KB_APP", + "ALIPAY", + "HYPHEN" + ], + "x-portone-title": "간편 결제사", + "x-portone-enum": { + "KB_APP": {}, + "PAYCO": {}, + "NAVERPAY": {}, + "CHAI": {}, + "PINPAY": {}, + "TOSS_BRANDPAY": {}, + "LGPAY": {}, + "SAMSUNGPAY": {}, + "KPAY": {}, + "SKPAY": {}, + "KAKAOPAY": {}, + "ALIPAY": {}, + "LPAY": {}, + "TOSSPAY": {}, + "SSGPAY": {}, + "APPLEPAY": {}, + "HYPHEN": {} + } + }, + "FailedIdentityVerification": { + "title": "실패한 본인인증 내역", + "description": "실패한 본인인증 내역", + "type": "object", + "required": [ + "status", + "id", + "requestedCustomer", + "requestedAt", + "updatedAt", + "statusChangedAt", + "failure" + ], + "properties": { + "status": { + "type": "string", + "title": "본인인증 상태" + }, + "id": { + "type": "string", + "title": "본인인증 내역 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "사용된 본인인증 채널" + }, + "requestedCustomer": { + "$ref": "#/components/schemas/IdentityVerificationRequestedCustomer", + "title": "요청 시 고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "본인인증 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "failure": { + "$ref": "#/components/schemas/IdentityVerificationFailure", + "title": "본인인증 실패 정보" + } + }, + "x-portone-title": "실패한 본인인증 내역" + }, + "FailedPayment": { + "title": "결제 실패 상태 건", + "description": "결제 실패 상태 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer", + "failedAt", + "failure" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "failedAt": { + "type": "string", + "format": "date-time", + "title": "결제 실패 시점" + }, + "failure": { + "$ref": "#/components/schemas/PaymentFailure", + "title": "결제 실패 정보" + } + }, + "x-portone-title": "결제 실패 상태 건" + }, + "FailedPaymentCancellation": { + "title": "취소 실패 상태", + "description": "취소 실패 상태", + "type": "object", + "required": [ + "status", + "id", + "totalAmount", + "taxFreeAmount", + "vatAmount", + "reason", + "requestedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 취소 내역 상태" + }, + "id": { + "type": "string", + "title": "취소 내역 아이디" + }, + "pgCancellationId": { + "type": "string", + "title": "PG사 결제 취소 내역 아이디" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "취소 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 면세 금액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 부가세액" + }, + "easyPayDiscountAmount": { + "type": "integer", + "format": "int64", + "title": "적립형 포인트의 환불 금액" + }, + "reason": { + "type": "string", + "title": "취소 사유" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 시점" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "취소 요청 시점" + } + }, + "x-portone-title": "취소 실패 상태" + }, + "FailedPaymentSchedule": { + "title": "결제 실패 상태", + "description": "결제 실패 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay", + "startedAt", + "completedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "title": "결제 시작 시점" + }, + "completedAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + } + }, + "x-portone-title": "결제 실패 상태" + }, + "FailedPgBillingKeyIssueResponse": { + "title": "빌링키 발급 실패 채널 응답", + "description": "빌링키 발급 실패 채널 응답", + "type": "object", + "required": [ + "type", + "channel", + "failure" + ], + "properties": { + "type": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "채널", + "description": "빌링키 발급을 시도한 채널입니다." + }, + "failure": { + "$ref": "#/components/schemas/BillingKeyFailure", + "title": "발급 실패 상세 정보" + } + }, + "x-portone-title": "빌링키 발급 실패 채널 응답" + }, + "ForbiddenError": { + "title": "요청이 거절된 경우", + "description": "요청이 거절된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "요청이 거절된 경우", + "x-portone-status-code": 403 + }, + "Gender": { + "title": "성별", + "description": "성별", + "type": "string", + "enum": [ + "MALE", + "FEMALE", + "OTHER" + ], + "x-portone-title": "성별", + "x-portone-enum": { + "MALE": { + "title": "남성" + }, + "FEMALE": { + "title": "여성" + }, + "OTHER": { + "title": "그 외 성별" + } + } + }, + "GetAccountTransfersBody": { + "title": "GetAccountTransfersBody", + "type": "object", + "properties": { + "isForTest": { + "type": "boolean" + }, + "page": { + "$ref": "#/components/schemas/PageInput" + }, + "filter": { + "$ref": "#/components/schemas/PlatformAccountTransferFilter" + } + } + }, + "GetAllPaymentsByCursorBody": { + "title": "GetAllPaymentsByCursorBody", + "description": "결제 건 커서 기반 대용량 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "from": { + "type": "string", + "format": "date-time", + "title": "결제 건 생성시점 범위 조건의 시작", + "description": "값을 입력하지 않으면 end의 90일 전으로 설정됩니다." + }, + "until": { + "type": "string", + "format": "date-time", + "title": "결제 건 생성시점 범위 조건의 끝", + "description": "값을 입력하지 않으면 현재 시점으로 설정됩니다." + }, + "cursor": { + "type": "string", + "title": "커서", + "description": "결제 건 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는 이전 요청 응답값의 cursor를 입력해주시면 됩니다." + }, + "size": { + "type": "integer", + "format": "int32", + "title": "페이지 크기", + "description": "미입력 시 기본값은 10 이며 최대 1000까지 허용" + } + }, + "x-portone-description": "결제 건 커서 기반 대용량 다건 조회를 위한 입력 정보" + }, + "GetAllPaymentsByCursorResponse": { + "title": "결제 건 커서 기반 대용량 다건 조회 성공 응답 정보", + "description": "결제 건 커서 기반 대용량 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "title": "조회된 결제 건 및 커서 정보 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWithCursor" + } + } + }, + "x-portone-title": "결제 건 커서 기반 대용량 다건 조회 성공 응답 정보" + }, + "GetAllPaymentsError": { + "title": "GetAllPaymentsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsAverageAmountChartBody": { + "title": "고객사의 평균 거래액 현황 조회를 위한 입력 정보", + "description": "고객사의 평균 거래액 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 평균 거래액 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 평균 거래액 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "평균 거래액 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + } + }, + "x-portone-title": "고객사의 평균 거래액 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsCancellationRateBody": { + "title": "고객사의 환불율 조회를 위한 입력 정보", + "description": "고객사의 환불율 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "환불율 조회 기간의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "환불율 조회 기간의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + } + }, + "x-portone-title": "고객사의 환불율 조회를 위한 입력 정보" + }, + "GetAnalyticsCancellationRateError": { + "title": "GetAnalyticsCancellationRateError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsCardChartBody": { + "title": "고객사의 카드결제 현황 조회를 위한 입력 정보", + "description": "고객사의 카드결제 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 카드결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 카드결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "카드결제 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + } + }, + "x-portone-title": "고객사의 카드결제 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsCardChartError": { + "title": "GetAnalyticsCardChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsCardCompanyChartBody": { + "title": "고객사의 카드사별 결제 현황 조회를 위한 입력 정보", + "description": "고객사의 카드사별 결제 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity", + "cardCompanies", + "excludesFromRemainders" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 카드사별 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 카드사별 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "카드사별 결제 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + }, + "cardCompanies": { + "title": "조회할 카드사", + "type": "array", + "items": { + "$ref": "#/components/schemas/CardCompany" + } + }, + "excludesFromRemainders": { + "title": "나머지 집계에 포함되지 않을 카드사", + "type": "array", + "items": { + "$ref": "#/components/schemas/CardCompany" + } + } + }, + "x-portone-title": "고객사의 카드사별 결제 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsCardCompanyChartError": { + "title": "GetAnalyticsCardCompanyChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsEasyPayChartBody": { + "title": "고객사의 간편결제 현황 조회를 위한 입력 정보", + "description": "고객사의 간편결제 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 간편결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 간편결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "간편결제 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + } + }, + "x-portone-title": "고객사의 간편결제 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsEasyPayChartError": { + "title": "GetAnalyticsEasyPayChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsEasyPayProviderChartBody": { + "title": "고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보", + "description": "고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity", + "easyPayProviders", + "excludesFromRemainders" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 간편결제사별 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 간편결제사별 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "간편결제사별 결제 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + }, + "easyPayProviders": { + "title": "조회할 간편결제사", + "type": "array", + "items": { + "$ref": "#/components/schemas/EasyPayProvider" + } + }, + "excludesFromRemainders": { + "title": "나머지 집계에 포함되지 않을 간편결제사", + "type": "array", + "items": { + "$ref": "#/components/schemas/EasyPayProvider" + } + } + }, + "x-portone-title": "고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsEasyPayProviderChartError": { + "title": "GetAnalyticsEasyPayProviderChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsOverseasPaymentUsageError": { + "title": "GetAnalyticsOverseasPaymentUsageError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsPaymentChartBody": { + "title": "고객사의 결제 현황 조회를 위한 입력 정보", + "description": "고객사의 결제 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "timeGranularity" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "결제 현황 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + } + }, + "x-portone-title": "고객사의 결제 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentChartError": { + "title": "GetAnalyticsPaymentChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsPaymentChartInsightBody": { + "title": "고객사의 결제 현황 인사이트 조회를 위한 입력 정보", + "description": "고객사의 결제 현황 인사이트 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "timezoneHourOffset" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timezoneHourOffset": { + "type": "integer", + "format": "int32", + "title": "타임존 시간 오프셋", + "description": "입력된 시간 오프셋 기준으로 일, 주, 월이 집계 됩니다." + } + }, + "x-portone-title": "고객사의 결제 현황 인사이트 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentChartInsightError": { + "title": "GetAnalyticsPaymentChartInsightError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetAnalyticsPaymentMethodChartBody": { + "title": "고객사의 결제수단 현황 조회를 위한 입력 정보", + "description": "고객사의 결제수단 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제수단 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제수단 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + } + }, + "x-portone-title": "고객사의 결제수단 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentMethodTrendChartBody": { + "title": "고객사의 결제수단 트렌드 조회를 위한 입력 정보", + "description": "고객사의 결제수단 트렌드 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제수단 트렌드의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제수단 트렌드의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "결제 결제수단 트렌드 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + } + }, + "x-portone-title": "고객사의 결제수단 트렌드 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentStatusByPaymentClientChartBody": { + "title": "고객사의 결제환경별 결제전환율 조회를 위한 입력 정보", + "description": "고객사의 결제환경별 결제전환율 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + } + }, + "x-portone-title": "고객사의 결제환경별 결제전환율 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentStatusByPaymentMethodChartBody": { + "title": "고객사의 결제수단별 결제전환율 조회를 위한 입력 정보", + "description": "고객사의 결제수단별 결제전환율 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + } + }, + "x-portone-title": "고객사의 결제수단별 결제전환율 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentStatusByPgCompanyChartBody": { + "title": "고객사의 PG사별 결제전환율 조회를 위한 입력 정보", + "description": "고객사의 PG사별 결제전환율 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + } + }, + "x-portone-title": "고객사의 PG사별 결제전환율 조회를 위한 입력 정보" + }, + "GetAnalyticsPaymentStatusChartBody": { + "title": "고객사의 결제상태 이력 집계 조회를 위한 입력 정보", + "description": "고객사의 결제상태 이력 집계 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + } + }, + "x-portone-title": "고객사의 결제상태 이력 집계 조회를 위한 입력 정보" + }, + "GetAnalyticsPgCompanyChartBody": { + "title": "고객사의 결제대행사 현황 조회를 위한 입력 정보", + "description": "고객사의 결제대행사 현황 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제대행사 현황의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제대행사 현황의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + } + }, + "x-portone-title": "고객사의 결제대행사 현황 조회를 위한 입력 정보" + }, + "GetAnalyticsPgCompanyTrendChartBody": { + "title": "고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보", + "description": "고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보", + "type": "object", + "required": [ + "from", + "until", + "currency", + "excludeCancelled", + "timeGranularity", + "pgCompanies" + ], + "properties": { + "from": { + "type": "string", + "format": "date-time", + "title": "조회할 결제대행사별 거래 추이의 시작 시간" + }, + "until": { + "type": "string", + "format": "date-time", + "title": "조회할 결제대행사별 거래 추이의 끝 시간" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "조회할 결제 통화", + "description": "입력된 통화로 발생한 결제내역만 응답에 포함됩니다." + }, + "excludeCancelled": { + "type": "boolean", + "title": "결제취소건 제외 여부", + "description": "true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다." + }, + "timeGranularity": { + "$ref": "#/components/schemas/AnalyticsTimeGranularity", + "title": "결제 결제대행사별 거래 추이 조회 단위", + "description": "시간별, 월별 단위만 지원됩니다." + }, + "pgCompanies": { + "title": "조회할 결제대행사", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgCompany" + } + } + }, + "x-portone-title": "고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보" + }, + "GetAverageAmountChartError": { + "title": "GetAverageAmountChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bAccountHolderError": { + "title": "GetB2bAccountHolderError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bBankAccountNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bFinancialSystemCommunicationError" + }, + { + "$ref": "#/components/schemas/B2bFinancialSystemFailureError" + }, + { + "$ref": "#/components/schemas/B2bFinancialSystemUnderMaintenanceError" + }, + { + "$ref": "#/components/schemas/B2bForeignExchangeAccountError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bRegularMaintenanceTimeError" + }, + { + "$ref": "#/components/schemas/B2bSuspendedAccountError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_BANK_ACCOUNT_NOT_FOUND": "#/components/schemas/B2bBankAccountNotFoundError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_FINANCIAL_SYSTEM_COMMUNICATION": "#/components/schemas/B2bFinancialSystemCommunicationError", + "B2B_FINANCIAL_SYSTEM_FAILURE": "#/components/schemas/B2bFinancialSystemFailureError", + "B2B_FINANCIAL_SYSTEM_UNDER_MAINTENANCE": "#/components/schemas/B2bFinancialSystemUnderMaintenanceError", + "B2B_FOREIGN_EXCHANGE_ACCOUNT": "#/components/schemas/B2bForeignExchangeAccountError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_REGULAR_MAINTENANCE_TIME": "#/components/schemas/B2bRegularMaintenanceTimeError", + "B2B_SUSPENDED_ACCOUNT": "#/components/schemas/B2bSuspendedAccountError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bBankAccountHolderResponse": { + "title": "예금주 조회 응답 정보", + "description": "예금주 조회 응답 정보", + "type": "object", + "required": [ + "accountHolder" + ], + "properties": { + "accountHolder": { + "type": "string", + "title": "예금주" + } + }, + "x-portone-title": "예금주 조회 응답 정보" + }, + "GetB2bCertificateError": { + "title": "GetB2bCertificateError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bCertificateUnregisteredError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_CERTIFICATE_UNREGISTERED": "#/components/schemas/B2bCertificateUnregisteredError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bCertificateRegistrationUrlError": { + "title": "GetB2bCertificateRegistrationUrlError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bCertificateRegistrationUrlResponse": { + "title": "인증서 등록 URL 조회 응답 정보", + "description": "인증서 등록 URL 조회 응답 정보", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "title": "인증서 등록 URL" + } + }, + "x-portone-title": "인증서 등록 URL 조회 응답 정보" + }, + "GetB2bCompanyStateError": { + "title": "GetB2bCompanyStateError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bHometaxUnderMaintenanceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_COMPANY_NOT_FOUND": "#/components/schemas/B2bCompanyNotFoundError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_HOMETAX_UNDER_MAINTENANCE": "#/components/schemas/B2bHometaxUnderMaintenanceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bContactIdExistenceResponse": { + "title": "담당자 ID 존재 여부 응답 정보", + "description": "담당자 ID 존재 여부 응답 정보", + "type": "object", + "required": [ + "exists" + ], + "properties": { + "exists": { + "type": "boolean", + "title": "존재 여부" + } + }, + "x-portone-title": "담당자 ID 존재 여부 응답 정보" + }, + "GetB2bMemberCompanyContactError": { + "title": "GetB2bMemberCompanyContactError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bContactNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_CONTACT_NOT_FOUND": "#/components/schemas/B2bContactNotFoundError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bMemberCompanyError": { + "title": "GetB2bMemberCompanyError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoiceAttachmentsError": { + "title": "GetB2bTaxInvoiceAttachmentsError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoiceAttachmentsResponse": { + "title": "세금계산서 첨부파일 목록 조회 성공 응답", + "description": "세금계산서 첨부파일 목록 조회 성공 응답", + "type": "object", + "required": [ + "attachments" + ], + "properties": { + "attachments": { + "title": "첨부파일 목록", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceAttachment" + } + } + }, + "x-portone-title": "세금계산서 첨부파일 목록 조회 성공 응답" + }, + "GetB2bTaxInvoiceError": { + "title": "GetB2bTaxInvoiceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoicePdfDownloadUrlError": { + "title": "GetB2bTaxInvoicePdfDownloadUrlError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoicePdfDownloadUrlResponse": { + "title": "세금계산서 PDF 다운로드 URL 성공 응답", + "description": "세금계산서 PDF 다운로드 URL 성공 응답", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "title": "세금계산서 PDF 다운로드 URL" + } + }, + "x-portone-title": "세금계산서 PDF 다운로드 URL 성공 응답" + }, + "GetB2bTaxInvoicePopupUrlError": { + "title": "GetB2bTaxInvoicePopupUrlError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoicePopupUrlResponse": { + "title": "세금계산서 팝업 URL 성공 응답", + "description": "세금계산서 팝업 URL 성공 응답", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "title": "세금계산서 팝업 URL" + } + }, + "x-portone-title": "세금계산서 팝업 URL 성공 응답" + }, + "GetB2bTaxInvoicePrintUrlError": { + "title": "GetB2bTaxInvoicePrintUrlError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoicePrintUrlResponse": { + "title": "세금계산서 프린트 URL 성공 응답", + "description": "세금계산서 프린트 URL 성공 응답", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "title": "세금계산서 프린트 URL" + } + }, + "x-portone-title": "세금계산서 프린트 URL 성공 응답" + }, + "GetB2bTaxInvoicesError": { + "title": "GetB2bTaxInvoicesError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetB2bTaxInvoicesResponse": { + "title": "세금계산서 다건 조회 성공 응답", + "description": "세금계산서 다건 조회 성공 응답", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 세금계산서 목록", + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bTaxInvoiceSummary" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "세금계산서 다건 조회 성공 응답" + }, + "GetBillingKeyInfoError": { + "title": "GetBillingKeyInfoError", + "oneOf": [ + { + "$ref": "#/components/schemas/BillingKeyNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BILLING_KEY_NOT_FOUND": "#/components/schemas/BillingKeyNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetBillingKeyInfosBody": { + "title": "GetBillingKeyInfosBody", + "description": "빌링키 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보", + "description": "미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다." + }, + "sort": { + "$ref": "#/components/schemas/BillingKeySortInput", + "title": "정렬 조건", + "description": "미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다." + }, + "filter": { + "$ref": "#/components/schemas/BillingKeyFilterInput", + "title": "조회할 빌링키 조건 필터", + "description": "V1 빌링키 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다." + } + }, + "x-portone-description": "빌링키 다건 조회를 위한 입력 정보" + }, + "GetBillingKeyInfosError": { + "title": "GetBillingKeyInfosError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetBillingKeyInfosResponse": { + "title": "빌링키 다건 조회 성공 응답 정보", + "description": "빌링키 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 빌링키 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingKeyInfo" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "빌링키 다건 조회 성공 응답 정보" + }, + "GetCashReceiptError": { + "title": "GetCashReceiptError", + "oneOf": [ + { + "$ref": "#/components/schemas/CashReceiptNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CASH_RECEIPT_NOT_FOUND": "#/components/schemas/CashReceiptNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetIdentityVerificationError": { + "title": "GetIdentityVerificationError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "IDENTITY_VERIFICATION_NOT_FOUND": "#/components/schemas/IdentityVerificationNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetKakaopayPaymentOrderError": { + "title": "GetKakaopayPaymentOrderError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetKakaopayPaymentOrderResponse": { + "title": "카카오페이 주문 조회 응답", + "description": "카카오페이 주문 조회 응답", + "type": "object", + "required": [ + "statusCode", + "body" + ], + "properties": { + "statusCode": { + "type": "integer", + "format": "int32", + "title": "HTTP 상태 코드" + }, + "body": { + "type": "string", + "title": "HTTP 응답 본문 (JSON)" + } + }, + "x-portone-title": "카카오페이 주문 조회 응답" + }, + "GetMerchantError": { + "title": "GetMerchantError", + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentError": { + "title": "GetPaymentError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentMethodChartError": { + "title": "GetPaymentMethodChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentMethodTrendChartError": { + "title": "GetPaymentMethodTrendChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationSettlementSummariesBody": { + "title": "GetPaymentReconciliationSettlementSummariesBody", + "type": "object", + "required": [ + "dateRange", + "size" + ], + "properties": { + "dateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산일 범위" + }, + "size": { + "type": "integer", + "format": "int32", + "title": "조회할 건 수" + }, + "after": { + "type": "string", + "title": "이전 페이지의 마지막 커서" + } + } + }, + "GetPaymentReconciliationSettlementSummariesError": { + "title": "GetPaymentReconciliationSettlementSummariesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationSettlementSummariesResponse": { + "title": "GetPaymentReconciliationSettlementSummariesResponse", + "type": "object", + "required": [ + "items", + "pageInfo" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryWithCursor" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/CursorPageInfo" + } + } + }, + "GetPaymentReconciliationSettlementSummaryExcelFileBody": { + "title": "GetPaymentReconciliationSettlementSummaryExcelFileBody", + "type": "object", + "required": [ + "dateRange", + "columns" + ], + "properties": { + "dateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산일 범위" + }, + "filter": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryExcelFileFilterInput" + }, + "columns": { + "title": "액셀파일 요청시 선택 필드", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryColumn" + } + } + } + }, + "GetPaymentReconciliationSettlementSummaryExcelFileError": { + "title": "GetPaymentReconciliationSettlementSummaryExcelFileError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationSettlementVatReferenceExcelFileBody": { + "title": "GetPaymentReconciliationSettlementVatReferenceExcelFileBody", + "type": "object", + "required": [ + "dateRange" + ], + "properties": { + "dateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산일 범위" + }, + "filter": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryFilterInput" + } + } + }, + "GetPaymentReconciliationSettlementVatReferenceExcelFileError": { + "title": "GetPaymentReconciliationSettlementVatReferenceExcelFileError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationTransactionSummariesBody": { + "title": "GetPaymentReconciliationTransactionSummariesBody", + "type": "object", + "required": [ + "dateRange", + "size" + ], + "properties": { + "dateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "거래일 범위" + }, + "size": { + "type": "integer", + "format": "int32", + "title": "조회할 건 수" + }, + "after": { + "type": "string", + "title": "이전 페이지의 마지막 커서" + } + } + }, + "GetPaymentReconciliationTransactionSummariesError": { + "title": "GetPaymentReconciliationTransactionSummariesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationTransactionSummariesResponse": { + "title": "GetPaymentReconciliationTransactionSummariesResponse", + "type": "object", + "required": [ + "items", + "pageInfo" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummaryWithCursor" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/CursorPageInfo" + } + } + }, + "GetPaymentReconciliationTransactionSummaryExcelFileBody": { + "title": "GetPaymentReconciliationTransactionSummaryExcelFileBody", + "type": "object", + "required": [ + "dateRange", + "columns" + ], + "properties": { + "dateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "거래일 범위" + }, + "filter": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummaryExcelFilterInput" + }, + "columns": { + "title": "액셀파일 요청시 선택 필드", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummaryColumn" + } + } + } + }, + "GetPaymentReconciliationTransactionSummaryExcelFileError": { + "title": "GetPaymentReconciliationTransactionSummaryExcelFileError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationsBody": { + "title": "GetPaymentReconciliationsBody", + "type": "object", + "required": [ + "dateCondition", + "size" + ], + "properties": { + "dateCondition": { + "$ref": "#/components/schemas/ReconciliationDateConditionInput" + }, + "size": { + "type": "integer", + "format": "int32", + "title": "조회할 건 수" + }, + "after": { + "type": "string", + "title": "이전 페이지의 마지막 커서" + } + } + }, + "GetPaymentReconciliationsError": { + "title": "GetPaymentReconciliationsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationsExcelFileBody": { + "title": "GetPaymentReconciliationsExcelFileBody", + "type": "object", + "required": [ + "columns", + "dateCondition" + ], + "properties": { + "columns": { + "title": "엑셀파일 요청시 선택 필드", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationColumn" + } + }, + "dateCondition": { + "$ref": "#/components/schemas/ReconciliationDateConditionInput" + }, + "searchCondition": { + "$ref": "#/components/schemas/PaymentReconciliationSearchConditionInput" + }, + "filter": { + "$ref": "#/components/schemas/PaymentReconciliationExcelFileFilterInput" + }, + "order": { + "$ref": "#/components/schemas/PaymentReconciliationOrderInput" + } + } + }, + "GetPaymentReconciliationsExcelFileError": { + "title": "GetPaymentReconciliationsExcelFileError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentReconciliationsResponse": { + "title": "GetPaymentReconciliationsResponse", + "type": "object", + "required": [ + "items", + "pageInfo" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationWithCursor" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/CursorPageInfo" + } + } + }, + "GetPaymentScheduleError": { + "title": "GetPaymentScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_SCHEDULE_NOT_FOUND": "#/components/schemas/PaymentScheduleNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentSchedulesBody": { + "title": "결제 예약 다건 조회를 위한 입력 정보", + "description": "결제 예약 다건 조회를 위한 입력 정보\n\n조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다.", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보", + "description": "미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다." + }, + "sort": { + "$ref": "#/components/schemas/PaymentScheduleSortInput", + "title": "정렬 조건", + "description": "미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다." + }, + "filter": { + "$ref": "#/components/schemas/PaymentScheduleFilterInput", + "title": "조회할 결제 예약 건의 조건 필터" + } + }, + "x-portone-title": "결제 예약 다건 조회를 위한 입력 정보", + "x-portone-description": "조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다." + }, + "GetPaymentSchedulesError": { + "title": "GetPaymentSchedulesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentSchedulesResponse": { + "title": "결제 예약 다건 조회 성공 응답 정보", + "description": "결제 예약 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 결제 예약 건 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentSchedule" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "결제 예약 다건 조회 성공 응답 정보" + }, + "GetPaymentStatusByPaymentClientChartError": { + "title": "GetPaymentStatusByPaymentClientChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentStatusByPaymentMethodChartError": { + "title": "GetPaymentStatusByPaymentMethodChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentStatusByPgCompanyChartError": { + "title": "GetPaymentStatusByPgCompanyChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentStatusChartError": { + "title": "GetPaymentStatusChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentsBody": { + "title": "GetPaymentsBody", + "description": "결제 건 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보", + "description": "미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다." + }, + "filter": { + "$ref": "#/components/schemas/PaymentFilterInput", + "title": "조회할 결제 건 조건 필터", + "description": "V1 결제 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다." + } + }, + "x-portone-description": "결제 건 다건 조회를 위한 입력 정보" + }, + "GetPaymentsError": { + "title": "GetPaymentsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPaymentsResponse": { + "title": "결제 건 다건 조회 성공 응답 정보", + "description": "결제 건 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 결제 건 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/Payment" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "결제 건 다건 조회 성공 응답 정보" + }, + "GetPgCompanyChartError": { + "title": "GetPgCompanyChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPgCompanyTrendChartError": { + "title": "GetPgCompanyTrendChartError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformAccountHolderError": { + "title": "GetPlatformAccountHolderError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformExternalApiFailedError" + }, + { + "$ref": "#/components/schemas/PlatformExternalApiTemporarilyFailedError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformNotSupportedBankError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_EXTERNAL_API_FAILED": "#/components/schemas/PlatformExternalApiFailedError", + "PLATFORM_EXTERNAL_API_TEMPORARILY_FAILED": "#/components/schemas/PlatformExternalApiTemporarilyFailedError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_NOT_SUPPORTED_BANK": "#/components/schemas/PlatformNotSupportedBankError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformAccountTransfersError": { + "title": "GetPlatformAccountTransfersError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformAccountTransfersResponse": { + "title": "이체내역 다건 조회 성공 응답 정보", + "description": "이체내역 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 이체내역 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformAccountTransfer" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "이체내역 다건 조회 성공 응답 정보" + }, + "GetPlatformAdditionalFeePoliciesBody": { + "title": "추가 수수료 정책 다건 조회를 위한 입력 정보", + "description": "추가 수수료 정책 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyFilterInput", + "title": "조회할 추가 수수료 정책 조건 필터" + } + }, + "x-portone-title": "추가 수수료 정책 다건 조회를 위한 입력 정보" + }, + "GetPlatformAdditionalFeePoliciesError": { + "title": "GetPlatformAdditionalFeePoliciesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformAdditionalFeePoliciesResponse": { + "title": "추가 수수료 정책 다건 조회 성공 응답 정보", + "description": "추가 수수료 정책 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 추가 수수료 정책 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "추가 수수료 정책 다건 조회 성공 응답 정보" + }, + "GetPlatformAdditionalFeePolicyError": { + "title": "GetPlatformAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformAdditionalFeePolicyScheduleError": { + "title": "GetPlatformAdditionalFeePolicyScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformBulkPayoutError": { + "title": "GetPlatformBulkPayoutError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformBulkPayoutNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_BULK_PAYOUT_NOT_FOUND": "#/components/schemas/PlatformBulkPayoutNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformBulkPayoutPartnerSettlementsBody": { + "title": "GetPlatformBulkPayoutPartnerSettlementsBody", + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformBulkPayoutPartnerSettlementsFilterInput" + }, + "page": { + "$ref": "#/components/schemas/PageInput" + }, + "isForTest": { + "type": "boolean" + } + } + }, + "GetPlatformBulkPayoutPartnerSettlementsError": { + "title": "GetPlatformBulkPayoutPartnerSettlementsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformBulkPayoutNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_BULK_PAYOUT_NOT_FOUND": "#/components/schemas/PlatformBulkPayoutNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformBulkPayoutPartnerSettlementsResponse": { + "title": "GetPlatformBulkPayoutPartnerSettlementsResponse", + "type": "object", + "required": [ + "items", + "page", + "counts" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformBulkPayoutPartnerSettlement" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo" + }, + "counts": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatusStats" + } + } + }, + "GetPlatformBulkPayoutsBody": { + "title": "GetPlatformBulkPayoutsBody", + "type": "object", + "properties": { + "isForTest": { + "type": "boolean" + }, + "page": { + "$ref": "#/components/schemas/PageInput" + }, + "filter": { + "$ref": "#/components/schemas/PlatformBulkPayoutFilterInput" + } + } + }, + "GetPlatformBulkPayoutsError": { + "title": "GetPlatformBulkPayoutsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformBulkPayoutsResponse": { + "title": "GetPlatformBulkPayoutsResponse", + "type": "object", + "required": [ + "items", + "page", + "counts" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformBulkPayout" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo" + }, + "counts": { + "$ref": "#/components/schemas/PlatformBulkPayoutStatusStats" + } + } + }, + "GetPlatformContractError": { + "title": "GetPlatformContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformContractScheduleError": { + "title": "GetPlatformContractScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformContractsBody": { + "title": "계약 다건 조회를 위한 입력 정보", + "description": "계약 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformContractFilterInput", + "title": "조회할 계약 조건 필터" + } + }, + "x-portone-title": "계약 다건 조회를 위한 입력 정보" + }, + "GetPlatformContractsError": { + "title": "GetPlatformContractsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformContractsResponse": { + "title": "계약 다건 조회 성공 응답", + "description": "계약 다건 조회 성공 응답", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 계약 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformContract" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "계약 다건 조회 성공 응답" + }, + "GetPlatformDiscountSharePoliciesBody": { + "title": "할인 분담 정책 다건 조회를 위한 입력 정보", + "description": "할인 분담 정책 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyFilterInput", + "title": "조회할 할인 분담 정책 조건 필터" + } + }, + "x-portone-title": "할인 분담 정책 다건 조회를 위한 입력 정보" + }, + "GetPlatformDiscountSharePoliciesError": { + "title": "GetPlatformDiscountSharePoliciesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformDiscountSharePoliciesResponse": { + "title": "할인 분담 정책 다건 조회 성공 응답 정보", + "description": "할인 분담 정책 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 할인 분담 정책 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "할인 분담 정책 다건 조회 성공 응답 정보" + }, + "GetPlatformDiscountSharePolicyError": { + "title": "GetPlatformDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformDiscountSharePolicyFilterOptionsError": { + "title": "GetPlatformDiscountSharePolicyFilterOptionsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformDiscountSharePolicyScheduleError": { + "title": "GetPlatformDiscountSharePolicyScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformError": { + "title": "GetPlatformError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformHolidaysError": { + "title": "GetPlatformHolidaysError", + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformHolidaysResponse": { + "title": "공휴일 조회", + "description": "공휴일 조회", + "type": "object", + "required": [ + "holidays" + ], + "properties": { + "holidays": { + "title": "공휴일 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformHoliday" + } + } + }, + "x-portone-title": "공휴일 조회" + }, + "GetPlatformPartnerDashboardBody": { + "title": "파트너 현황 조회를 위한 입력 정보", + "description": "파트너 현황 조회를 위한 입력 정보", + "type": "object", + "properties": { + "isForTest": { + "type": "boolean", + "title": "테스트 조회 여부", + "description": "true 이면 isForTest 가 true 인 파트너들을 조회하고, false 이면 isForTest 가 false 인 파트너들을 조회합니다. 기본값은 false 입니다." + } + }, + "x-portone-title": "파트너 현황 조회를 위한 입력 정보" + }, + "GetPlatformPartnerDashboardError": { + "title": "GetPlatformPartnerDashboardError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerError": { + "title": "GetPlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerFilterOptionsError": { + "title": "GetPlatformPartnerFilterOptionsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerScheduleError": { + "title": "GetPlatformPartnerScheduleError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerSettlementCurrenciesBody": { + "title": "GetPlatformPartnerSettlementCurrenciesBody", + "type": "object", + "required": [ + "isForTest" + ], + "properties": { + "isForTest": { + "type": "boolean" + } + } + }, + "GetPlatformPartnerSettlementCurrenciesError": { + "title": "GetPlatformPartnerSettlementCurrenciesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerSettlementCurrenciesResponse": { + "title": "정산내역 통화 조회 결과", + "description": "정산내역 통화 조회 결과", + "type": "object", + "required": [ + "settlementCurrencies" + ], + "properties": { + "settlementCurrencies": { + "title": "통화 단위", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + } + }, + "x-portone-title": "정산내역 통화 조회 결과" + }, + "GetPlatformPartnerSettlementDashboardBody": { + "title": "GetPlatformPartnerSettlementDashboardBody", + "type": "object", + "required": [ + "filter", + "isForTest" + ], + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformPartnerSettlementFilterInput" + }, + "isForTest": { + "type": "boolean" + } + } + }, + "GetPlatformPartnerSettlementDashboardError": { + "title": "GetPlatformPartnerSettlementDashboardError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerSettlementDatesBody": { + "title": "GetPlatformPartnerSettlementDatesBody", + "type": "object", + "required": [ + "isForTest" + ], + "properties": { + "isForTest": { + "type": "boolean" + } + } + }, + "GetPlatformPartnerSettlementDatesError": { + "title": "GetPlatformPartnerSettlementDatesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerSettlementDatesResponse": { + "title": "정산일 리스트 조회 결과", + "description": "정산일 리스트 조회 결과", + "type": "object", + "required": [ + "settlementDates" + ], + "properties": { + "settlementDates": { + "type": "array", + "items": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + } + } + }, + "x-portone-title": "정산일 리스트 조회 결과" + }, + "GetPlatformPartnerSettlementsBody": { + "title": "정산내역 다건 조회를 위한 입력 정보", + "description": "정산내역 다건 조회를 위한 입력 정보", + "type": "object", + "required": [ + "filter", + "isForTest" + ], + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformPartnerSettlementFilterInput", + "title": "조회할 정산내역 조건 필터" + }, + "isForTest": { + "type": "boolean" + } + }, + "x-portone-title": "정산내역 다건 조회를 위한 입력 정보" + }, + "GetPlatformPartnerSettlementsError": { + "title": "GetPlatformPartnerSettlementsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnerSettlementsResponse": { + "title": "정산내역 다건 조회 성공 응답 정보", + "description": "정산내역 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page", + "counts" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlement" + }, + "title": "조회된 정산내역 리스트" + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + }, + "counts": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatusStats", + "title": "정산내역 상태 별 갯수" + } + }, + "x-portone-title": "정산내역 다건 조회 성공 응답 정보" + }, + "GetPlatformPartnersBody": { + "title": "파트너 다건 조회를 위한 입력 정보", + "description": "파트너 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformPartnerFilterInput", + "title": "조회할 파트너 조건 필터" + } + }, + "x-portone-title": "파트너 다건 조회를 위한 입력 정보" + }, + "GetPlatformPartnersError": { + "title": "GetPlatformPartnersError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPartnersResponse": { + "title": "파트너 다건 조회 성공 응답 정보", + "description": "파트너 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items", + "page" + ], + "properties": { + "items": { + "title": "조회된 파트너 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartner" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo", + "title": "조회된 페이지 정보" + } + }, + "x-portone-title": "파트너 다건 조회 성공 응답 정보" + }, + "GetPlatformPayableSettlementDatesError": { + "title": "GetPlatformPayableSettlementDatesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPayableSettlementDatesResponse": { + "title": "지급 가능한 정산일 리스트 조회 성공 응답 정보", + "description": "지급 가능한 정산일 리스트 조회 성공 응답 정보", + "type": "object", + "required": [ + "settlementDates" + ], + "properties": { + "settlementDates": { + "type": "array", + "items": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "title": "IN_PROCESS, SETTLED 상태의 Transfer가 등록되어 있는 정산일 리스트" + } + }, + "x-portone-title": "지급 가능한 정산일 리스트 조회 성공 응답 정보" + }, + "GetPlatformPayoutError": { + "title": "GetPlatformPayoutError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPayoutNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PAYOUT_NOT_FOUND": "#/components/schemas/PlatformPayoutNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPayoutsBody": { + "title": "GetPlatformPayoutsBody", + "type": "object", + "properties": { + "isForTest": { + "type": "boolean" + }, + "page": { + "$ref": "#/components/schemas/PageInput" + }, + "filter": { + "$ref": "#/components/schemas/PlatformPayoutFilterInput" + } + } + }, + "GetPlatformPayoutsError": { + "title": "GetPlatformPayoutsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformPayoutsResponse": { + "title": "GetPlatformPayoutsResponse", + "type": "object", + "required": [ + "items", + "page", + "counts" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayout" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo" + }, + "counts": { + "$ref": "#/components/schemas/PlatformPayoutStatusStats" + } + } + }, + "GetPlatformTransferDashboardBody": { + "title": "GetPlatformTransferDashboardBody", + "type": "object", + "required": [ + "settlementDate" + ], + "properties": { + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "isForTest": { + "type": "boolean" + } + } + }, + "GetPlatformTransferDashboardError": { + "title": "GetPlatformTransferDashboardError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformTransferError": { + "title": "GetPlatformTransferError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformTransferNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_TRANSFER_NOT_FOUND": "#/components/schemas/PlatformTransferNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformTransferFilterOptionsError": { + "title": "GetPlatformTransferFilterOptionsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformTransferSummariesBody": { + "title": "정산건 요약 다건 조회를 위한 입력 정보", + "description": "정산건 요약 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "page": { + "$ref": "#/components/schemas/PageInput", + "title": "요청할 페이지 정보" + }, + "filter": { + "$ref": "#/components/schemas/PlatformTransferFilterInput", + "title": "조회할 정산건 조건 필터" + } + }, + "x-portone-title": "정산건 요약 다건 조회를 위한 입력 정보" + }, + "GetPlatformTransferSummariesError": { + "title": "GetPlatformTransferSummariesError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetPlatformTransferSummariesResponse": { + "title": "GetPlatformTransferSummariesResponse", + "type": "object", + "required": [ + "transferSummaries", + "page" + ], + "properties": { + "transferSummaries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformTransferSummary" + } + }, + "page": { + "$ref": "#/components/schemas/PageInfo" + } + } + }, + "GetPromotionError": { + "title": "GetPromotionError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PromotionNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PROMOTION_NOT_FOUND": "#/components/schemas/PromotionNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetV2SupportedChannelsError": { + "title": "GetV2SupportedChannelsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "GetV2SupportedChannelsResponse": { + "title": "채널 다건 조회 성공 응답 정보", + "description": "채널 다건 조회 성공 응답 정보", + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "title": "조회된 채널 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } + } + }, + "x-portone-title": "채널 다건 조회 성공 응답 정보" + }, + "GiftCertificateType": { + "title": "상품권 타입", + "description": "상품권 타입", + "type": "string", + "enum": [ + "BOOKNLIFE", + "SMART_MUNSANG", + "CULTURELAND", + "HAPPYMONEY", + "CULTURE_GIFT" + ], + "x-portone-title": "상품권 타입", + "x-portone-enum": { + "SMART_MUNSANG": { + "title": "스마트 문화상품권" + }, + "CULTURE_GIFT": { + "title": "문화상품권" + }, + "BOOKNLIFE": { + "title": "도서문화 상품권" + }, + "CULTURELAND": { + "title": "컬쳐랜드 상품권" + }, + "HAPPYMONEY": { + "title": "해피머니" + } + } + }, + "IdentityVerification": { + "title": "본인인증 내역", + "description": "본인인증 내역", + "oneOf": [ + { + "$ref": "#/components/schemas/FailedIdentityVerification" + }, + { + "$ref": "#/components/schemas/ReadyIdentityVerification" + }, + { + "$ref": "#/components/schemas/VerifiedIdentityVerification" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "FAILED": "#/components/schemas/FailedIdentityVerification", + "READY": "#/components/schemas/ReadyIdentityVerification", + "VERIFIED": "#/components/schemas/VerifiedIdentityVerification" + } + }, + "x-portone-title": "본인인증 내역", + "x-portone-discriminator": { + "READY": { + "title": "준비 상태의 본인인증 내역" + }, + "VERIFIED": { + "title": "완료된 본인인증 내역" + }, + "FAILED": { + "title": "실패한 본인인증 내역" + } + } + }, + "IdentityVerificationAlreadySentError": { + "title": "본인인증 건이 이미 API로 요청된 상태인 경우", + "description": "본인인증 건이 이미 API로 요청된 상태인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "본인인증 건이 이미 API로 요청된 상태인 경우", + "x-portone-status-code": 409 + }, + "IdentityVerificationAlreadyVerifiedError": { + "title": "본인인증 건이 이미 인증 완료된 상태인 경우", + "description": "본인인증 건이 이미 인증 완료된 상태인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "본인인증 건이 이미 인증 완료된 상태인 경우", + "x-portone-status-code": 409 + }, + "IdentityVerificationFailure": { + "title": "본인인증 실패 정보", + "description": "본인인증 실패 정보", + "type": "object", + "properties": { + "reason": { + "type": "string", + "title": "실패 사유" + }, + "pgCode": { + "type": "string", + "title": "PG사 실패 코드" + }, + "pgMessage": { + "type": "string", + "title": "PG사 실패 메시지" + } + }, + "x-portone-title": "본인인증 실패 정보" + }, + "IdentityVerificationMethod": { + "title": "본인인증 방식", + "description": "본인인증 방식", + "type": "string", + "enum": [ + "SMS", + "APP" + ], + "x-portone-title": "본인인증 방식", + "x-portone-enum": { + "SMS": {}, + "APP": {} + } + }, + "IdentityVerificationNotFoundError": { + "title": "요청된 본인인증 건이 존재하지 않는 경우", + "description": "요청된 본인인증 건이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "요청된 본인인증 건이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "IdentityVerificationNotSentError": { + "title": "본인인증 건이 API로 요청된 상태가 아닌 경우", + "description": "본인인증 건이 API로 요청된 상태가 아닌 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "본인인증 건이 API로 요청된 상태가 아닌 경우", + "x-portone-status-code": 404 + }, + "IdentityVerificationOperator": { + "title": "본인인증 통신사", + "description": "본인인증 통신사", + "type": "string", + "enum": [ + "SKT", + "KT", + "LGU", + "SKT_MVNO", + "KT_MVNO", + "LGU_MVNO" + ], + "x-portone-title": "본인인증 통신사", + "x-portone-enum": { + "SKT": { + "title": "SKT" + }, + "KT": { + "title": "KT" + }, + "KT_MVNO": { + "title": "KT 알뜰폰" + }, + "LGU_MVNO": { + "title": "LGU 알뜰폰" + }, + "SKT_MVNO": { + "title": "SKT 알뜰폰" + }, + "LGU": { + "title": "LGU" + } + } + }, + "IdentityVerificationRequestedCustomer": { + "title": "요청 시 고객 정보", + "description": "요청 시 고객 정보", + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "식별 아이디" + }, + "name": { + "type": "string", + "title": "이름" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호", + "description": "특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다." + } + }, + "x-portone-title": "요청 시 고객 정보" + }, + "IdentityVerificationVerifiedCustomer": { + "title": "인증된 고객 정보", + "description": "인증된 고객 정보", + "type": "object", + "required": [ + "name", + "birthDate" + ], + "properties": { + "id": { + "type": "string", + "title": "식별 아이디" + }, + "name": { + "type": "string", + "title": "이름" + }, + "operator": { + "$ref": "#/components/schemas/IdentityVerificationOperator", + "title": "통신사", + "description": "다날: 별도 계약이 필요합니다.\nKG이니시스: 제공하지 않습니다." + }, + "phoneNumber": { + "type": "string", + "title": "전화번호", + "description": "특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다.\n다날: 별도 계약이 필요합니다.\nKG이니시스: 항상 제공합니다." + }, + "birthDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일 (yyyy-MM-dd)" + }, + "gender": { + "$ref": "#/components/schemas/Gender", + "title": "성별", + "description": "다날: 항상 제공합니다.\nKG이니시스: 항상 제공합니다." + }, + "isForeigner": { + "type": "boolean", + "title": "외국인 여부", + "description": "다날: 별도 계약이 필요합니다.\nKG이니시스: 항상 제공합니다." + }, + "ci": { + "type": "string", + "title": "CI (개인 고유 식별키)", + "description": "개인을 식별하기 위한 고유 정보입니다.\n다날: 항상 제공합니다.\nKG이니시스: 카카오를 제외한 인증사에서 제공합니다." + }, + "di": { + "type": "string", + "title": "DI (사이트별 개인 고유 식별키)", + "description": "중복 가입을 방지하기 위해 개인을 식별하는 사이트별 고유 정보입니다.\n다날: 항상 제공합니다.\nKG이니시스: 제공하지 않습니다." + } + }, + "x-portone-title": "인증된 고객 정보" + }, + "InstantBillingKeyPaymentMethodInput": { + "title": "빌링키 발급 시 결제 수단 입력 양식", + "description": "빌링키 발급 시 결제 수단 입력 양식", + "type": "object", + "properties": { + "card": { + "$ref": "#/components/schemas/InstantBillingKeyPaymentMethodInputCard" + } + }, + "x-portone-title": "빌링키 발급 시 결제 수단 입력 양식" + }, + "InstantBillingKeyPaymentMethodInputCard": { + "title": "카드 수단 정보 입력 양식", + "description": "카드 수단 정보 입력 양식", + "type": "object", + "required": [ + "credential" + ], + "properties": { + "credential": { + "$ref": "#/components/schemas/CardCredential" + } + }, + "x-portone-title": "카드 수단 정보 입력 양식" + }, + "InstantPaymentInput": { + "title": "수기 결제 요청 정보", + "description": "수기 결제 요청 정보", + "type": "object", + "required": [ + "method", + "orderName", + "amount", + "currency" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "channelKey": { + "type": "string", + "title": "채널 키", + "description": "채널 키 또는 채널 그룹 ID 필수" + }, + "channelGroupId": { + "type": "string", + "title": "채널 그룹 ID", + "description": "채널 키 또는 채널 그룹 ID 필수" + }, + "method": { + "$ref": "#/components/schemas/InstantPaymentMethodInput", + "title": "결제수단 정보" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부", + "description": "기본값은 false 입니다." + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부", + "description": "기본값은 false 입니다." + }, + "customer": { + "$ref": "#/components/schemas/CustomerInput", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmountInput", + "title": "결제 금액 세부 입력 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "결제 국가" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소", + "description": "결제 승인/실패 시 요청을 받을 웹훅 주소입니다.\n상점에 설정되어 있는 값보다 우선적으로 적용됩니다.\n입력된 값이 없을 경우에는 빈 배열로 해석됩니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + }, + "description": "입력된 값이 없을 경우에는 빈 배열로 해석됩니다." + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 개수" + }, + "productType": { + "$ref": "#/components/schemas/PaymentProductType", + "title": "상품 유형" + }, + "shippingAddress": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "배송지 주소" + }, + "promotionId": { + "type": "string", + "title": "해당 결제에 적용할 프로모션 아이디" + } + }, + "x-portone-title": "수기 결제 요청 정보" + }, + "InstantPaymentMethodInput": { + "title": "수기 결제 수단 입력 정보", + "description": "수기 결제 수단 입력 정보\n\n하나의 필드만 입력합니다.", + "type": "object", + "properties": { + "card": { + "$ref": "#/components/schemas/InstantPaymentMethodInputCard", + "title": "카드" + }, + "virtualAccount": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccount", + "title": "가상계좌" + } + }, + "x-portone-title": "수기 결제 수단 입력 정보", + "x-portone-description": "하나의 필드만 입력합니다." + }, + "InstantPaymentMethodInputCard": { + "title": "카드 수단 정보 입력 정보", + "description": "카드 수단 정보 입력 정보", + "type": "object", + "required": [ + "credential" + ], + "properties": { + "credential": { + "$ref": "#/components/schemas/CardCredential", + "title": "카드 인증 관련 정보" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "카드 할부 개월 수" + }, + "useFreeInstallmentPlan": { + "type": "boolean", + "title": "무이자 할부 적용 여부" + }, + "useFreeInterestFromMerchant": { + "type": "boolean", + "title": "무이자 할부 이자를 고객사가 부담할지 여부" + }, + "useCardPoint": { + "type": "boolean", + "title": "카드 포인트 사용 여부" + } + }, + "x-portone-title": "카드 수단 정보 입력 정보" + }, + "InstantPaymentMethodInputVirtualAccount": { + "title": "가상계좌 수단 정보 입력 정보", + "description": "가상계좌 수단 정보 입력 정보", + "type": "object", + "required": [ + "bank", + "expiry", + "option", + "cashReceipt" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "expiry": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccountExpiry", + "title": "입금 만료 기한" + }, + "option": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccountOption", + "title": "가상계좌 유형" + }, + "cashReceipt": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo", + "title": "현금영수증 정보" + }, + "remitteeName": { + "type": "string", + "title": "예금주명" + } + }, + "x-portone-title": "가상계좌 수단 정보 입력 정보" + }, + "InstantPaymentMethodInputVirtualAccountCashReceiptInfo": { + "title": "가상계좌 결제 시 현금영수증 정보", + "description": "가상계좌 결제 시 현금영수증 정보", + "type": "object", + "required": [ + "type", + "customerIdentityNumber" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/CashReceiptInputType", + "title": "현금영수증 유형" + }, + "customerIdentityNumber": { + "type": "string", + "title": "사용자 식별 번호" + } + }, + "x-portone-title": "가상계좌 결제 시 현금영수증 정보" + }, + "InstantPaymentMethodInputVirtualAccountExpiry": { + "title": "입금 만료 기한", + "description": "입금 만료 기한\n\nvalidHours와 dueDate 둘 중 하나의 필드만 입력합니다.", + "type": "object", + "properties": { + "validHours": { + "type": "integer", + "format": "int32", + "title": "유효 시간", + "description": "시간 단위로 입력합니다." + }, + "dueDate": { + "type": "string", + "format": "date-time", + "title": "만료 시점" + } + }, + "x-portone-title": "입금 만료 기한", + "x-portone-description": "validHours와 dueDate 둘 중 하나의 필드만 입력합니다." + }, + "InstantPaymentMethodInputVirtualAccountOption": { + "title": "가상계좌 발급 방식", + "description": "가상계좌 발급 방식", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccountOptionType", + "title": "발급 유형" + }, + "fixed": { + "$ref": "#/components/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed", + "title": "고정식 가상계좌 발급 방식", + "description": "발급 유형을 FIXED 로 선택했을 시에만 입력합니다." + } + }, + "x-portone-title": "가상계좌 발급 방식" + }, + "InstantPaymentMethodInputVirtualAccountOptionFixed": { + "title": "고정식 가상계좌 발급 유형", + "description": "고정식 가상계좌 발급 유형\n\npgAccountId, accountNumber 유형 중 한 개의 필드만 입력합니다.", + "type": "object", + "properties": { + "pgAccountId": { + "type": "string", + "title": "Account ID 고정식 가상계좌", + "description": "고객사가 가상계좌번호를 직접 관리하지 않고 PG사가 pgAccountId에 매핑되는 가상계좌번호를 내려주는 방식입니다.\n동일한 pgAccountId로 가상계좌 발급 요청시에는 항상 같은 가상계좌번호가 내려옵니다." + }, + "accountNumber": { + "type": "string", + "title": "Account Number 고정식 가상계좌", + "description": "PG사가 일정 개수만큼의 가상계좌번호를 발급하여 고객사에게 미리 전달하고 고객사가 그 중 하나를 선택하여 사용하는 방식입니다." + } + }, + "x-portone-title": "고정식 가상계좌 발급 유형", + "x-portone-description": "pgAccountId, accountNumber 유형 중 한 개의 필드만 입력합니다." + }, + "InstantPaymentMethodInputVirtualAccountOptionType": { + "title": "가상계좌 발급 유형", + "description": "가상계좌 발급 유형", + "type": "string", + "enum": [ + "NORMAL", + "FIXED" + ], + "x-portone-title": "가상계좌 발급 유형", + "x-portone-enum": { + "NORMAL": { + "title": "회전식 가상계좌", + "description": "일반적으로 사용되는 방식이며 PG사에서 직접 채번한 가상계좌번호를 사용합니다." + }, + "FIXED": { + "title": "고정식 가상계좌" + } + } + }, + "InstantPaymentSummary": { + "title": "수기 결제가 완료된 결제 건 요약 정보", + "description": "수기 결제가 완료된 결제 건 요약 정보", + "type": "object", + "required": [ + "pgTxId", + "paidAt" + ], + "properties": { + "pgTxId": { + "type": "string", + "title": "PG사 결제 아이디" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + } + }, + "x-portone-title": "수기 결제가 완료된 결제 건 요약 정보" + }, + "InvalidRequestError": { + "title": "요청된 입력 정보가 유효하지 않은 경우", + "description": "요청된 입력 정보가 유효하지 않은 경우\n\n허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "요청된 입력 정보가 유효하지 않은 경우", + "x-portone-description": "허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.", + "x-portone-status-code": 400 + }, + "IssueB2bTaxInvoiceError": { + "title": "IssueB2bTaxInvoiceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REQUESTED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "IssueB2bTaxInvoiceRequestBody": { + "title": "세금계산서 발행 정보", + "description": "세금계산서 발행 정보", + "type": "object", + "required": [ + "brn", + "documentKey" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호" + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "memo": { + "type": "string", + "title": "메모" + }, + "emailSubject": { + "type": "string", + "title": "이메일 제목" + } + }, + "x-portone-title": "세금계산서 발행 정보" + }, + "IssueBillingKeyBody": { + "title": "빌링키 발급 요청 양식", + "description": "빌링키 발급 요청 양식", + "type": "object", + "required": [ + "method" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "method": { + "$ref": "#/components/schemas/InstantBillingKeyPaymentMethodInput", + "title": "빌링키 결제 수단 정보" + }, + "channelKey": { + "type": "string", + "title": "채널 키", + "description": "채널 키 또는 채널 그룹 ID 필수" + }, + "channelGroupId": { + "type": "string", + "title": "채널 그룹 ID", + "description": "채널 키 또는 채널 그룹 ID 필수" + }, + "customer": { + "$ref": "#/components/schemas/CustomerInput", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "bypass": { + "type": "object", + "title": "PG사별 추가 파라미터 (\"PG사별 연동 가이드\" 참고)" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소", + "description": "빌링키 발급 시 요청을 받을 웹훅 주소입니다.\n상점에 설정되어 있는 값보다 우선적으로 적용됩니다.\n입력된 값이 없을 경우에는 빈 배열로 해석됩니다." + } + }, + "x-portone-title": "빌링키 발급 요청 양식" + }, + "IssueBillingKeyError": { + "title": "IssueBillingKeyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ChannelNotFoundError" + }, + { + "$ref": "#/components/schemas/ChannelSpecificError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CHANNEL_NOT_FOUND": "#/components/schemas/ChannelNotFoundError", + "CHANNEL_SPECIFIC": "#/components/schemas/ChannelSpecificError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "IssueBillingKeyResponse": { + "title": "빌링키 발급 성공 응답", + "description": "빌링키 발급 성공 응답", + "type": "object", + "required": [ + "billingKeyInfo" + ], + "properties": { + "billingKeyInfo": { + "$ref": "#/components/schemas/BillingKeyInfoSummary", + "title": "빌링키 정보" + }, + "channelSpecificFailures": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChannelSpecificFailure" + }, + "title": "발급에 실패한 채널이 있을시 실패 정보" + } + }, + "x-portone-title": "빌링키 발급 성공 응답" + }, + "IssueCashReceiptBody": { + "title": "현금영수증 발급 요청 양식", + "description": "현금영수증 발급 요청 양식", + "type": "object", + "required": [ + "paymentId", + "channelKey", + "type", + "orderName", + "currency", + "amount", + "customer" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디", + "description": "외부 결제 건에 대한 수동 발급의 경우, 아이디를 직접 채번하여 입력합니다." + }, + "channelKey": { + "type": "string", + "title": "채널 키" + }, + "type": { + "$ref": "#/components/schemas/CashReceiptType", + "title": "현금 영수증 유형" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "화폐" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmountInput", + "title": "금액 세부 입력 정보" + }, + "productType": { + "$ref": "#/components/schemas/PaymentProductType", + "title": "상품 유형" + }, + "customer": { + "$ref": "#/components/schemas/IssueCashReceiptCustomerInput", + "title": "고객 정보" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 일자" + } + }, + "x-portone-title": "현금영수증 발급 요청 양식" + }, + "IssueCashReceiptCustomerInput": { + "title": "현금영수증 발급 시 고객 관련 입력 정보", + "description": "현금영수증 발급 시 고객 관련 입력 정보", + "type": "object", + "required": [ + "identityNumber" + ], + "properties": { + "identityNumber": { + "type": "string", + "title": "고객 식별값" + }, + "name": { + "type": "string", + "title": "이름" + }, + "email": { + "type": "string", + "title": "이메일" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + } + }, + "x-portone-title": "현금영수증 발급 시 고객 관련 입력 정보" + }, + "IssueCashReceiptError": { + "title": "IssueCashReceiptError", + "oneOf": [ + { + "$ref": "#/components/schemas/CashReceiptAlreadyIssuedError" + }, + { + "$ref": "#/components/schemas/ChannelNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CASH_RECEIPT_ALREADY_ISSUED": "#/components/schemas/CashReceiptAlreadyIssuedError", + "CHANNEL_NOT_FOUND": "#/components/schemas/ChannelNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "IssueCashReceiptResponse": { + "title": "현금 영수증 발급 성공 응답", + "description": "현금 영수증 발급 성공 응답", + "type": "object", + "required": [ + "cashReceipt" + ], + "properties": { + "cashReceipt": { + "$ref": "#/components/schemas/CashReceiptSummary" + } + }, + "x-portone-title": "현금 영수증 발급 성공 응답" + }, + "IssueFailedCashReceipt": { + "title": "발급 실패", + "description": "발급 실패", + "type": "object", + "required": [ + "status", + "merchantId", + "storeId", + "paymentId", + "orderName", + "isManual" + ], + "properties": { + "status": { + "type": "string", + "title": "현금영수증 상태" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "현금영수증 발급에 사용된 채널" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isManual": { + "type": "boolean", + "title": "수동 발급 여부" + } + }, + "x-portone-title": "발급 실패" + }, + "IssuedBillingKeyInfo": { + "title": "빌링키 발급 완료 상태 건", + "description": "빌링키 발급 완료 상태 건", + "type": "object", + "required": [ + "status", + "billingKey", + "merchantId", + "storeId", + "channels", + "customer", + "issuedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "빌링키 상태" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "methods": { + "title": "빌링키 결제수단 상세 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingKeyPaymentMethod" + }, + "description": "추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다." + }, + "channels": { + "title": "빌링키 발급 시 사용된 채널", + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectedChannel" + }, + "description": "추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다." + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "issueId": { + "type": "string", + "title": "고객사가 채번하는 빌링키 발급 건 고유 아이디" + }, + "issueName": { + "type": "string", + "title": "빌링키 발급 건 이름" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "발급 요청 시점" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "채널 그룹" + }, + "pgBillingKeyIssueResponses": { + "title": "채널 별 빌링키 발급 응답", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgBillingKeyIssueResponse" + }, + "description": "슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 빌링키 발급은 실패할 수 있습니다." + } + }, + "x-portone-title": "빌링키 발급 완료 상태 건" + }, + "IssuedCashReceipt": { + "title": "발급 완료", + "description": "발급 완료", + "type": "object", + "required": [ + "status", + "merchantId", + "storeId", + "paymentId", + "channel", + "amount", + "currency", + "orderName", + "isManual", + "issueNumber", + "issuedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "현금영수증 상태" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "현금영수증 발급에 사용된 채널" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isManual": { + "type": "boolean", + "title": "수동 발급 여부" + }, + "type": { + "$ref": "#/components/schemas/CashReceiptType", + "title": "현금영수증 유형" + }, + "pgReceiptId": { + "type": "string", + "title": "PG사 현금영수증 아이디" + }, + "issueNumber": { + "type": "string", + "title": "승인 번호" + }, + "url": { + "type": "string", + "title": "현금영수증 URL" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + } + }, + "x-portone-title": "발급 완료" + }, + "IssuedPaymentCashReceipt": { + "title": "발급 완료된 현금영수증", + "description": "발급 완료된 현금영수증", + "type": "object", + "required": [ + "status", + "issueNumber", + "totalAmount", + "currency", + "issuedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 내 현금영수증 상태" + }, + "type": { + "$ref": "#/components/schemas/CashReceiptType", + "title": "현금영수증 유형" + }, + "pgReceiptId": { + "type": "string", + "title": "PG사 영수증 발급 아이디" + }, + "issueNumber": { + "type": "string", + "title": "승인 번호" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "url": { + "type": "string", + "title": "현금영수증 URL" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "발급 시점" + } + }, + "x-portone-title": "발급 완료된 현금영수증" + }, + "IssuedPgBillingKeyIssueResponse": { + "title": "빌링키 발급 성공 채널 응답", + "description": "빌링키 발급 성공 채널 응답", + "type": "object", + "required": [ + "type", + "channel" + ], + "properties": { + "type": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "채널", + "description": "빌링키 발급을 시도한 채널입니다." + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "method": { + "$ref": "#/components/schemas/BillingKeyPaymentMethod", + "title": "빌링키 결제수단 상세 정보", + "description": "채널에 대응되는 PG사에서 응답한 빌링키 발급 수단 정보입니다." + } + }, + "x-portone-title": "빌링키 발급 성공 채널 응답" + }, + "LoginViaApiKeyBody": { + "title": "API key 로그인을 위한 입력 정보", + "description": "API key 로그인을 위한 입력 정보", + "type": "object", + "required": [ + "apiKey" + ], + "properties": { + "apiKey": { + "type": "string", + "title": "발급받은 API key" + } + }, + "x-portone-title": "API key 로그인을 위한 입력 정보" + }, + "LoginViaApiKeyError": { + "title": "LoginViaApiKeyError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "LoginViaApiKeyResponse": { + "title": "API key 로그인 성공 응답", + "description": "API key 로그인 성공 응답", + "type": "object", + "required": [ + "accessToken", + "refreshToken" + ], + "properties": { + "accessToken": { + "type": "string", + "title": "인증에 사용하는 엑세스 토큰", + "description": "하루의 유효기간을 가지고 있습니다." + }, + "refreshToken": { + "type": "string", + "title": "토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰", + "description": "일주일의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다." + } + }, + "x-portone-title": "API key 로그인 성공 응답" + }, + "LoginViaApiSecretBody": { + "title": "API Secret 로그인을 위한 입력 정보", + "description": "API Secret 로그인을 위한 입력 정보", + "type": "object", + "required": [ + "apiSecret" + ], + "properties": { + "apiSecret": { + "type": "string", + "title": "발급받은 API secret" + } + }, + "x-portone-title": "API Secret 로그인을 위한 입력 정보" + }, + "LoginViaApiSecretError": { + "title": "LoginViaApiSecretError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "LoginViaApiSecretResponse": { + "title": "API key 로그인 성공 응답", + "description": "API key 로그인 성공 응답", + "type": "object", + "required": [ + "accessToken", + "refreshToken" + ], + "properties": { + "accessToken": { + "type": "string", + "title": "인증에 사용하는 엑세스 토큰", + "description": "하루의 유효기간을 가지고 있습니다." + }, + "refreshToken": { + "type": "string", + "title": "토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰", + "description": "일주일의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다." + } + }, + "x-portone-title": "API key 로그인 성공 응답" + }, + "Merchant": { + "title": "고객사 정보", + "description": "고객사 정보", + "type": "object", + "required": [ + "id", + "graphqlId", + "analytics" + ], + "properties": { + "id": { + "type": "string", + "title": "고객사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "analytics": { + "$ref": "#/components/schemas/Analytics", + "title": "리포트 정보" + } + }, + "x-portone-title": "고객사 정보" + }, + "ModifyEscrowLogisticsBody": { + "title": "에스크로 배송 정보 수정 입력 정보", + "description": "에스크로 배송 정보 수정 입력 정보", + "type": "object", + "required": [ + "logistics" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "sender": { + "$ref": "#/components/schemas/PaymentEscrowSenderInput", + "title": "에스크로 발송자 정보" + }, + "receiver": { + "$ref": "#/components/schemas/PaymentEscrowReceiverInput", + "title": "에스크로 수취인 정보" + }, + "logistics": { + "$ref": "#/components/schemas/PaymentLogistics", + "title": "에스크로 물류 정보" + }, + "sendEmail": { + "type": "boolean", + "title": "이메일 알림 전송 여부", + "description": "에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + } + }, + "x-portone-title": "에스크로 배송 정보 수정 입력 정보" + }, + "ModifyEscrowLogisticsError": { + "title": "ModifyEscrowLogisticsError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotPaidError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_PAID": "#/components/schemas/PaymentNotPaidError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ModifyEscrowLogisticsResponse": { + "title": "에스크로 배송 정보 수정 성공 응답", + "description": "에스크로 배송 정보 수정 성공 응답", + "type": "object", + "required": [ + "invoiceNumber", + "sentAt", + "modifiedAt" + ], + "properties": { + "invoiceNumber": { + "type": "string", + "title": "송장 번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 시점" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "title": "에스크로 정보 수정 시점" + } + }, + "x-portone-title": "에스크로 배송 정보 수정 성공 응답" + }, + "MonthDay": { + "title": "월 및 일자 정보", + "description": "월 및 일자 정보", + "type": "object", + "required": [ + "month", + "day" + ], + "properties": { + "month": { + "type": "integer", + "format": "int32" + }, + "day": { + "type": "integer", + "format": "int32" + } + }, + "x-portone-title": "월 및 일자 정보" + }, + "OneLineAddress": { + "title": "한 줄 형식 주소", + "description": "한 줄 형식 주소\n\n한 줄 형식 주소만 존재합니다.", + "type": "object", + "required": [ + "type", + "oneLine" + ], + "properties": { + "type": { + "type": "string" + }, + "oneLine": { + "type": "string", + "title": "주소 (한 줄)" + } + }, + "x-portone-title": "한 줄 형식 주소", + "x-portone-description": "한 줄 형식 주소만 존재합니다." + }, + "PageInfo": { + "title": "반환된 페이지 결과 정보", + "description": "반환된 페이지 결과 정보", + "type": "object", + "required": [ + "number", + "size", + "totalCount" + ], + "properties": { + "number": { + "type": "integer", + "format": "int32", + "title": "요청된 페이지 번호" + }, + "size": { + "type": "integer", + "format": "int32", + "title": "요청된 페이지 당 객체 수" + }, + "totalCount": { + "type": "integer", + "format": "int32", + "title": "실제 반환된 객체 수" + } + }, + "x-portone-title": "반환된 페이지 결과 정보" + }, + "PageInput": { + "title": "다건 조회 API 에 사용되는 페이지 입력 정보", + "description": "다건 조회 API 에 사용되는 페이지 입력 정보", + "type": "object", + "properties": { + "number": { + "type": "integer", + "format": "int32", + "title": "0부터 시작하는 페이지 번호" + }, + "size": { + "type": "integer", + "format": "int32", + "title": "각 페이지 당 포함할 객체 수" + } + }, + "x-portone-title": "다건 조회 API 에 사용되는 페이지 입력 정보" + }, + "PaidPayment": { + "title": "결제 완료 상태 건", + "description": "결제 완료 상태 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "channel", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer", + "paidAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "pgResponse": { + "type": "string", + "title": "PG사 거래 응답 본문" + }, + "cashReceipt": { + "$ref": "#/components/schemas/PaymentCashReceipt", + "title": "현금영수증" + }, + "receiptUrl": { + "type": "string", + "title": "거래 영수증 URL" + } + }, + "x-portone-title": "결제 완료 상태 건" + }, + "PartialCancelledPayment": { + "title": "결제 부분 취소 상태 건", + "description": "결제 부분 취소 상태 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "channel", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer", + "cancellations", + "cancelledAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "cashReceipt": { + "$ref": "#/components/schemas/PaymentCashReceipt", + "title": "현금영수증" + }, + "receiptUrl": { + "type": "string", + "title": "거래 영수증 URL" + }, + "cancellations": { + "title": "결제 취소 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentCancellation" + } + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "결제 취소 시점" + } + }, + "x-portone-title": "결제 부분 취소 상태 건" + }, + "PayInstantlyError": { + "title": "PayInstantlyError", + "oneOf": [ + { + "$ref": "#/components/schemas/AlreadyPaidError" + }, + { + "$ref": "#/components/schemas/ChannelNotFoundError" + }, + { + "$ref": "#/components/schemas/DiscountAmountExceedsTotalAmountError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/PromotionPayMethodDoesNotMatchError" + }, + { + "$ref": "#/components/schemas/SumOfPartsExceedsTotalAmountError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ALREADY_PAID": "#/components/schemas/AlreadyPaidError", + "CHANNEL_NOT_FOUND": "#/components/schemas/ChannelNotFoundError", + "DISCOUNT_AMOUNT_EXCEEDS_TOTAL_AMOUNT": "#/components/schemas/DiscountAmountExceedsTotalAmountError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "PROMOTION_PAY_METHOD_DOES_NOT_MATCH": "#/components/schemas/PromotionPayMethodDoesNotMatchError", + "SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT": "#/components/schemas/SumOfPartsExceedsTotalAmountError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "PayInstantlyResponse": { + "title": "수기 결제 성공 응답", + "description": "수기 결제 성공 응답", + "type": "object", + "required": [ + "payment" + ], + "properties": { + "payment": { + "$ref": "#/components/schemas/InstantPaymentSummary", + "title": "결제 건 요약 정보" + } + }, + "x-portone-title": "수기 결제 성공 응답" + }, + "PayPendingPayment": { + "title": "결제 완료 대기 상태 건", + "description": "결제 완료 대기 상태 건", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "channel", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + } + }, + "x-portone-title": "결제 완료 대기 상태 건" + }, + "PayWithBillingKeyError": { + "title": "PayWithBillingKeyError", + "oneOf": [ + { + "$ref": "#/components/schemas/AlreadyPaidError" + }, + { + "$ref": "#/components/schemas/BillingKeyAlreadyDeletedError" + }, + { + "$ref": "#/components/schemas/BillingKeyNotFoundError" + }, + { + "$ref": "#/components/schemas/ChannelNotFoundError" + }, + { + "$ref": "#/components/schemas/DiscountAmountExceedsTotalAmountError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/PromotionPayMethodDoesNotMatchError" + }, + { + "$ref": "#/components/schemas/SumOfPartsExceedsTotalAmountError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ALREADY_PAID": "#/components/schemas/AlreadyPaidError", + "BILLING_KEY_ALREADY_DELETED": "#/components/schemas/BillingKeyAlreadyDeletedError", + "BILLING_KEY_NOT_FOUND": "#/components/schemas/BillingKeyNotFoundError", + "CHANNEL_NOT_FOUND": "#/components/schemas/ChannelNotFoundError", + "DISCOUNT_AMOUNT_EXCEEDS_TOTAL_AMOUNT": "#/components/schemas/DiscountAmountExceedsTotalAmountError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "PROMOTION_PAY_METHOD_DOES_NOT_MATCH": "#/components/schemas/PromotionPayMethodDoesNotMatchError", + "SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT": "#/components/schemas/SumOfPartsExceedsTotalAmountError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "PayWithBillingKeyResponse": { + "title": "빌링키 결제 성공 응답", + "description": "빌링키 결제 성공 응답", + "type": "object", + "required": [ + "payment" + ], + "properties": { + "payment": { + "$ref": "#/components/schemas/BillingKeyPaymentSummary", + "title": "결제 건 요약 정보" + } + }, + "x-portone-title": "빌링키 결제 성공 응답" + }, + "Payment": { + "title": "결제 건", + "description": "결제 건", + "oneOf": [ + { + "$ref": "#/components/schemas/CancelledPayment" + }, + { + "$ref": "#/components/schemas/FailedPayment" + }, + { + "$ref": "#/components/schemas/PaidPayment" + }, + { + "$ref": "#/components/schemas/PartialCancelledPayment" + }, + { + "$ref": "#/components/schemas/PayPendingPayment" + }, + { + "$ref": "#/components/schemas/ReadyPayment" + }, + { + "$ref": "#/components/schemas/VirtualAccountIssuedPayment" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "CANCELLED": "#/components/schemas/CancelledPayment", + "FAILED": "#/components/schemas/FailedPayment", + "PAID": "#/components/schemas/PaidPayment", + "PARTIAL_CANCELLED": "#/components/schemas/PartialCancelledPayment", + "PAY_PENDING": "#/components/schemas/PayPendingPayment", + "READY": "#/components/schemas/ReadyPayment", + "VIRTUAL_ACCOUNT_ISSUED": "#/components/schemas/VirtualAccountIssuedPayment" + } + }, + "x-portone-title": "결제 건", + "x-portone-discriminator": { + "VIRTUAL_ACCOUNT_ISSUED": { + "title": "가상계좌 발급 완료" + }, + "PAID": { + "title": "결제 완료" + }, + "READY": { + "title": "결제 준비" + }, + "FAILED": { + "title": "결제 실패" + }, + "PAY_PENDING": { + "title": "결제 완료 대기" + }, + "CANCELLED": { + "title": "결제 취소" + }, + "PARTIAL_CANCELLED": { + "title": "결제 부분 취소" + } + } + }, + "PaymentAlreadyCancelledError": { + "title": "결제가 이미 취소된 경우", + "description": "결제가 이미 취소된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제가 이미 취소된 경우", + "x-portone-status-code": 409 + }, + "PaymentAmount": { + "title": "결제 금액 세부 정보", + "description": "결제 금액 세부 정보", + "type": "object", + "required": [ + "total", + "taxFree", + "discount", + "paid", + "cancelled", + "cancelledTaxFree" + ], + "properties": { + "total": { + "type": "integer", + "format": "int64", + "title": "총 결제금액" + }, + "taxFree": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vat": { + "type": "integer", + "format": "int64", + "title": "부가세액" + }, + "supply": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "discount": { + "type": "integer", + "format": "int64", + "title": "할인금액", + "description": "카드사 프로모션, 포트원 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함합니다." + }, + "paid": { + "type": "integer", + "format": "int64", + "title": "실제 결제금액" + }, + "cancelled": { + "type": "integer", + "format": "int64", + "title": "취소금액" + }, + "cancelledTaxFree": { + "type": "integer", + "format": "int64", + "title": "취소금액 중 면세액" + } + }, + "x-portone-title": "결제 금액 세부 정보" + }, + "PaymentAmountInput": { + "title": "금액 세부 입력 정보", + "description": "금액 세부 입력 정보", + "type": "object", + "required": [ + "total" + ], + "properties": { + "total": { + "type": "integer", + "format": "int64", + "title": "총 금액" + }, + "taxFree": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vat": { + "type": "integer", + "format": "int64", + "title": "부가세액", + "description": "고객사에서 직접 계산이 필요한 경우 입력합니다.\n입력하지 않으면 면세 금액을 제외한 금액의 1/11 로 자동 계산됩니다." + } + }, + "x-portone-title": "금액 세부 입력 정보" + }, + "PaymentCancellation": { + "title": "결제 취소 내역", + "description": "결제 취소 내역", + "oneOf": [ + { + "$ref": "#/components/schemas/FailedPaymentCancellation" + }, + { + "$ref": "#/components/schemas/RequestedPaymentCancellation" + }, + { + "$ref": "#/components/schemas/SucceededPaymentCancellation" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "FAILED": "#/components/schemas/FailedPaymentCancellation", + "REQUESTED": "#/components/schemas/RequestedPaymentCancellation", + "SUCCEEDED": "#/components/schemas/SucceededPaymentCancellation" + } + }, + "x-portone-title": "결제 취소 내역", + "x-portone-discriminator": { + "REQUESTED": { + "title": "취소 요청" + }, + "FAILED": { + "title": "취소 실패" + }, + "SUCCEEDED": { + "title": "취소 완료" + } + } + }, + "PaymentCashReceipt": { + "title": "결제 건 내 현금영수증 정보", + "description": "결제 건 내 현금영수증 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/CancelledPaymentCashReceipt" + }, + { + "$ref": "#/components/schemas/IssuedPaymentCashReceipt" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "CANCELLED": "#/components/schemas/CancelledPaymentCashReceipt", + "ISSUED": "#/components/schemas/IssuedPaymentCashReceipt" + } + }, + "x-portone-title": "결제 건 내 현금영수증 정보", + "x-portone-discriminator": { + "ISSUED": { + "title": "발급 완료" + }, + "CANCELLED": { + "title": "발급 취소" + } + } + }, + "PaymentCashReceiptStatus": { + "title": "결제건 내 현금영수증 상태", + "description": "결제건 내 현금영수증 상태", + "type": "string", + "enum": [ + "ISSUED", + "CANCELLED" + ], + "x-portone-title": "결제건 내 현금영수증 상태", + "x-portone-enum": { + "ISSUED": {}, + "CANCELLED": {} + } + }, + "PaymentClientType": { + "title": "결제가 발생한 클라이언트 환경", + "description": "결제가 발생한 클라이언트 환경", + "type": "string", + "enum": [ + "SDK_MOBILE", + "SDK_PC", + "API" + ], + "x-portone-title": "결제가 발생한 클라이언트 환경", + "x-portone-enum": { + "SDK_MOBILE": {}, + "SDK_PC": {}, + "API": {} + } + }, + "PaymentEscrow": { + "title": "에스크로 정보", + "description": "에스크로 정보\n\nV1 결제 건의 경우 타입이 REGISTERED 로 고정됩니다.", + "oneOf": [ + { + "$ref": "#/components/schemas/BeforeRegisteredPaymentEscrow" + }, + { + "$ref": "#/components/schemas/CancelledPaymentEscrow" + }, + { + "$ref": "#/components/schemas/ConfirmedPaymentEscrow" + }, + { + "$ref": "#/components/schemas/DeliveredPaymentEscrow" + }, + { + "$ref": "#/components/schemas/RegisteredPaymentEscrow" + }, + { + "$ref": "#/components/schemas/RejectConfirmedPaymentEscrow" + }, + { + "$ref": "#/components/schemas/RejectedPaymentEscrow" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "BEFORE_REGISTERED": "#/components/schemas/BeforeRegisteredPaymentEscrow", + "CANCELLED": "#/components/schemas/CancelledPaymentEscrow", + "CONFIRMED": "#/components/schemas/ConfirmedPaymentEscrow", + "DELIVERED": "#/components/schemas/DeliveredPaymentEscrow", + "REGISTERED": "#/components/schemas/RegisteredPaymentEscrow", + "REJECTED": "#/components/schemas/RejectedPaymentEscrow", + "REJECT_CONFIRMED": "#/components/schemas/RejectConfirmedPaymentEscrow" + } + }, + "x-portone-title": "에스크로 정보", + "x-portone-description": "V1 결제 건의 경우 타입이 REGISTERED 로 고정됩니다.", + "x-portone-discriminator": { + "CONFIRMED": { + "title": "구매 확정" + }, + "REJECTED": { + "title": "구매 거절" + }, + "CANCELLED": { + "title": "거래 취소" + }, + "REJECT_CONFIRMED": { + "title": "구매 거절 확정" + }, + "DELIVERED": { + "title": "배송 완료" + }, + "BEFORE_REGISTERED": { + "title": "배송 정보 등록 전" + }, + "REGISTERED": { + "title": "배송 정보 등록 완료" + } + } + }, + "PaymentEscrowReceiverInput": { + "title": "에스크로 수취인 정보", + "description": "에스크로 수취인 정보", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "이름" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + }, + "zipcode": { + "type": "string", + "title": "우편번호" + }, + "address": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "주소" + } + }, + "x-portone-title": "에스크로 수취인 정보" + }, + "PaymentEscrowSenderInput": { + "title": "에스크로 발송자 정보", + "description": "에스크로 발송자 정보", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "이름" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + }, + "zipcode": { + "type": "string", + "title": "우편번호" + }, + "relationship": { + "type": "string", + "title": "수취인과의 관계" + }, + "address": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "주소" + } + }, + "x-portone-title": "에스크로 발송자 정보" + }, + "PaymentFailure": { + "title": "결제 실패 정보", + "description": "결제 실패 정보", + "type": "object", + "properties": { + "reason": { + "type": "string", + "title": "실패 사유" + }, + "pgCode": { + "type": "string", + "title": "PG사 실패 코드" + }, + "pgMessage": { + "type": "string", + "title": "PG사 실패 메시지" + } + }, + "x-portone-title": "결제 실패 정보" + }, + "PaymentFilterInput": { + "title": "결제 건 다건 조회를 위한 입력 정보", + "description": "결제 건 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제 건을 조회합니다." + }, + "timestampType": { + "$ref": "#/components/schemas/PaymentTimestampType", + "title": "조회 기준 시점 유형" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "결제 요청/상태 승인 시점 범위의 시작", + "description": "값을 입력하지 않으면 end의 90일 전으로 설정됩니다." + }, + "until": { + "type": "string", + "format": "date-time", + "title": "결제 요청/상태 승인 시점 범위의 끝", + "description": "값을 입력하지 않으면 현재 시점으로 설정됩니다." + }, + "status": { + "title": "결제 상태 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentStatus" + }, + "description": "값을 입력하지 않으면 결제상태 필터링이 적용되지 않습니다." + }, + "methods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethodType" + }, + "title": "결제수단 리스트", + "description": "값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다." + }, + "pgProvider": { + "title": "PG사 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PgProvider" + }, + "description": "값을 입력하지 않으면 결제대행사 필터링이 적용되지 않습니다." + }, + "isTest": { + "type": "boolean", + "title": "테스트 결제 필터링" + }, + "isScheduled": { + "type": "boolean", + "title": "결제 예약 건 필터링" + }, + "sortBy": { + "$ref": "#/components/schemas/PaymentSortBy", + "title": "결제 건 정렬 기준" + }, + "sortOrder": { + "$ref": "#/components/schemas/SortOrder", + "title": "결제 건 정렬 방식" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "webhookStatus": { + "$ref": "#/components/schemas/PaymentWebhookStatus", + "title": "웹훅 상태" + }, + "platformType": { + "$ref": "#/components/schemas/PaymentClientType", + "title": "플랫폼 유형" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "escrowStatus": { + "$ref": "#/components/schemas/PaymentFilterInputEscrowStatus", + "title": "에스크로 결제의 배송 정보 상태" + }, + "cardBrand": { + "$ref": "#/components/schemas/CardBrand", + "title": "카드 브랜드" + }, + "cardType": { + "$ref": "#/components/schemas/CardType", + "title": "카드 유형" + }, + "cardOwnerType": { + "$ref": "#/components/schemas/CardOwnerType", + "title": "카드 소유주 유형" + }, + "giftCertificateType": { + "$ref": "#/components/schemas/PaymentMethodGiftCertificateType", + "title": "상품권 종류" + }, + "cashReceiptType": { + "$ref": "#/components/schemas/CashReceiptInputType", + "title": "현금영수증 유형" + }, + "cashReceiptStatus": { + "$ref": "#/components/schemas/PaymentCashReceiptStatus", + "title": "현금영수증 상태" + }, + "cashReceiptIssuedAtRange": { + "$ref": "#/components/schemas/DateTimeRange", + "title": "현금영수증 발급 시간 범위" + }, + "cashReceiptCancelledAtRange": { + "$ref": "#/components/schemas/DateTimeRange", + "title": "현금영수증 취소 시간 범위" + }, + "textSearch": { + "title": "통합 검색 리스트 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentTextSearch" + } + } + }, + "x-portone-title": "결제 건 다건 조회를 위한 입력 정보" + }, + "PaymentFilterInputEscrowStatus": { + "title": "에스크로 상태", + "description": "에스크로 상태", + "type": "string", + "enum": [ + "REGISTERED", + "DELIVERED", + "CONFIRMED", + "REJECTED", + "CANCELLED", + "REJECT_CONFIRMED" + ], + "x-portone-title": "에스크로 상태", + "x-portone-enum": { + "CONFIRMED": {}, + "REJECTED": {}, + "CANCELLED": {}, + "REJECT_CONFIRMED": {}, + "DELIVERED": {}, + "REGISTERED": {} + } + }, + "PaymentInstallment": { + "title": "할부 정보", + "description": "할부 정보", + "type": "object", + "required": [ + "month", + "isInterestFree" + ], + "properties": { + "month": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "isInterestFree": { + "type": "boolean", + "title": "무이자할부 여부" + } + }, + "x-portone-title": "할부 정보" + }, + "PaymentLogistics": { + "title": "배송정보", + "description": "배송정보", + "type": "object", + "required": [ + "company", + "invoiceNumber", + "sentAt" + ], + "properties": { + "company": { + "$ref": "#/components/schemas/PaymentLogisticsCompany", + "title": "물류회사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송시점" + }, + "receivedAt": { + "type": "string", + "format": "date-time", + "title": "수령시점" + }, + "address": { + "$ref": "#/components/schemas/SeparatedAddressInput", + "title": "주소" + } + }, + "x-portone-title": "배송정보" + }, + "PaymentLogisticsCompany": { + "title": "물류 회사", + "description": "물류 회사", + "type": "string", + "enum": [ + "LOTTE", + "LOGEN", + "DONGWON", + "POST", + "CJ", + "HANJIN", + "DAESIN", + "ILYANG", + "KYUNGDONG", + "CHUNIL", + "POST_REGISTERED", + "GS", + "WOORI", + "HAPDONG", + "FEDEX", + "UPS", + "GSM_NTON", + "SUNGWON", + "LX_PANTOS", + "ACI", + "CJ_INTL", + "USPS", + "EMS", + "DHL", + "KGL", + "GOODSTOLUCK", + "KUNYOUNG", + "SLX", + "SF", + "ETC" + ], + "x-portone-title": "물류 회사", + "x-portone-enum": { + "POST_REGISTERED": { + "title": "등기우편" + }, + "GOODSTOLUCK": { + "title": "굿투럭" + }, + "UPS": { + "title": "UPS" + }, + "CJ_INTL": { + "title": "CJ대한통운 국제특송" + }, + "LOTTE": { + "title": "롯데글로벌로지스" + }, + "CHUNIL": { + "title": "천일택배" + }, + "KGL": { + "title": "KGL네트웍스" + }, + "EMS": { + "title": "EMS" + }, + "ILYANG": { + "title": "일양로지스" + }, + "HAPDONG": { + "title": "합동택배" + }, + "SUNGWON": { + "title": "성원글로벌카고" + }, + "KUNYOUNG": { + "title": "건영택배" + }, + "LOGEN": { + "title": "로젠택배" + }, + "LX_PANTOS": { + "title": "LX판토스" + }, + "DHL": { + "title": "DHL" + }, + "HANJIN": { + "title": "한진택배" + }, + "FEDEX": { + "title": "FedEx" + }, + "ACI": { + "title": "ACI" + }, + "WOORI": { + "title": "우리택배" + }, + "CJ": { + "title": "대한통운" + }, + "GS": { + "title": "GS네트웍스" + }, + "DONGWON": { + "title": "동원로엑스" + }, + "USPS": { + "title": "USPS" + }, + "KYUNGDONG": { + "title": "경동택배" + }, + "SF": { + "title": "SF Express" + }, + "DAESIN": { + "title": "대신택배" + }, + "ETC": { + "title": "기타" + }, + "SLX": { + "title": "SLX" + }, + "GSM_NTON": { + "title": "GSM NtoN" + }, + "POST": { + "title": "우체국택배" + } + } + }, + "PaymentMethod": { + "title": "결제수단 정보", + "description": "결제수단 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/PaymentMethodCard" + }, + { + "$ref": "#/components/schemas/PaymentMethodEasyPay" + }, + { + "$ref": "#/components/schemas/PaymentMethodGiftCertificate" + }, + { + "$ref": "#/components/schemas/PaymentMethodMobile" + }, + { + "$ref": "#/components/schemas/PaymentMethodTransfer" + }, + { + "$ref": "#/components/schemas/PaymentMethodVirtualAccount" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "PaymentMethodCard": "#/components/schemas/PaymentMethodCard", + "PaymentMethodEasyPay": "#/components/schemas/PaymentMethodEasyPay", + "PaymentMethodGiftCertificate": "#/components/schemas/PaymentMethodGiftCertificate", + "PaymentMethodMobile": "#/components/schemas/PaymentMethodMobile", + "PaymentMethodTransfer": "#/components/schemas/PaymentMethodTransfer", + "PaymentMethodVirtualAccount": "#/components/schemas/PaymentMethodVirtualAccount" + } + }, + "x-portone-title": "결제수단 정보", + "x-portone-discriminator": { + "PaymentMethodCard": { + "title": "결제수단 카드 정보" + }, + "PaymentMethodEasyPay": { + "title": "간편 결제 상세 정보" + }, + "PaymentMethodMobile": { + "title": "모바일 상세 정보" + }, + "PaymentMethodGiftCertificate": { + "title": "상품권 상세 정보" + }, + "PaymentMethodTransfer": { + "title": "계좌 이체 상세 정보" + }, + "PaymentMethodVirtualAccount": { + "title": "가상계좌 상세 정보" + } + } + }, + "PaymentMethodCard": { + "title": "결제수단 카드 정보", + "description": "결제수단 카드 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "card": { + "$ref": "#/components/schemas/Card", + "title": "카드 상세 정보" + }, + "approvalNumber": { + "type": "string", + "title": "승인 번호" + }, + "installment": { + "$ref": "#/components/schemas/PaymentInstallment", + "title": "할부 정보" + }, + "pointUsed": { + "type": "boolean", + "title": "카드 포인트 사용여부" + } + }, + "x-portone-title": "결제수단 카드 정보" + }, + "PaymentMethodEasyPay": { + "title": "간편 결제 상세 정보", + "description": "간편 결제 상세 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "provider": { + "$ref": "#/components/schemas/EasyPayProvider", + "title": "간편 결제 PG사" + }, + "easyPayMethod": { + "$ref": "#/components/schemas/PaymentMethodEasyPayMethod", + "title": "간편 결제 수단" + } + }, + "x-portone-title": "간편 결제 상세 정보" + }, + "PaymentMethodEasyPayMethod": { + "title": "간편 결제 수단", + "description": "간편 결제 수단", + "oneOf": [ + { + "$ref": "#/components/schemas/PaymentMethodCard" + }, + { + "$ref": "#/components/schemas/PaymentMethodEasyPayMethodCharge" + }, + { + "$ref": "#/components/schemas/PaymentMethodTransfer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "PaymentMethodCard": "#/components/schemas/PaymentMethodCard", + "PaymentMethodEasyPayMethodCharge": "#/components/schemas/PaymentMethodEasyPayMethodCharge", + "PaymentMethodTransfer": "#/components/schemas/PaymentMethodTransfer" + } + }, + "x-portone-title": "간편 결제 수단", + "x-portone-discriminator": { + "PaymentMethodCard": { + "title": "결제수단 카드 정보" + }, + "PaymentMethodTransfer": { + "title": "계좌 이체 상세 정보" + }, + "PaymentMethodEasyPayMethodCharge": { + "title": "충전식 포인트 결제 정보" + } + } + }, + "PaymentMethodEasyPayMethodCharge": { + "title": "충전식 포인트 결제 정보", + "description": "충전식 포인트 결제 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "표준 은행 코드" + } + }, + "x-portone-title": "충전식 포인트 결제 정보" + }, + "PaymentMethodGiftCertificate": { + "title": "상품권 상세 정보", + "description": "상품권 상세 정보", + "type": "object", + "required": [ + "type", + "approvalNumber" + ], + "properties": { + "type": { + "type": "string" + }, + "giftCertificateType": { + "$ref": "#/components/schemas/PaymentMethodGiftCertificateType", + "title": "상품권 종류" + }, + "approvalNumber": { + "type": "string", + "title": "상품권 승인 번호" + } + }, + "x-portone-title": "상품권 상세 정보" + }, + "PaymentMethodGiftCertificateType": { + "title": "상품권 종류", + "description": "상품권 종류", + "type": "string", + "enum": [ + "BOOKNLIFE", + "SMART_MUNSANG", + "CULTURELAND", + "HAPPYMONEY", + "CULTUREGIFT" + ], + "x-portone-title": "상품권 종류", + "x-portone-enum": { + "SMART_MUNSANG": {}, + "CULTUREGIFT": {}, + "BOOKNLIFE": {}, + "CULTURELAND": {}, + "HAPPYMONEY": {} + } + }, + "PaymentMethodMobile": { + "title": "모바일 상세 정보", + "description": "모바일 상세 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호" + } + }, + "x-portone-title": "모바일 상세 정보" + }, + "PaymentMethodTransfer": { + "title": "계좌 이체 상세 정보", + "description": "계좌 이체 상세 정보", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "표준 은행 코드" + } + }, + "x-portone-title": "계좌 이체 상세 정보" + }, + "PaymentMethodType": { + "title": "PaymentMethodType", + "type": "string", + "enum": [ + "CARD", + "TRANSFER", + "VIRTUAL_ACCOUNT", + "GIFT_CERTIFICATE", + "MOBILE", + "EASY_PAY" + ], + "x-portone-enum": { + "GIFT_CERTIFICATE": {}, + "VIRTUAL_ACCOUNT": {}, + "MOBILE": {}, + "CARD": {}, + "TRANSFER": {}, + "EASY_PAY": {} + } + }, + "PaymentMethodVirtualAccount": { + "title": "가상계좌 상세 정보", + "description": "가상계좌 상세 정보", + "type": "object", + "required": [ + "type", + "accountNumber" + ], + "properties": { + "type": { + "type": "string" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "표준 은행 코드" + }, + "accountNumber": { + "type": "string", + "title": "계좌번호" + }, + "accountType": { + "$ref": "#/components/schemas/PaymentMethodVirtualAccountType", + "title": "계좌 유형" + }, + "remitteeName": { + "type": "string", + "title": "계좌주" + }, + "remitterName": { + "type": "string", + "title": "송금인(입금자)" + }, + "expiredAt": { + "type": "string", + "format": "date-time", + "title": "입금만료시점" + }, + "issuedAt": { + "type": "string", + "format": "date-time", + "title": "계좌발급시점" + }, + "refundStatus": { + "$ref": "#/components/schemas/PaymentMethodVirtualAccountRefundStatus", + "title": "가상계좌 결제가 환불 단계일 때의 환불 상태" + } + }, + "x-portone-title": "가상계좌 상세 정보" + }, + "PaymentMethodVirtualAccountRefundStatus": { + "title": "가상계좌 환불 상태", + "description": "가상계좌 환불 상태", + "type": "string", + "enum": [ + "PENDING", + "PARTIAL_REFUND_FAILED", + "FAILED", + "COMPLETED" + ], + "x-portone-title": "가상계좌 환불 상태", + "x-portone-enum": { + "PENDING": { + "title": "처리중" + }, + "PARTIAL_REFUND_FAILED": { + "title": "부분 환불 실패" + }, + "FAILED": { + "title": "환불 실패" + }, + "COMPLETED": { + "title": "환불 완료" + } + } + }, + "PaymentMethodVirtualAccountType": { + "title": "가상계좌 유형", + "description": "가상계좌 유형", + "type": "string", + "enum": [ + "FIXED", + "NORMAL" + ], + "x-portone-title": "가상계좌 유형", + "x-portone-enum": { + "FIXED": { + "title": "고정식" + }, + "NORMAL": { + "title": "회전식" + } + } + }, + "PaymentNotFoundError": { + "title": "결제 건이 존재하지 않는 경우", + "description": "결제 건이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 건이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "PaymentNotPaidError": { + "title": "결제가 완료되지 않은 경우", + "description": "결제가 완료되지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제가 완료되지 않은 경우", + "x-portone-status-code": 409 + }, + "PaymentNotWaitingForDepositError": { + "title": "결제 건이 입금 대기 상태가 아닌 경우", + "description": "결제 건이 입금 대기 상태가 아닌 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 건이 입금 대기 상태가 아닌 경우", + "x-portone-status-code": 409 + }, + "PaymentProduct": { + "title": "상품 정보", + "description": "상품 정보", + "type": "object", + "required": [ + "id", + "name", + "amount", + "quantity" + ], + "properties": { + "id": { + "type": "string", + "title": "상품 고유 식별자", + "description": "고객사가 직접 부여한 식별자입니다." + }, + "name": { + "type": "string", + "title": "상품명" + }, + "tag": { + "type": "string", + "title": "상품 태그", + "description": "카테고리 등으로 활용될 수 있습니다." + }, + "code": { + "type": "string", + "title": "상품 코드" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "상품 단위가격" + }, + "quantity": { + "type": "integer", + "format": "int32", + "title": "주문 수량" + } + }, + "x-portone-title": "상품 정보" + }, + "PaymentProductType": { + "title": "상품 유형", + "description": "상품 유형", + "type": "string", + "enum": [ + "PHYSICAL", + "DIGITAL" + ], + "x-portone-title": "상품 유형", + "x-portone-enum": { + "PHYSICAL": { + "title": "실물 상품" + }, + "DIGITAL": { + "title": "디지털 상품", + "description": "서비스, 온라인 상품 등 실물이 존재하지 않는 무형의 상품을 의미합니다." + } + } + }, + "PaymentReconciliation": { + "title": "PaymentReconciliation", + "oneOf": [ + { + "$ref": "#/components/schemas/PaymentReconciliationIncomparable" + }, + { + "$ref": "#/components/schemas/PaymentReconciliationMatched" + }, + { + "$ref": "#/components/schemas/PaymentReconciliationNotCollected" + }, + { + "$ref": "#/components/schemas/PaymentReconciliationNotMatched" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "INCOMPARABLE": "#/components/schemas/PaymentReconciliationIncomparable", + "MATCHED": "#/components/schemas/PaymentReconciliationMatched", + "NOT_COLLECTED": "#/components/schemas/PaymentReconciliationNotCollected", + "NOT_MATCHED": "#/components/schemas/PaymentReconciliationNotMatched" + } + }, + "x-portone-discriminator": { + "MATCHED": {}, + "NOT_MATCHED": {}, + "INCOMPARABLE": {}, + "NOT_COLLECTED": {} + } + }, + "PaymentReconciliationActionType": { + "title": "거래상태", + "description": "거래상태", + "type": "string", + "enum": [ + "APPROVAL", + "FULL_CANCEL", + "PARTIAL_CANCEL", + "UNCLASSIFIED_CANCEL" + ], + "x-portone-title": "거래상태", + "x-portone-enum": { + "APPROVAL": { + "title": "결제 승인" + }, + "FULL_CANCEL": { + "title": "전체 취소" + }, + "PARTIAL_CANCEL": { + "title": "부분 취소" + }, + "UNCLASSIFIED_CANCEL": { + "title": "상태 모르는 취소" + } + } + }, + "PaymentReconciliationColumn": { + "title": "거래대사 엑셀파일 필드", + "description": "거래대사 엑셀파일 필드\n\n중복으로 필드를 선택 가능합니다", + "type": "string", + "enum": [ + "RECONCILIATION_STATUS", + "ACTION_TYPE", + "RECONCILIATION_PG_SPECIFIER", + "STORE_ID", + "PAYMENT_AMOUNT", + "TAX_FREE_AMOUNT", + "VAT_AMOUNT", + "SUPPLY_AMOUNT", + "ANOMALY_AMOUNT", + "PAYMENT_CURRENCY", + "PAYMENT_DATETIME", + "IS_ESCROW", + "PAYMENT_METHOD_TYPE", + "PAYMENT_METHOD_CARD_ISSUER", + "PAYMENT_METHOD_CARD_ACQUIRER", + "PAYMENT_METHOD_CARD_APPROVAL_NUMBER", + "PAYMENT_METHOD_GIFT_CERTIFICATE_APPROVAL_NUMBER", + "PAYMENT_METHOD_GIFT_CERTIFICATE_TYPE", + "PAYMENT_METHOD_MOBILE_CARRIER", + "PAYMENT_METHOD_TRANSFER_BANK", + "PAYMENT_METHOD_TRANSFER_APPROVAL_NUMBER", + "PAYMENT_METHOD_VIRTUAL_ACCOUNT_BANK", + "PAYMENT_METHOD_VIRTUAL_ACCOUNT_APPROVAL_NUMBER", + "PAYMENT_METHOD_EASY_PAY_METHOD", + "PAYMENT_METHOD_ETC_NAME", + "PG_TX_ID", + "INSTALLMENT_MONTH", + "PAYMENT_ID", + "TRANSACTION_ID", + "ORDER_NAME", + "NOT_MATCHED_REASONS", + "SETTLEMENT_FEE", + "SETTLEMENT_FEE_VAT", + "SETTLEMENT_AMOUNT", + "SETTLEMENT_CURRENCY", + "SETTLEMENT_DATE" + ], + "x-portone-title": "거래대사 엑셀파일 필드", + "x-portone-description": "중복으로 필드를 선택 가능합니다", + "x-portone-enum": { + "SETTLEMENT_CURRENCY": { + "title": "정산 통화 필드" + }, + "PAYMENT_METHOD_MOBILE_CARRIER": { + "title": "모바일 결제 통신사 필드" + }, + "PAYMENT_METHOD_CARD_ISSUER": { + "title": "카드 발급사 필드" + }, + "PAYMENT_DATETIME": { + "title": "결제 발생 시간 필드" + }, + "VAT_AMOUNT": { + "title": "부가세 필드" + }, + "PAYMENT_METHOD_GIFT_CERTIFICATE_TYPE": { + "title": "상품권 타입 필드" + }, + "PG_TX_ID": { + "title": "PG사 결제 아이디 필드" + }, + "SETTLEMENT_AMOUNT": { + "title": "정산금액 필드" + }, + "TAX_FREE_AMOUNT": { + "title": "면세 금액 필드" + }, + "PAYMENT_METHOD_CARD_ACQUIRER": { + "title": "카드 매입사 필드" + }, + "SUPPLY_AMOUNT": { + "title": "공급가액 필드" + }, + "PAYMENT_AMOUNT": { + "title": "결제 금액 필드" + }, + "PAYMENT_CURRENCY": { + "title": "결제 통화 필드" + }, + "PAYMENT_ID": { + "title": "고객사 거래내역 아이디 필드" + }, + "PAYMENT_METHOD_EASY_PAY_METHOD": { + "title": "간편결제 수단 필드" + }, + "PAYMENT_METHOD_CARD_APPROVAL_NUMBER": { + "title": "카드 승인번호 필드" + }, + "RECONCILIATION_PG_SPECIFIER": { + "title": "대사용 PG사 가맹점 식별자 필드" + }, + "ACTION_TYPE": { + "title": "거래 상태 필드" + }, + "SETTLEMENT_FEE_VAT": { + "title": "PG 수수료 부가세 필드" + }, + "PAYMENT_METHOD_TRANSFER_APPROVAL_NUMBER": { + "title": "계좌이체 승인번호 필드" + }, + "IS_ESCROW": { + "title": "에스크로건 필드" + }, + "ANOMALY_AMOUNT": { + "title": "거래이상 금액 필드" + }, + "PAYMENT_METHOD_GIFT_CERTIFICATE_APPROVAL_NUMBER": { + "title": "상품권 승인번호 필드" + }, + "TRANSACTION_ID": { + "title": "포트원 결제 아이디 필드" + }, + "SETTLEMENT_FEE": { + "title": "PG 수수료 필드" + }, + "PAYMENT_METHOD_ETC_NAME": { + "title": "기타결제 수단 이름 필드" + }, + "NOT_MATCHED_REASONS": { + "title": "거래대사 불일치 필드" + }, + "RECONCILIATION_STATUS": { + "title": "거래대사 상태 필드" + }, + "PAYMENT_METHOD_TYPE": { + "title": "결제 수단 필드" + }, + "PAYMENT_METHOD_TRANSFER_BANK": { + "title": "계좌이체 은행 필드" + }, + "INSTALLMENT_MONTH": { + "title": "할부 개월 수 필드" + }, + "ORDER_NAME": { + "title": "결제 주문명 필드" + }, + "PAYMENT_METHOD_VIRTUAL_ACCOUNT_BANK": { + "title": "가상계좌 은행 필드" + }, + "SETTLEMENT_DATE": { + "title": "정산일 필드" + }, + "STORE_ID": { + "title": "포트원 상점 아이디 필드" + }, + "PAYMENT_METHOD_VIRTUAL_ACCOUNT_APPROVAL_NUMBER": { + "title": "가상계좌 승인번호 필드" + } + } + }, + "PaymentReconciliationExcelFileFilterInput": { + "title": "거래대사 엑셀 파일 다운로드 필터 목록", + "description": "거래대사 엑셀 파일 다운로드 필터 목록\n\n필드 중복으로 적용됩니다.", + "type": "object", + "properties": { + "storeIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "거래대사 하위 가맹점 아이디 필터", + "description": "storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요." + }, + "pgSpecifiers": { + "title": "거래대사 결제사(PG) 식별자 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier" + } + }, + "paymentMethodTypes": { + "title": "거래대사 결제 수단 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReconciliationPaymentMethodType" + } + }, + "paymentReconciliationStatuses": { + "title": "거래대사 대사 상태 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationStatus" + } + }, + "actionTypes": { + "title": "거래대사 결제 상태 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationActionType" + } + }, + "transactionCurrencies": { + "title": "거래대사 결제 통화 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + }, + "settlementCurrencies": { + "title": "거래대사 정산 통화 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + } + }, + "x-portone-title": "거래대사 엑셀 파일 다운로드 필터 목록", + "x-portone-description": "필드 중복으로 적용됩니다." + }, + "PaymentReconciliationIncomparable": { + "title": "PaymentReconciliationIncomparable", + "type": "object", + "required": [ + "status", + "id", + "graphqlId", + "actionType", + "pgSpecifier", + "merchantId", + "merchantGraphqlId", + "paymentAmount", + "taxFreeAmount", + "vatAmount", + "supplyAmount", + "anomalyAmount", + "paidAt", + "paymentCurrency", + "paymentMethod", + "pgTxId" + ], + "properties": { + "status": { + "type": "string" + }, + "id": { + "type": "string", + "title": "거래대사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/PaymentReconciliationActionType" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "merchantGraphqlId": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세가액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "supplyAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "anomalyAmount": { + "type": "integer", + "format": "int64", + "title": "거래이상 금액" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제일" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 여부" + }, + "paymentCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "결제 통화" + }, + "paymentMethod": { + "$ref": "#/components/schemas/ReconciliationPaymentMethod", + "title": "결제수단 상세 정보" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "settlement": { + "$ref": "#/components/schemas/Settlement", + "title": "거래건의 정산 정보" + } + } + }, + "PaymentReconciliationMatched": { + "title": "PaymentReconciliationMatched", + "type": "object", + "required": [ + "status", + "id", + "graphqlId", + "actionType", + "pgSpecifier", + "merchantId", + "merchantGraphqlId", + "paymentAmount", + "taxFreeAmount", + "vatAmount", + "supplyAmount", + "paidAt", + "paymentCurrency", + "paymentMethod", + "pgTxId", + "transactionId", + "paymentId", + "orderName", + "storeId", + "storeGraphqlId" + ], + "properties": { + "status": { + "type": "string" + }, + "id": { + "type": "string", + "title": "거래대사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/PaymentReconciliationActionType" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "merchantGraphqlId": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세가액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "supplyAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제일" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 여부" + }, + "paymentCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "결제 통화" + }, + "paymentMethod": { + "$ref": "#/components/schemas/ReconciliationPaymentMethod", + "title": "결제수단 상세 정보" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "settlement": { + "$ref": "#/components/schemas/Settlement", + "title": "거래건의 정산 정보" + }, + "transactionId": { + "type": "string", + "title": "포트원 결제 아이디" + }, + "paymentId": { + "type": "string", + "title": "고객사 결제 아이디" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "storeId": { + "type": "string", + "title": "하위 가맹점 아이디" + }, + "storeGraphqlId": { + "type": "string" + } + } + }, + "PaymentReconciliationNotCollected": { + "title": "PaymentReconciliationNotCollected", + "type": "object", + "required": [ + "status", + "id", + "graphqlId", + "actionType", + "pgSpecifier", + "merchantId", + "merchantGraphqlId", + "paymentAmount", + "taxFreeAmount", + "vatAmount", + "supplyAmount", + "anomalyAmount", + "paidAt", + "paymentCurrency", + "paymentMethod" + ], + "properties": { + "status": { + "type": "string" + }, + "id": { + "type": "string", + "title": "거래대사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/PaymentReconciliationActionType" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "merchantGraphqlId": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세가액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "supplyAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "anomalyAmount": { + "type": "integer", + "format": "int64", + "title": "거래이상 금액" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제일" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 여부" + }, + "paymentCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "결제 통화" + }, + "paymentMethod": { + "$ref": "#/components/schemas/ReconciliationPaymentMethod", + "title": "결제수단 상세 정보" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "settlement": { + "$ref": "#/components/schemas/Settlement", + "title": "거래건의 정산 정보" + }, + "transactionId": { + "type": "string", + "title": "포트원 결제 아이디" + }, + "paymentId": { + "type": "string", + "title": "고객사 결제 아이디" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "storeId": { + "type": "string", + "title": "하위 가맹점 아이디" + }, + "storeGraphqlId": { + "type": "string" + } + } + }, + "PaymentReconciliationNotMatched": { + "title": "PaymentReconciliationNotMatched", + "type": "object", + "required": [ + "status", + "id", + "graphqlId", + "actionType", + "pgSpecifier", + "merchantId", + "merchantGraphqlId", + "paymentAmount", + "taxFreeAmount", + "vatAmount", + "supplyAmount", + "anomalyAmount", + "paidAt", + "paymentCurrency", + "paymentMethod", + "transactionId", + "paymentId", + "pgTxId", + "notMatchedReasons", + "orderName", + "storeId", + "storeGraphqlId" + ], + "properties": { + "status": { + "type": "string" + }, + "id": { + "type": "string", + "title": "거래대사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/PaymentReconciliationActionType" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "merchantGraphqlId": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세가액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "supplyAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "anomalyAmount": { + "type": "integer", + "format": "int64", + "title": "거래이상 금액" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제일" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 여부" + }, + "paymentCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "결제 통화" + }, + "paymentMethod": { + "$ref": "#/components/schemas/ReconciliationPaymentMethod", + "title": "결제수단 상세 정보" + }, + "transactionId": { + "type": "string", + "title": "포트원 결제 아이디" + }, + "paymentId": { + "type": "string", + "title": "고객사 결제 아이디" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + }, + "settlement": { + "$ref": "#/components/schemas/Settlement", + "title": "거래건의 정산 정보" + }, + "notMatchedReasons": { + "title": "거래대사 불일치 사유", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationNotMatchedReason" + } + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "storeId": { + "type": "string", + "title": "하위 가맹점 아이디" + }, + "storeGraphqlId": { + "type": "string" + } + } + }, + "PaymentReconciliationNotMatchedReason": { + "title": "거래대사 매치 실패 사유", + "description": "거래대사 매치 실패 사유", + "type": "string", + "enum": [ + "PAYMENT_AMOUNT_NOT_MATCHED", + "TAX_FREE_AMOUNT_NOT_MATCHED", + "VAT_AMOUNT_NOT_MATCHED", + "ESCROW_NOT_MATCHED", + "INSTALLMENT_MONTH_NOT_MATCHED", + "PAYMENT_DATE_NOT_MATCHED" + ], + "x-portone-title": "거래대사 매치 실패 사유", + "x-portone-enum": { + "ESCROW_NOT_MATCHED": { + "title": "에스크로 여부 불일치" + }, + "INSTALLMENT_MONTH_NOT_MATCHED": { + "title": "할부 개월 수 불일치" + }, + "TAX_FREE_AMOUNT_NOT_MATCHED": { + "title": "면세 금액 불일치" + }, + "PAYMENT_AMOUNT_NOT_MATCHED": { + "title": "결제 금액 불일치" + }, + "PAYMENT_DATE_NOT_MATCHED": { + "title": "결제일자 불일치" + }, + "VAT_AMOUNT_NOT_MATCHED": { + "title": "부가세 금액 불일치" + } + } + }, + "PaymentReconciliationOrderInput": { + "title": "거래대사 거래 건 별 조회 정렬 조건", + "description": "거래대사 거래 건 별 조회 정렬 조건\n\n필드중 하나만 명시하여야 합니다", + "type": "object", + "properties": { + "settlementDate": { + "$ref": "#/components/schemas/SortOrder", + "title": "정산일 기준 정렬" + }, + "transactionDate": { + "$ref": "#/components/schemas/SortOrder", + "title": "결제일 기준 정렬" + }, + "transactionAmount": { + "$ref": "#/components/schemas/SortOrder", + "title": "결제 금액 기준 정렬" + }, + "anomalyAmount": { + "$ref": "#/components/schemas/SortOrder", + "title": "거래이상 금액 기준 정렬" + }, + "settlementAmount": { + "$ref": "#/components/schemas/SortOrder", + "title": "정산 금액 기준 정렬" + } + }, + "x-portone-title": "거래대사 거래 건 별 조회 정렬 조건", + "x-portone-description": "필드중 하나만 명시하여야 합니다" + }, + "PaymentReconciliationSearchConditionInput": { + "title": "거래대사 거래내역 검색용 필드", + "description": "거래대사 거래내역 검색용 필드\n\n각 필드 중 하나만 적용 됩니다.", + "type": "object", + "properties": { + "paymentId": { + "type": "string", + "title": "고객사 거래 아이디 필드" + }, + "transactionId": { + "type": "string", + "title": "포트원 결제 아이디 필드" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디 필드" + }, + "orderName": { + "type": "string", + "title": "주문명 필드" + } + }, + "x-portone-title": "거래대사 거래내역 검색용 필드", + "x-portone-description": "각 필드 중 하나만 적용 됩니다." + }, + "PaymentReconciliationSettlementSummary": { + "title": "거래대사 정산내역 일별 요약", + "description": "거래대사 정산내역 일별 요약", + "type": "object", + "required": [ + "date", + "settlementCurrency", + "transactionCurrency", + "aggregate", + "details" + ], + "properties": { + "date": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "transactionCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "결제 통화" + }, + "aggregate": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryAggregate", + "title": "정산내역 합산 데이터" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummaryDetail" + }, + "title": "정산내역 일별 상세 데이터 목록" + } + }, + "x-portone-title": "거래대사 정산내역 일별 요약" + }, + "PaymentReconciliationSettlementSummaryAggregate": { + "title": "PaymentReconciliationSettlementSummaryAggregate", + "type": "object", + "required": [ + "settlementAmount", + "settlementCount", + "feeAmount", + "feeVatAmount", + "cancelAmount", + "cancelCount", + "transactionAmount" + ], + "properties": { + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "settlementCount": { + "type": "integer", + "format": "int64", + "title": "정산 건 수" + }, + "feeAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료" + }, + "feeVatAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료 부가세" + }, + "cancelAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액" + }, + "cancelCount": { + "type": "integer", + "format": "int64", + "title": "취소 건 수" + }, + "transactionAmount": { + "type": "integer", + "format": "int64", + "title": "거래 합계 금액" + } + } + }, + "PaymentReconciliationSettlementSummaryColumn": { + "title": "거래대사 정산 요약 내역 엑셀파일 필드", + "description": "거래대사 정산 요약 내역 엑셀파일 필드", + "type": "string", + "enum": [ + "SETTLEMENT_DATE", + "STORE_ID", + "RECONCILIATION_PG_SPECIFIER", + "SETTLEMENT_COUNT", + "SETTLEMENT_AMOUNT", + "SETTLEMENT_FEE", + "SETTLEMENT_FEE_VAT", + "CANCEL_COUNT", + "CANCEL_AMOUNT", + "TRANSACTION_AMOUNT" + ], + "x-portone-title": "거래대사 정산 요약 내역 엑셀파일 필드", + "x-portone-enum": { + "CANCEL_AMOUNT": { + "title": "취소금액 필드" + }, + "CANCEL_COUNT": { + "title": "취소건수 필드" + }, + "SETTLEMENT_FEE": { + "title": "PG 수수료 필드" + }, + "TRANSACTION_AMOUNT": { + "title": "거래금액 필드" + }, + "SETTLEMENT_DATE": { + "title": "정산일 필드" + }, + "STORE_ID": { + "title": "포트원 상점 아이디 필드" + }, + "SETTLEMENT_AMOUNT": { + "title": "정산금액 필드" + }, + "SETTLEMENT_COUNT": { + "title": "정산건수 필드" + }, + "RECONCILIATION_PG_SPECIFIER": { + "title": "대사용 PG사 가맹점 식별자 필드" + }, + "SETTLEMENT_FEE_VAT": { + "title": "PG 수수료 부가세 필드" + } + } + }, + "PaymentReconciliationSettlementSummaryDetail": { + "title": "PaymentReconciliationSettlementSummaryDetail", + "type": "object", + "required": [ + "pgSpecifier", + "settlementAmount", + "settlementCount", + "feeAmount", + "feeVatAmount", + "cancelAmount", + "cancelCount", + "transactionAmount" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 ID" + }, + "storeGraphqlId": { + "type": "string" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "settlementCount": { + "type": "integer", + "format": "int64", + "title": "정산 건 수" + }, + "feeAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료" + }, + "feeVatAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료 부가세" + }, + "cancelAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액" + }, + "cancelCount": { + "type": "integer", + "format": "int64", + "title": "취소 건 수" + }, + "transactionAmount": { + "type": "integer", + "format": "int64", + "title": "거래 합계 금액" + } + } + }, + "PaymentReconciliationSettlementSummaryExcelFileFilterInput": { + "title": "거래대사 정산 요약 엑셀 파일 필터", + "description": "거래대사 정산 요약 엑셀 파일 필터\n\n필드 중복으로 적용됩니다.", + "type": "object", + "properties": { + "pgSpecifiers": { + "title": "PG사 가맹점 식별자 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier" + } + }, + "storeIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "하위 상점 아이디 필터", + "description": "storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요." + } + }, + "x-portone-title": "거래대사 정산 요약 엑셀 파일 필터", + "x-portone-description": "필드 중복으로 적용됩니다." + }, + "PaymentReconciliationSettlementSummaryFilterInput": { + "title": "거래대사 정산 요약 내역 필터", + "description": "거래대사 정산 요약 내역 필터", + "type": "object", + "properties": { + "pgSpecifiers": { + "title": "PG사 가맹점 식별자 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier" + } + }, + "storeIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "하위 상점 아이디 필터" + } + }, + "x-portone-title": "거래대사 정산 요약 내역 필터" + }, + "PaymentReconciliationSettlementSummaryWithCursor": { + "title": "PaymentReconciliationSettlementSummaryWithCursor", + "type": "object", + "required": [ + "item", + "cursor" + ], + "properties": { + "item": { + "$ref": "#/components/schemas/PaymentReconciliationSettlementSummary" + }, + "cursor": { + "type": "string" + } + } + }, + "PaymentReconciliationStatus": { + "title": "결제 건의 대사 상태", + "description": "결제 건의 대사 상태", + "type": "string", + "enum": [ + "MATCHED", + "NOT_MATCHED", + "INCOMPARABLE", + "NOT_COLLECTED" + ], + "x-portone-title": "결제 건의 대사 상태", + "x-portone-enum": { + "MATCHED": { + "title": "대사 매칭 성공 상태" + }, + "NOT_MATCHED": { + "title": "대사 매칭 실패 상태" + }, + "INCOMPARABLE": { + "title": "대사 불가능 상태" + }, + "NOT_COLLECTED": { + "title": "PG사 결제 정보가 수집되지 않은 상태" + } + } + }, + "PaymentReconciliationTransactionSummary": { + "title": "거래대사 거래내역 일별 요약", + "description": "거래대사 거래내역 일별 요약", + "type": "object", + "required": [ + "date", + "currency", + "aggregate", + "details" + ], + "properties": { + "date": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "거래일" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "거래 통화" + }, + "aggregate": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummaryAggregate", + "title": "거래내역 합산 데이터" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummaryDetail" + }, + "title": "거래내역 상세 데이터 목록" + } + }, + "x-portone-title": "거래대사 거래내역 일별 요약" + }, + "PaymentReconciliationTransactionSummaryAggregate": { + "title": "PaymentReconciliationTransactionSummaryAggregate", + "type": "object", + "required": [ + "transactionAmount", + "transactionCount", + "cancelAmount", + "cancelCount", + "anomalyAmount", + "anomalyCount", + "notMatchedCount", + "incomparableCount" + ], + "properties": { + "transactionAmount": { + "type": "integer", + "format": "int64", + "title": "거래 금액" + }, + "transactionCount": { + "type": "integer", + "format": "int64", + "title": "거래 건 수" + }, + "cancelAmount": { + "type": "integer", + "format": "int64", + "title": "거래 취소 금액" + }, + "cancelCount": { + "type": "integer", + "format": "int64", + "title": "거래 취소 건 수" + }, + "anomalyAmount": { + "type": "integer", + "format": "int64", + "title": "거래 이상 금액" + }, + "anomalyCount": { + "type": "integer", + "format": "int64", + "title": "거래 이상 건 수" + }, + "notMatchedCount": { + "type": "integer", + "format": "int64", + "title": "대사불일치 건 수" + }, + "incomparableCount": { + "type": "integer", + "format": "int64", + "title": "대사불능 건 수" + } + } + }, + "PaymentReconciliationTransactionSummaryColumn": { + "title": "거래대사 정산 요약 내역 엑셀파일 필드", + "description": "거래대사 정산 요약 내역 엑셀파일 필드", + "type": "string", + "enum": [ + "TRANSACTION_DATE", + "RECONCILIATION_STATUS", + "STORE_ID", + "RECONCILIATION_PG_SPECIFIER", + "TRANSACTION_COUNT", + "TRANSACTION_AMOUNT", + "CANCEL_COUNT", + "CANCEL_AMOUNT", + "ANOMALY_COUNT", + "ANOMALY_AMOUNT" + ], + "x-portone-title": "거래대사 정산 요약 내역 엑셀파일 필드", + "x-portone-enum": { + "CANCEL_AMOUNT": { + "title": "취소 금액 필드" + }, + "TRANSACTION_COUNT": { + "title": "거래 건수 필드" + }, + "RECONCILIATION_PG_SPECIFIER": { + "title": "대사용 PG사 가맹점 식별자 필드" + }, + "TRANSACTION_DATE": { + "title": "거래일 필드" + }, + "CANCEL_COUNT": { + "title": "취소 건수 필드" + }, + "ANOMALY_AMOUNT": { + "title": "거래이상 금액 필드" + }, + "RECONCILIATION_STATUS": { + "title": "대사상태 필드" + }, + "TRANSACTION_AMOUNT": { + "title": "거래 금액 필드" + }, + "STORE_ID": { + "title": "포트원 상점 아이디 필드" + }, + "ANOMALY_COUNT": { + "title": "거래이상 건수 필드" + } + } + }, + "PaymentReconciliationTransactionSummaryDetail": { + "title": "PaymentReconciliationTransactionSummaryDetail", + "type": "object", + "required": [ + "pgSpecifier", + "transactionAmount", + "transactionCount", + "cancelAmount", + "cancelCount", + "anomalyAmount", + "anomalyCount", + "notMatchedCount", + "incomparableCount" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 ID" + }, + "storeGraphqlId": { + "type": "string" + }, + "pgSpecifier": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier", + "title": "대사용 PG사 가맹점 식별자" + }, + "transactionAmount": { + "type": "integer", + "format": "int64", + "title": "거래 금액" + }, + "transactionCount": { + "type": "integer", + "format": "int64", + "title": "거래 건 수" + }, + "cancelAmount": { + "type": "integer", + "format": "int64", + "title": "거래 취소 금액" + }, + "cancelCount": { + "type": "integer", + "format": "int64", + "title": "거래 취소 건 수" + }, + "anomalyAmount": { + "type": "integer", + "format": "int64", + "title": "거래 이상 금액" + }, + "anomalyCount": { + "type": "integer", + "format": "int64", + "title": "거래 이상 건 수" + }, + "notMatchedCount": { + "type": "integer", + "format": "int64", + "title": "대사불일치 건 수" + }, + "incomparableCount": { + "type": "integer", + "format": "int64", + "title": "대사불능 건 수" + } + } + }, + "PaymentReconciliationTransactionSummaryExcelFilterInput": { + "title": "거래대사 거래 요약 엑셀 파일 필터", + "description": "거래대사 거래 요약 엑셀 파일 필터\n\n필드 중복으로 적용됩니다.", + "type": "object", + "properties": { + "reconciliationStatuses": { + "title": "대사 상태 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentReconciliationStatus" + } + }, + "pgSpecifiers": { + "title": "대사용 PG사 가맹점 식별자 필터", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReconciliationPgSpecifier" + } + }, + "storeIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "하위 상점 아이디 필터", + "description": "storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요." + } + }, + "x-portone-title": "거래대사 거래 요약 엑셀 파일 필터", + "x-portone-description": "필드 중복으로 적용됩니다." + }, + "PaymentReconciliationTransactionSummaryWithCursor": { + "title": "PaymentReconciliationTransactionSummaryWithCursor", + "type": "object", + "required": [ + "item", + "cursor" + ], + "properties": { + "item": { + "$ref": "#/components/schemas/PaymentReconciliationTransactionSummary" + }, + "cursor": { + "type": "string" + } + } + }, + "PaymentReconciliationWithCursor": { + "title": "PaymentReconciliationWithCursor", + "type": "object", + "required": [ + "item", + "cursor" + ], + "properties": { + "item": { + "$ref": "#/components/schemas/PaymentReconciliation" + }, + "cursor": { + "type": "string" + } + } + }, + "PaymentSchedule": { + "title": "결제 예약 건", + "description": "결제 예약 건", + "oneOf": [ + { + "$ref": "#/components/schemas/FailedPaymentSchedule" + }, + { + "$ref": "#/components/schemas/PendingPaymentSchedule" + }, + { + "$ref": "#/components/schemas/RevokedPaymentSchedule" + }, + { + "$ref": "#/components/schemas/ScheduledPaymentSchedule" + }, + { + "$ref": "#/components/schemas/StartedPaymentSchedule" + }, + { + "$ref": "#/components/schemas/SucceededPaymentSchedule" + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "FAILED": "#/components/schemas/FailedPaymentSchedule", + "PENDING": "#/components/schemas/PendingPaymentSchedule", + "REVOKED": "#/components/schemas/RevokedPaymentSchedule", + "SCHEDULED": "#/components/schemas/ScheduledPaymentSchedule", + "STARTED": "#/components/schemas/StartedPaymentSchedule", + "SUCCEEDED": "#/components/schemas/SucceededPaymentSchedule" + } + }, + "x-portone-title": "결제 예약 건", + "x-portone-discriminator": { + "SCHEDULED": { + "title": "결제 예약 완료" + }, + "STARTED": { + "title": "결제 시작" + }, + "PENDING": { + "title": "결제 대기" + }, + "FAILED": { + "title": "결제 실패" + }, + "REVOKED": { + "title": "취소된 결제 예약" + }, + "SUCCEEDED": { + "title": "결제 성공" + } + } + }, + "PaymentScheduleAlreadyExistsError": { + "title": "결제 예약건이 이미 존재하는 경우", + "description": "결제 예약건이 이미 존재하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 예약건이 이미 존재하는 경우", + "x-portone-status-code": 409 + }, + "PaymentScheduleAlreadyProcessedError": { + "title": "결제 예약건이 이미 처리된 경우", + "description": "결제 예약건이 이미 처리된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 예약건이 이미 처리된 경우", + "x-portone-status-code": 409 + }, + "PaymentScheduleAlreadyRevokedError": { + "title": "결제 예약건이 이미 취소된 경우", + "description": "결제 예약건이 이미 취소된 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 예약건이 이미 취소된 경우", + "x-portone-status-code": 409 + }, + "PaymentScheduleFilterInput": { + "title": "결제 예약 건 다건 조회를 위한 입력 정보", + "description": "결제 예약 건 다건 조회를 위한 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점 조건 범위의 시작", + "description": "값을 입력하지 않으면 파라미터 end의 90일 전으로 설정됩니다." + }, + "until": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점 조건 범위의 끝", + "description": "값을 입력하지 않으면 현재 시점으로 설정됩니다." + }, + "status": { + "title": "결제 예약 건 상태 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentScheduleStatus" + }, + "description": "값을 입력하지 않으면 상태 필터링이 적용되지 않습니다." + } + }, + "x-portone-title": "결제 예약 건 다건 조회를 위한 입력 정보" + }, + "PaymentScheduleNotFoundError": { + "title": "결제 예약건이 존재하지 않는 경우", + "description": "결제 예약건이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제 예약건이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "PaymentScheduleSortBy": { + "title": "결제 예약 건 정렬 기준", + "description": "결제 예약 건 정렬 기준", + "type": "string", + "enum": [ + "CREATED_AT", + "TIME_TO_PAY", + "COMPLETED_AT" + ], + "x-portone-title": "결제 예약 건 정렬 기준", + "x-portone-enum": { + "CREATED_AT": { + "title": "결제 예약 생성 시각" + }, + "TIME_TO_PAY": { + "title": "결제 예정 시각" + }, + "COMPLETED_AT": { + "title": "예약 결제 시도(성공 / 실패) 시각" + }, + "STATUS_TIMESTAMP": { + "title": "결제 시도 또는 예정 시각. 해지 건은 해지 시각." + } + } + }, + "PaymentScheduleSortInput": { + "title": "결제 예약 건 다건 조회 시 정렬 조건", + "description": "결제 예약 건 다건 조회 시 정렬 조건", + "type": "object", + "properties": { + "by": { + "$ref": "#/components/schemas/PaymentScheduleSortBy", + "title": "정렬 기준 필드", + "description": "어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, TIME_TO_PAY가 기본값으로 설정됩니다." + }, + "order": { + "$ref": "#/components/schemas/SortOrder", + "title": "정렬 순서", + "description": "어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다." + } + }, + "x-portone-title": "결제 예약 건 다건 조회 시 정렬 조건" + }, + "PaymentScheduleStatus": { + "title": "결제 예약 건 상태", + "description": "결제 예약 건 상태", + "type": "string", + "enum": [ + "SCHEDULED", + "STARTED", + "SUCCEEDED", + "FAILED", + "REVOKED", + "PENDING" + ], + "x-portone-title": "결제 예약 건 상태", + "x-portone-enum": { + "SCHEDULED": { + "title": "예약 완료" + }, + "STARTED": { + "title": "결제 시작" + }, + "PENDING": { + "title": "결제 승인 대기" + }, + "FAILED": { + "title": "결제 실패" + }, + "REVOKED": { + "title": "취소된 결제 예약" + }, + "SUCCEEDED": { + "title": "결제 성공" + } + } + }, + "PaymentScheduleSummary": { + "title": "결제 예약 건", + "description": "결제 예약 건", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + } + }, + "x-portone-title": "결제 예약 건" + }, + "PaymentSortBy": { + "title": "결제 건 정렬 기준", + "description": "결제 건 정렬 기준", + "type": "string", + "enum": [ + "REQUESTED_AT", + "STATUS_CHANGED_AT" + ], + "x-portone-title": "결제 건 정렬 기준", + "x-portone-enum": { + "REQUESTED_AT": { + "title": "결제 요청 시점" + }, + "STATUS_CHANGED_AT": { + "title": "상태 변경 시점" + } + } + }, + "PaymentStatus": { + "title": "결제 건 상태", + "description": "결제 건 상태", + "type": "string", + "enum": [ + "READY", + "PENDING", + "VIRTUAL_ACCOUNT_ISSUED", + "PAID", + "FAILED", + "PARTIAL_CANCELLED", + "CANCELLED" + ], + "x-portone-title": "결제 건 상태", + "x-portone-enum": { + "PENDING": {}, + "VIRTUAL_ACCOUNT_ISSUED": {}, + "PAID": {}, + "READY": {}, + "FAILED": {}, + "CANCELLED": {}, + "PARTIAL_CANCELLED": {} + } + }, + "PaymentTextSearch": { + "title": "통합검색 입력 정보", + "description": "통합검색 입력 정보", + "type": "object", + "required": [ + "field", + "value" + ], + "properties": { + "field": { + "$ref": "#/components/schemas/PaymentTextSearchField" + }, + "value": { + "type": "string" + } + }, + "x-portone-title": "통합검색 입력 정보" + }, + "PaymentTextSearchField": { + "title": "통합검색 항목", + "description": "통합검색 항목", + "type": "string", + "enum": [ + "ALL", + "PAYMENT_ID", + "TX_ID", + "SCHEDULE_ID", + "FAIL_REASON", + "CARD_ISSUER", + "CARD_ACQUIRER", + "CARD_BIN", + "CARD_NUMBER", + "CARD_APPROVAL_NUMBER", + "CARD_RECEIPT_NAME", + "CARD_INSTALLMENT", + "TRANS_BANK", + "VIRTUAL_ACCOUNT_HOLDER_NAME", + "VIRTUAL_ACCOUNT_BANK", + "VIRTUAL_ACCOUNT_NUMBER", + "PG_MERCHANT_ID", + "PG_TX_ID", + "PG_RECEIPT_ID", + "RECEIPT_APPROVAL_NUMBER", + "PG_CANCELLATION_ID", + "CANCEL_REASON", + "ORDER_NAME", + "CUSTOMER_NAME", + "CUSTOMER_EMAIL", + "CUSTOMER_PHONE_NUMBER", + "CUSTOMER_ADDRESS", + "CUSTOMER_ZIPCODE", + "USER_AGENT", + "BILLING_KEY", + "PROMOTION_ID", + "GIFT_CERTIFICATION_APPROVAL_NUMBER" + ], + "x-portone-title": "통합검색 항목", + "x-portone-enum": { + "CUSTOMER_EMAIL": {}, + "USER_AGENT": {}, + "FAIL_REASON": {}, + "CARD_BIN": {}, + "PG_MERCHANT_ID": {}, + "RECEIPT_APPROVAL_NUMBER": {}, + "TRANS_BANK": {}, + "CARD_ISSUER": {}, + "VIRTUAL_ACCOUNT_BANK": {}, + "ORDER_NAME": {}, + "TX_ID": {}, + "CARD_ACQUIRER": {}, + "CANCEL_REASON": {}, + "CUSTOMER_NAME": {}, + "SCHEDULE_ID": {}, + "GIFT_CERTIFICATION_APPROVAL_NUMBER": {}, + "PROMOTION_ID": {}, + "PAYMENT_ID": {}, + "CARD_APPROVAL_NUMBER": {}, + "CUSTOMER_ADDRESS": {}, + "PG_CANCELLATION_ID": {}, + "ALL": {}, + "PG_RECEIPT_ID": {}, + "VIRTUAL_ACCOUNT_NUMBER": {}, + "CARD_NUMBER": {}, + "PG_TX_ID": {}, + "BILLING_KEY": {}, + "CUSTOMER_PHONE_NUMBER": {}, + "CARD_RECEIPT_NAME": {}, + "CARD_INSTALLMENT": {}, + "CUSTOMER_ZIPCODE": {}, + "VIRTUAL_ACCOUNT_HOLDER_NAME": {} + } + }, + "PaymentTimestampType": { + "title": "조회 시점 기준", + "description": "조회 시점 기준\n\n어떤 시점을 기준으로 조회를 할 것인지 선택합니다.\nCREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다.\nSTATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다.\nready -> 결제 요청 시점 기준\npaid -> 결제 완료 시점 기준\ncancelled -> 결제 취소 시점 기준\nfailed -> 결제 실패 시점 기준\n값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다.", + "type": "string", + "enum": [ + "CREATED_AT", + "STATUS_CHANGED_AT" + ], + "x-portone-title": "조회 시점 기준", + "x-portone-description": "어떤 시점을 기준으로 조회를 할 것인지 선택합니다.\nCREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다.\nSTATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다.\nready -> 결제 요청 시점 기준\npaid -> 결제 완료 시점 기준\ncancelled -> 결제 취소 시점 기준\nfailed -> 결제 실패 시점 기준\n값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다.", + "x-portone-enum": { + "CREATED_AT": { + "title": "결제 건 생성 시점" + }, + "STATUS_CHANGED_AT": { + "title": "상태 변경 시점" + } + } + }, + "PaymentWebhook": { + "title": "성공 웹훅 내역", + "description": "성공 웹훅 내역", + "type": "object", + "required": [ + "id", + "url" + ], + "properties": { + "paymentStatus": { + "$ref": "#/components/schemas/PaymentWebhookPaymentStatus", + "title": "웹훅 발송 시 결제 건 상태", + "description": "V1 결제 건인 경우, 값이 존재하지 않습니다." + }, + "id": { + "type": "string", + "title": "웹훅 아이디" + }, + "status": { + "$ref": "#/components/schemas/PaymentWebhookStatus", + "title": "웹훅 상태" + }, + "url": { + "type": "string", + "title": "웹훅이 발송된 url", + "description": "V1 결제 건인 경우, 값이 존재하지 않습니다." + }, + "isAsync": { + "type": "boolean", + "title": "비동기 웹훅 여부", + "description": "V1 결제 건인 경우, 값이 존재하지 않습니다." + }, + "currentExecutionCount": { + "type": "integer", + "format": "int32", + "title": "현재 발송 횟수" + }, + "maxExecutionCount": { + "type": "integer", + "format": "int32", + "title": "최대 발송 횟수" + }, + "trigger": { + "$ref": "#/components/schemas/PaymentWebhookTrigger", + "title": "웹훅 실행 맥락" + }, + "request": { + "$ref": "#/components/schemas/PaymentWebhookRequest", + "title": "웹훅 요청 정보" + }, + "response": { + "$ref": "#/components/schemas/PaymentWebhookResponse", + "title": "웹훅 응답 정보" + }, + "triggeredAt": { + "type": "string", + "format": "date-time", + "title": "웹훅 처리 시작 시점" + } + }, + "x-portone-title": "성공 웹훅 내역" + }, + "PaymentWebhookPaymentStatus": { + "title": "웹훅 발송 시 결제 건 상태", + "description": "웹훅 발송 시 결제 건 상태", + "type": "string", + "enum": [ + "READY", + "VIRTUAL_ACCOUNT_ISSUED", + "PAID", + "FAILED", + "PARTIAL_CANCELLED", + "CANCELLED", + "PAY_PENDING" + ], + "x-portone-title": "웹훅 발송 시 결제 건 상태", + "x-portone-enum": { + "VIRTUAL_ACCOUNT_ISSUED": {}, + "PAID": {}, + "READY": {}, + "FAILED": {}, + "PAY_PENDING": {}, + "CANCELLED": {}, + "PARTIAL_CANCELLED": {} + } + }, + "PaymentWebhookRequest": { + "title": "웹훅 요청 정보", + "description": "웹훅 요청 정보", + "type": "object", + "required": [ + "body" + ], + "properties": { + "header": { + "type": "string", + "title": "요청 헤더" + }, + "body": { + "type": "string", + "title": "요청 본문" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "요청 시점" + } + }, + "x-portone-title": "웹훅 요청 정보" + }, + "PaymentWebhookResponse": { + "title": "웹훅 응답 정보", + "description": "웹훅 응답 정보", + "type": "object", + "required": [ + "code", + "header", + "body", + "respondedAt" + ], + "properties": { + "code": { + "type": "string", + "title": "응답 HTTP 코드" + }, + "header": { + "type": "string", + "title": "응답 헤더" + }, + "body": { + "type": "string", + "title": "응답 본문" + }, + "respondedAt": { + "type": "string", + "format": "date-time", + "title": "응답 시점" + } + }, + "x-portone-title": "웹훅 응답 정보" + }, + "PaymentWebhookStatus": { + "title": "웹훅 전송 상태", + "description": "웹훅 전송 상태", + "type": "string", + "enum": [ + "SUCCEEDED", + "FAILED_NOT_OK_RESPONSE", + "FAILED_UNEXPECTED_ERROR" + ], + "x-portone-title": "웹훅 전송 상태", + "x-portone-enum": { + "SUCCEEDED": {}, + "FAILED_NOT_OK_RESPONSE": {}, + "FAILED_UNEXPECTED_ERROR": {} + } + }, + "PaymentWebhookTrigger": { + "title": "웹훅 실행 트리거", + "description": "웹훅 실행 트리거\n\n수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다.", + "type": "string", + "enum": [ + "MANUAL", + "VIRTUAL_ACCOUNT_DEPOSIT", + "ASYNC_CANCEL_APPROVED", + "ASYNC_CANCEL_FAILED", + "ASYNC_PAY_APPROVED", + "ASYNC_PAY_FAILED" + ], + "x-portone-title": "웹훅 실행 트리거", + "x-portone-description": "수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다.", + "x-portone-enum": { + "ASYNC_CANCEL_APPROVED": {}, + "VIRTUAL_ACCOUNT_DEPOSIT": {}, + "ASYNC_CANCEL_FAILED": {}, + "MANUAL": {}, + "ASYNC_PAY_FAILED": {}, + "ASYNC_PAY_APPROVED": {} + } + }, + "PaymentWithCursor": { + "title": "결제 건 및 커서 정보", + "description": "결제 건 및 커서 정보", + "type": "object", + "required": [ + "payment", + "cursor" + ], + "properties": { + "payment": { + "$ref": "#/components/schemas/Payment", + "title": "결제 건 정보" + }, + "cursor": { + "type": "string", + "title": "해당 결제 건의 커서 정보" + } + }, + "x-portone-title": "결제 건 및 커서 정보" + }, + "PaymentsExcelDownloadError": { + "title": "PaymentsExcelDownloadError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "PendingPaymentSchedule": { + "title": "결제 대기 상태", + "description": "결제 대기 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay", + "startedAt", + "completedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "title": "결제 시작 시점" + }, + "completedAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + } + }, + "x-portone-title": "결제 대기 상태" + }, + "PgBillingKeyIssueResponse": { + "title": "채널 별 빌링키 발급 응답", + "description": "채널 별 빌링키 발급 응답", + "oneOf": [ + { + "$ref": "#/components/schemas/FailedPgBillingKeyIssueResponse" + }, + { + "$ref": "#/components/schemas/IssuedPgBillingKeyIssueResponse" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FAILED": "#/components/schemas/FailedPgBillingKeyIssueResponse", + "ISSUED": "#/components/schemas/IssuedPgBillingKeyIssueResponse" + } + }, + "x-portone-title": "채널 별 빌링키 발급 응답", + "x-portone-discriminator": { + "ISSUED": { + "title": "발급 성공 채널 응답" + }, + "FAILED": { + "title": "발급 실패 채널 응답" + } + } + }, + "PgCompany": { + "title": "PG사", + "description": "PG사", + "type": "string", + "enum": [ + "INICIS", + "NICE", + "KCP", + "DANAL", + "TOSSPAYMENTS", + "MOBILIANS", + "KICC", + "SMARTRO", + "DAOU", + "BLUEWALNUT", + "PAYPAL", + "ALIPAY", + "EXIMBAY", + "PAYMENTWALL", + "SETTLE", + "GALAXIA", + "NAVERPAY", + "KAKAOPAY", + "SMILEPAY", + "KAKAO", + "TOSSPAY", + "CHAI", + "PAYCO", + "PAYPLE", + "SYRUP", + "KSNET", + "WELCOME", + "JTNET", + "KPN", + "HYPHEN" + ], + "x-portone-title": "PG사", + "x-portone-enum": { + "KICC": {}, + "ALIPAY": {}, + "SYRUP": {}, + "PAYCO": {}, + "NAVERPAY": {}, + "CHAI": {}, + "TOSSPAY": {}, + "INICIS": {}, + "SETTLE": {}, + "KPN": {}, + "KAKAO": {}, + "DANAL": {}, + "BLUEWALNUT": {}, + "KAKAOPAY": {}, + "EXIMBAY": {}, + "WELCOME": {}, + "SMARTRO": {}, + "SMILEPAY": {}, + "PAYMENTWALL": {}, + "GALAXIA": {}, + "DAOU": {}, + "JTNET": {}, + "PAYPAL": {}, + "MOBILIANS": {}, + "HYPHEN": {}, + "NICE": {}, + "TOSSPAYMENTS": {}, + "PAYPLE": {}, + "KSNET": {}, + "KCP": {} + } + }, + "PgProvider": { + "title": "PG사 결제 모듈", + "description": "PG사 결제 모듈", + "type": "string", + "enum": [ + "HTML5_INICIS", + "PAYPAL", + "PAYPAL_V2", + "INICIS", + "DANAL", + "NICE", + "DANAL_TPAY", + "JTNET", + "UPLUS", + "NAVERPAY", + "KAKAO", + "SETTLE", + "KCP", + "MOBILIANS", + "KAKAOPAY", + "NAVERCO", + "SYRUP", + "KICC", + "EXIMBAY", + "SMILEPAY", + "PAYCO", + "KCP_BILLING", + "ALIPAY", + "PAYPLE", + "CHAI", + "BLUEWALNUT", + "SMARTRO", + "SMARTRO_V2", + "PAYMENTWALL", + "TOSSPAYMENTS", + "KCP_QUICK", + "DAOU", + "GALAXIA", + "TOSSPAY", + "KCP_DIRECT", + "SETTLE_ACC", + "SETTLE_FIRM", + "INICIS_UNIFIED", + "KSNET", + "PINPAY", + "NICE_V2", + "TOSS_BRANDPAY", + "WELCOME", + "TOSSPAY_V2", + "INICIS_V2", + "KPN", + "KCP_V2", + "HYPHEN" + ], + "x-portone-title": "PG사 결제 모듈", + "x-portone-enum": { + "KICC": {}, + "SYRUP": {}, + "PAYCO": {}, + "KCP_BILLING": {}, + "SMARTRO_V2": {}, + "NAVERPAY": {}, + "CHAI": {}, + "NICE_V2": {}, + "PAYPAL_V2": {}, + "KPN": {}, + "KAKAO": {}, + "DANAL": {}, + "KAKAOPAY": {}, + "EXIMBAY": {}, + "ALIPAY": {}, + "HTML5_INICIS": {}, + "WELCOME": {}, + "SMARTRO": {}, + "SMILEPAY": {}, + "PAYMENTWALL": {}, + "KCP_QUICK": {}, + "NAVERCO": {}, + "DAOU": {}, + "GALAXIA": {}, + "PINPAY": {}, + "SETTLE_ACC": {}, + "TOSSPAY_V2": {}, + "TOSSPAY": {}, + "SETTLE_FIRM": {}, + "INICIS": {}, + "TOSS_BRANDPAY": {}, + "JTNET": {}, + "PAYPAL": {}, + "DANAL_TPAY": {}, + "KCP_DIRECT": {}, + "SETTLE": {}, + "MOBILIANS": {}, + "UPLUS": {}, + "HYPHEN": {}, + "INICIS_V2": {}, + "KCP_V2": {}, + "INICIS_UNIFIED": {}, + "BLUEWALNUT": {}, + "NICE": {}, + "TOSSPAYMENTS": {}, + "PAYPLE": {}, + "KSNET": {}, + "KCP": {} + } + }, + "PgProviderError": { + "title": "PG사에서 오류를 전달한 경우", + "description": "PG사에서 오류를 전달한 경우", + "type": "object", + "required": [ + "type", + "pgCode", + "pgMessage" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "pgCode": { + "type": "string" + }, + "pgMessage": { + "type": "string" + } + }, + "x-portone-title": "PG사에서 오류를 전달한 경우", + "x-portone-status-code": 502 + }, + "Platform": { + "title": "고객사의 플랫폼 기능 관련 정보", + "description": "고객사의 플랫폼 기능 관련 정보", + "type": "object", + "required": [ + "merchantId", + "graphqlId", + "roundType", + "settlementFormula", + "settlementRule" + ], + "properties": { + "merchantId": { + "type": "string", + "title": "해당 플랫폼의 고객사 아이디" + }, + "graphqlId": { + "type": "string" + }, + "roundType": { + "$ref": "#/components/schemas/PlatformRoundType", + "title": "파트너 정산금액의 소수점 처리 방식" + }, + "settlementFormula": { + "$ref": "#/components/schemas/PlatformSettlementFormula", + "title": "수수료 및 할인 분담 정책 관련 계산식" + }, + "settlementRule": { + "$ref": "#/components/schemas/PlatformSettlementRule", + "title": "정산 규칙" + } + }, + "x-portone-title": "고객사의 플랫폼 기능 관련 정보" + }, + "PlatformAccount": { + "title": "플랫폼 정산 계좌", + "description": "플랫폼 정산 계좌\n\n`currency` 가 KRW 일 경우 예금주 조회 API 를 통해 올바른 계좌인지 검증합니다. 그 외의 화폐일 경우 따로 검증하지는 않습니다.", + "type": "object", + "required": [ + "bank", + "currency", + "number", + "holder", + "status" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "정산에 사용할 통화" + }, + "number": { + "type": "string", + "title": "계좌번호" + }, + "holder": { + "type": "string", + "title": "예금주명" + }, + "status": { + "$ref": "#/components/schemas/PlatformAccountStatus", + "title": "계좌 상태" + } + }, + "x-portone-title": "플랫폼 정산 계좌", + "x-portone-description": "`currency` 가 KRW 일 경우 예금주 조회 API 를 통해 올바른 계좌인지 검증합니다. 그 외의 화폐일 경우 따로 검증하지는 않습니다." + }, + "PlatformAccountHolder": { + "title": "예금주 조회 성공 응답 정보", + "description": "예금주 조회 성공 응답 정보", + "type": "object", + "required": [ + "holderName", + "accountVerificationId" + ], + "properties": { + "holderName": { + "type": "string", + "title": "계좌 예금주 이름" + }, + "accountVerificationId": { + "type": "string", + "title": "계좌 검증 아이디" + } + }, + "x-portone-title": "예금주 조회 성공 응답 정보" + }, + "PlatformAccountStatus": { + "title": "플랫폼 계좌 상태", + "description": "플랫폼 계좌 상태", + "type": "string", + "enum": [ + "VERIFYING", + "VERIFIED", + "VERIFY_FAILED", + "NOT_VERIFIED", + "EXPIRED", + "UNKNOWN" + ], + "x-portone-title": "플랫폼 계좌 상태", + "x-portone-enum": { + "NOT_VERIFIED": { + "title": "계좌 인증 안됨" + }, + "EXPIRED": { + "title": "계좌 인증 만료됨" + }, + "VERIFY_FAILED": { + "title": "계좌 인증 실패함" + }, + "VERIFIED": { + "title": "계좌 인증 완료됨" + }, + "VERIFYING": { + "title": "계좌 인증 중" + }, + "UNKNOWN": { + "title": "알 수 없는 상태" + } + } + }, + "PlatformAccountTransfer": { + "title": "계좌 이체", + "description": "계좌 이체\n\n송금 대행을 통해 일어난 정산 금액 지급, 인출 목적의 계좌 이체 결과 정보입니다.", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformDepositAccountTransfer" + }, + { + "$ref": "#/components/schemas/PlatformPartnerPayoutAccountTransfer" + }, + { + "$ref": "#/components/schemas/PlatformRemitAccountTransfer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "DEPOSIT": "#/components/schemas/PlatformDepositAccountTransfer", + "PARTNER_PAYOUT": "#/components/schemas/PlatformPartnerPayoutAccountTransfer", + "REMIT": "#/components/schemas/PlatformRemitAccountTransfer" + } + }, + "x-portone-title": "계좌 이체", + "x-portone-description": "송금 대행을 통해 일어난 정산 금액 지급, 인출 목적의 계좌 이체 결과 정보입니다.", + "x-portone-discriminator": { + "DEPOSIT": {}, + "PARTNER_PAYOUT": {}, + "REMIT": {} + } + }, + "PlatformAccountTransferFilter": { + "title": "PlatformAccountTransferFilter", + "type": "object", + "properties": { + "types": { + "title": "계좌 이체 유형", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformAccountTransferType" + } + } + } + }, + "PlatformAccountTransferType": { + "title": "계좌 이체 유형", + "description": "계좌 이체 유형", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL_PARTNER_PAYOUT", + "WITHDRAWAL_REMIT" + ], + "x-portone-title": "계좌 이체 유형", + "x-portone-enum": { + "DEPOSIT": { + "title": "충전" + }, + "WITHDRAWAL_PARTNER_PAYOUT": { + "title": "파트너 정산 송금" + }, + "WITHDRAWAL_REMIT": { + "title": "송금" + } + } + }, + "PlatformAccountVerificationAlreadyUsedError": { + "title": "파트너 계좌 검증 아이디를 이미 사용한 경우", + "description": "파트너 계좌 검증 아이디를 이미 사용한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "파트너 계좌 검증 아이디를 이미 사용한 경우", + "x-portone-status-code": 409 + }, + "PlatformAccountVerificationFailedError": { + "title": "파트너 계좌 인증이 실패한 경우", + "description": "파트너 계좌 인증이 실패한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "파트너 계좌 인증이 실패한 경우", + "x-portone-status-code": 400 + }, + "PlatformAccountVerificationNotFoundError": { + "title": "파트너 계좌 검증 아이디를 찾을 수 없는 경우", + "description": "파트너 계좌 검증 아이디를 찾을 수 없는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "파트너 계좌 검증 아이디를 찾을 수 없는 경우", + "x-portone-status-code": 404 + }, + "PlatformAdditionalFeePoliciesNotFoundError": { + "title": "PlatformAdditionalFeePoliciesNotFoundError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformAdditionalFeePolicy": { + "title": "추가 수수료 정책", + "description": "추가 수수료 정책\n\n추가 수수료 정책는 고객사의 주문건에 대한 중개수수료에 별도로 추가로 부여되는 수수료입니다. 대표적인 사용 예시로 풀필먼트 수수료, 로켓배송 수수료, 마케팅 채널 수수료등이 있습니다.", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "fee", + "vatPayer", + "isArchived", + "appliedAt" + ], + "properties": { + "id": { + "type": "string", + "title": "추가 수수료 정책 고유 아이디" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string", + "title": "추가 수수료 정책 이름" + }, + "fee": { + "$ref": "#/components/schemas/PlatformFee", + "title": "책정 수수료" + }, + "memo": { + "type": "string", + "title": "해당 추가 수수료 정책에 대한 메모" + }, + "vatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "부가세를 부담할 주체" + }, + "isArchived": { + "type": "boolean", + "title": "보관 여부" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "변경 적용 시점" + } + }, + "x-portone-title": "추가 수수료 정책", + "x-portone-description": "추가 수수료 정책는 고객사의 주문건에 대한 중개수수료에 별도로 추가로 부여되는 수수료입니다. 대표적인 사용 예시로 풀필먼트 수수료, 로켓배송 수수료, 마케팅 채널 수수료등이 있습니다." + }, + "PlatformAdditionalFeePolicyAlreadyExistsError": { + "title": "PlatformAdditionalFeePolicyAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformAdditionalFeePolicyFilterInput": { + "title": "추가 수수료 정책 다건 조회를 위한 필터 조건", + "description": "추가 수수료 정책 다건 조회를 위한 필터 조건", + "type": "object", + "properties": { + "isArchived": { + "type": "boolean", + "title": "보관 조회 여부", + "description": "true 이면 보관된 추가 수수료 정책의 필터 옵션을 조회하고, false 이면 보관되지 않은 추가 수수료 정책의 필터 옵션을 조회합니다. 기본값은 false 입니다." + }, + "vatPayers": { + "title": "금액 부담 주체", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayer" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 부가세 부담 주체에 해당하는 추가 수수료 정책만 조회합니다." + }, + "keyword": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyFilterInputKeyword", + "title": "검색 키워드" + } + }, + "x-portone-title": "추가 수수료 정책 다건 조회를 위한 필터 조건" + }, + "PlatformAdditionalFeePolicyFilterInputKeyword": { + "title": "검색 키워드 입력 정보", + "description": "검색 키워드 입력 정보\n\n검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 추가 수수료 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "해당 값이 포함된 name 을 가진 추가 수수료 정책만 조회합니다." + }, + "id": { + "type": "string", + "description": "해당 값이 포함된 id 를 가진 추가 수수료 정책만 조회합니다." + }, + "fee": { + "type": "string", + "description": "해당 값과 같은 수수료 를 가진 추가 수수료 정책만 조회합니다." + } + }, + "x-portone-title": "검색 키워드 입력 정보", + "x-portone-description": "검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 추가 수수료 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다." + }, + "PlatformAdditionalFeePolicyNotFoundError": { + "title": "PlatformAdditionalFeePolicyNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformAdditionalFeePolicyScheduleAlreadyExistsError": { + "title": "PlatformAdditionalFeePolicyScheduleAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError": { + "title": "PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "feeCurrency", + "settlementCurrency" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "feeCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformArchivedAdditionalFeePolicyError": { + "title": "보관된 추가 수수료 정책을 업데이트하려고 하는 경우", + "description": "보관된 추가 수수료 정책을 업데이트하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "보관된 추가 수수료 정책을 업데이트하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformArchivedContractError": { + "title": "보관된 계약을 업데이트하려고 하는 경우", + "description": "보관된 계약을 업데이트하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "보관된 계약을 업데이트하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformArchivedDiscountSharePolicyError": { + "title": "보관된 할인 분담 정책을 업데이트하려고 하는 경우", + "description": "보관된 할인 분담 정책을 업데이트하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "보관된 할인 분담 정책을 업데이트하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformArchivedPartnerError": { + "title": "보관된 파트너를 업데이트하려고 하는 경우", + "description": "보관된 파트너를 업데이트하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "보관된 파트너를 업데이트하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformArchivedPartnersCannotBeScheduledError": { + "title": "보관된 파트너들을 예약 업데이트하려고 하는 경우", + "description": "보관된 파트너들을 예약 업데이트하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "보관된 파트너들을 예약 업데이트하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformBulkPayout": { + "title": "PlatformBulkPayout", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "creatorId", + "method", + "arePayoutsGenerated", + "totalPayoutAmount", + "status", + "payoutStats", + "statusUpdatedAt", + "createdAt", + "updatedAt" + ], + "properties": { + "id": { + "type": "string", + "title": "일괄 지급 고유 아이디" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "creatorId": { + "type": "string" + }, + "method": { + "$ref": "#/components/schemas/PlatformPayoutMethod" + }, + "arePayoutsGenerated": { + "type": "boolean" + }, + "totalPayoutAmount": { + "type": "integer", + "format": "int64" + }, + "status": { + "$ref": "#/components/schemas/PlatformBulkPayoutStatus" + }, + "payoutStats": { + "$ref": "#/components/schemas/PlatformBulkPayoutStats" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + "PlatformBulkPayoutFilterInput": { + "title": "PlatformBulkPayoutFilterInput", + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformBulkPayoutStatus" + } + }, + "methods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayoutMethod" + } + }, + "criteria": { + "$ref": "#/components/schemas/PlatformBulkPayoutFilterInputCriteria" + } + } + }, + "PlatformBulkPayoutFilterInputCriteria": { + "title": "PlatformBulkPayoutFilterInputCriteria", + "type": "object", + "properties": { + "timestampRange": { + "$ref": "#/components/schemas/DateTimeRange" + }, + "bulkPayoutId": { + "type": "string" + } + } + }, + "PlatformBulkPayoutNotFoundError": { + "title": "일괄 지급이 존재하지 않는 경우", + "description": "일괄 지급이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "일괄 지급이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "PlatformBulkPayoutPartnerSettlement": { + "title": "PlatformBulkPayoutPartnerSettlement", + "type": "object", + "required": [ + "bulkPayoutId", + "partnerSettlement", + "isSelected" + ], + "properties": { + "bulkPayoutId": { + "type": "string" + }, + "partnerSettlement": { + "$ref": "#/components/schemas/PlatformPartnerSettlement" + }, + "isSelected": { + "type": "boolean" + } + } + }, + "PlatformBulkPayoutPartnerSettlementsFilterInput": { + "title": "PlatformBulkPayoutPartnerSettlementsFilterInput", + "type": "object", + "required": [ + "partnerIds", + "statuses" + ], + "properties": { + "partnerIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "statuses": { + "title": "정산 상태", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus" + } + } + } + }, + "PlatformBulkPayoutStats": { + "title": "PlatformBulkPayoutStats", + "type": "object", + "required": [ + "amount", + "count" + ], + "properties": { + "amount": { + "$ref": "#/components/schemas/PlatformPayoutStatusStats" + }, + "count": { + "$ref": "#/components/schemas/PlatformPayoutStatusStats" + } + } + }, + "PlatformBulkPayoutStatus": { + "title": "PlatformBulkPayoutStatus", + "type": "string", + "enum": [ + "PREPARING", + "PREPARED", + "ONGOING", + "CANCELLED", + "STOPPED", + "COMPLETED" + ], + "x-portone-enum": { + "STOPPED": {}, + "PREPARED": {}, + "CANCELLED": {}, + "COMPLETED": {}, + "PREPARING": {}, + "ONGOING": {} + } + }, + "PlatformBulkPayoutStatusStats": { + "title": "PlatformBulkPayoutStatusStats", + "type": "object", + "required": [ + "preparing", + "prepared", + "ongoing", + "stopped", + "cancelled", + "completed" + ], + "properties": { + "preparing": { + "type": "integer", + "format": "int64" + }, + "prepared": { + "type": "integer", + "format": "int64" + }, + "ongoing": { + "type": "integer", + "format": "int64" + }, + "stopped": { + "type": "integer", + "format": "int64" + }, + "cancelled": { + "type": "integer", + "format": "int64" + }, + "completed": { + "type": "integer", + "format": "int64" + } + } + }, + "PlatformBulkPayoutsSheetField": { + "title": "다운로드 할 시트 컬럼", + "description": "다운로드 할 시트 컬럼", + "type": "string", + "enum": [ + "BULK_PAYOUT_ID", + "NAME", + "CREATOR_ID", + "METHOD", + "STATUS", + "TOTAL_PAYOUT_AMOUNT", + "STATUS_UPDATED_AT", + "CREATED_AT", + "PAYOUT_PREPARED_AMOUNT", + "PAYOUT_PREPARED_COUNT", + "PAYOUT_SUCCEEDED_AMOUNT", + "PAYOUT_SUCCEEDED_COUNT", + "PAYOUT_FAILED_AMOUNT", + "PAYOUT_FAILED_COUNT", + "PAYOUT_STOPPED_AMOUNT", + "PAYOUT_STOPPED_COUNT", + "PAYOUT_CANCELLED_AMOUNT", + "PAYOUT_CANCELLED_COUNT" + ], + "x-portone-title": "다운로드 할 시트 컬럼", + "x-portone-enum": { + "PAYOUT_FAILED_AMOUNT": { + "title": "지급 실패 금액" + }, + "NAME": { + "title": "일괄 지급 이름" + }, + "PAYOUT_PREPARED_AMOUNT": { + "title": "지급 대기 금액" + }, + "METHOD": { + "title": "일괄 지급 방식" + }, + "PAYOUT_SUCCEEDED_AMOUNT": { + "title": "지급 성공 금액" + }, + "PAYOUT_SUCCEEDED_COUNT": { + "title": "지급 성공 건수" + }, + "PAYOUT_PREPARED_COUNT": { + "title": "지급 대기 건수" + }, + "PAYOUT_FAILED_COUNT": { + "title": "지급 실패 건수" + }, + "PAYOUT_STOPPED_COUNT": { + "title": "지급 중단 건수" + }, + "STATUS_UPDATED_AT": { + "title": "일괄 지급 상태 변경 시각" + }, + "PAYOUT_CANCELLED_AMOUNT": { + "title": "지급 취소 금액" + }, + "PAYOUT_STOPPED_AMOUNT": { + "title": "지급 중단 금액" + }, + "CREATED_AT": { + "title": "일괄 지급 생성 시각" + }, + "TOTAL_PAYOUT_AMOUNT": { + "title": "총 지급 금액" + }, + "STATUS": { + "title": "일괄 지급 상태" + }, + "BULK_PAYOUT_ID": { + "title": "일괄 지급 아이디" + }, + "CREATOR_ID": { + "title": "생성자 아이디" + }, + "PAYOUT_CANCELLED_COUNT": { + "title": "지급 취소 건수" + } + } + }, + "PlatformCancelOrderTransfersExistsError": { + "title": "PlatformCancelOrderTransfersExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformCancellableAmountExceededError": { + "title": "취소 가능한 금액이 초과한 경우", + "description": "취소 가능한 금액이 초과한 경우", + "type": "object", + "required": [ + "type", + "cancellableAmount", + "requestAmount", + "amountType" + ], + "properties": { + "type": { + "type": "string" + }, + "cancellableAmount": { + "type": "integer", + "format": "int64" + }, + "requestAmount": { + "type": "integer", + "format": "int64" + }, + "amountType": { + "$ref": "#/components/schemas/PlatformCancellableAmountType" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "취소 가능한 금액이 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformCancellableAmountType": { + "title": "금액 타입", + "description": "금액 타입", + "type": "string", + "enum": [ + "SUPPLY_WITH_VAT", + "TAX_FREE" + ], + "x-portone-title": "금액 타입", + "x-portone-enum": { + "SUPPLY_WITH_VAT": { + "title": "공급대가", + "description": "공급가액과 부가세를 더한 금액입니다." + }, + "TAX_FREE": { + "title": "면세 금액" + } + } + }, + "PlatformCancellableDiscountAmountExceededError": { + "title": "PlatformCancellableDiscountAmountExceededError", + "type": "object", + "required": [ + "type", + "discountSharePolicyId", + "discountSharePolicyGraphqlId", + "cancellableAmount", + "requestAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "discountSharePolicyId": { + "type": "string" + }, + "discountSharePolicyGraphqlId": { + "type": "string" + }, + "cancellableAmount": { + "type": "integer", + "format": "int64" + }, + "requestAmount": { + "type": "integer", + "format": "int64" + }, + "productId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformCancellableDiscountTaxFreeAmountExceededError": { + "title": "PlatformCancellableDiscountTaxFreeAmountExceededError", + "type": "object", + "required": [ + "type", + "discountSharePolicyId", + "discountSharePolicyGraphqlId", + "cancellableAmount", + "requestAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "discountSharePolicyId": { + "type": "string" + }, + "discountSharePolicyGraphqlId": { + "type": "string" + }, + "cancellableAmount": { + "type": "integer", + "format": "int64" + }, + "requestAmount": { + "type": "integer", + "format": "int64" + }, + "productId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformCancellableProductQuantityExceededError": { + "title": "PlatformCancellableProductQuantityExceededError", + "type": "object", + "required": [ + "type", + "productId", + "cancellableQuantity" + ], + "properties": { + "type": { + "type": "string" + }, + "productId": { + "type": "string" + }, + "cancellableQuantity": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformCancellationAndPaymentTypeMismatchedError": { + "title": "PlatformCancellationAndPaymentTypeMismatchedError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformCancellationNotFoundError": { + "title": "PlatformCancellationNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformCannotArchiveScheduledAdditionalFeePolicyError": { + "title": "예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우", + "description": "예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformCannotArchiveScheduledContractError": { + "title": "예약된 업데이트가 있는 계약을 보관하려고 하는 경우", + "description": "예약된 업데이트가 있는 계약을 보관하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "예약된 업데이트가 있는 계약을 보관하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformCannotArchiveScheduledDiscountSharePolicyError": { + "title": "예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우", + "description": "예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformCannotArchiveScheduledPartnerError": { + "title": "예약된 업데이트가 있는 파트너를 보관하려고 하는 경우", + "description": "예약된 업데이트가 있는 파트너를 보관하려고 하는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "예약된 업데이트가 있는 파트너를 보관하려고 하는 경우", + "x-portone-status-code": 409 + }, + "PlatformCannotSpecifyTransferError": { + "title": "정산 건 식별에 실패한 경우", + "description": "정산 건 식별에 실패한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 건 식별에 실패한 경우", + "x-portone-status-code": 400 + }, + "PlatformContact": { + "title": "플랫폼 파트너 담당자 연락 정보", + "description": "플랫폼 파트너 담당자 연락 정보\n\n파트너 담당자에게 연락하기 위한 정보들 입니다.", + "type": "object", + "required": [ + "name", + "email" + ], + "properties": { + "name": { + "type": "string", + "title": "담당자 이름" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 휴대폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + }, + "x-portone-title": "플랫폼 파트너 담당자 연락 정보", + "x-portone-description": "파트너 담당자에게 연락하기 위한 정보들 입니다." + }, + "PlatformContract": { + "title": "계약", + "description": "계약\n\n계약은 플랫폼 고객사가 파트너에게 정산해줄 대금과 정산일을 계산하는 데 적용되는 정보입니다.\n고객사의 플랫폼에서 재화 및 서비스를 판매하기 위한 중개수수료와 판매금에 대한 정산일로 구성되어 있습니다.", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "platformFee", + "settlementCycle", + "platformFeeVatPayer", + "subtractPaymentVatAmount", + "isArchived", + "appliedAt" + ], + "properties": { + "id": { + "type": "string", + "title": "계약 고유 아이디" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string", + "title": "계약 이름" + }, + "memo": { + "type": "string", + "title": "계약 내부 표기를 위한 메모" + }, + "platformFee": { + "$ref": "#/components/schemas/PlatformFee", + "title": "중개수수료" + }, + "settlementCycle": { + "$ref": "#/components/schemas/PlatformSettlementCycle", + "title": "정산 주기" + }, + "platformFeeVatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "중개수수료에 대한 부가세 부담 주체" + }, + "subtractPaymentVatAmount": { + "type": "boolean", + "title": "정산 시 결제금액 부가세 감액 여부", + "description": "false인 경우 정산금에서 결제 금액 부가세를 감액하지 않고, true인 경우 정산금에서 결제 금액 부가세를 감액합니다." + }, + "isArchived": { + "type": "boolean", + "title": "보관 여부" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "변경 적용 시점" + } + }, + "x-portone-title": "계약", + "x-portone-description": "계약은 플랫폼 고객사가 파트너에게 정산해줄 대금과 정산일을 계산하는 데 적용되는 정보입니다.\n고객사의 플랫폼에서 재화 및 서비스를 판매하기 위한 중개수수료와 판매금에 대한 정산일로 구성되어 있습니다." + }, + "PlatformContractAlreadyExistsError": { + "title": "PlatformContractAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformContractFilterInput": { + "title": "계약 다건 조회를 위한 필터 조건", + "description": "계약 다건 조회를 위한 필터 조건", + "type": "object", + "properties": { + "platformFeePayers": { + "title": "금액 부담 주체", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayer" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 수수료 부담 주체를 가진 계약만 조회합니다." + }, + "cycleTypes": { + "title": "플랫폼 정산 주기 계산 방식", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformSettlementCycleType" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 주기 계산 방식을 가진 계약만 조회합니다." + }, + "datePolicies": { + "title": "플랫폼 정산 기준일", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformSettlementCycleDatePolicy" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 기준일을 가진 계약만 조회합니다." + }, + "isArchived": { + "type": "boolean", + "title": "보관 조회 여부", + "description": "true 이면 보관된 계약을 조회하고, false 이면 보관되지 않은 계약을 조회합니다. 기본값은 false 입니다." + }, + "keyword": { + "$ref": "#/components/schemas/PlatformContractFilterInputKeyword", + "title": "검색 키워드" + } + }, + "x-portone-title": "계약 다건 조회를 위한 필터 조건" + }, + "PlatformContractFilterInputKeyword": { + "title": "검색 키워드 입력 정보", + "description": "검색 키워드 입력 정보\n\n검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 계약만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "해당 값이 포함된 id 를 가진 계약만 조회합니다." + }, + "name": { + "type": "string", + "description": "해당 값이 포함된 name 을 가진 계약만 조회합니다." + } + }, + "x-portone-title": "검색 키워드 입력 정보", + "x-portone-description": "검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 계약만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다." + }, + "PlatformContractNotFoundError": { + "title": "PlatformContractNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError": { + "title": "PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "feeCurrency", + "settlementCurrency" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "feeCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformContractScheduleAlreadyExistsError": { + "title": "PlatformContractScheduleAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformContractsNotFoundError": { + "title": "PlatformContractsNotFoundError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformCurrencyNotSupportedError": { + "title": "지원 되지 않는 통화를 선택한 경우", + "description": "지원 되지 않는 통화를 선택한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "지원 되지 않는 통화를 선택한 경우", + "x-portone-status-code": 400 + }, + "PlatformDepositAccountTransfer": { + "title": "PlatformDepositAccountTransfer", + "type": "object", + "required": [ + "type", + "id", + "currency", + "amount", + "isForTest", + "createdAt", + "updatedAt", + "depositorName" + ], + "properties": { + "type": { + "type": "string", + "title": "계좌 이체 유형" + }, + "id": { + "type": "string", + "title": "계좌 이체 아이디" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "금액" + }, + "depositMemo": { + "type": "string", + "title": "입금 계좌 적요" + }, + "isForTest": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "생성 일자" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "수정 일자" + }, + "depositorName": { + "type": "string", + "title": "입금자명" + } + } + }, + "PlatformDiscountSharePoliciesNotFoundError": { + "title": "PlatformDiscountSharePoliciesNotFoundError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformDiscountSharePolicy": { + "title": "할인 분담 정책", + "description": "할인 분담 정책\n\n할인 분담은 고객사의 주문건에 쿠폰 및 포인트와 같은 할인금액이 적용될 때, 파트너 정산 시 할인금액에 대한 분담 정책을 가지는 객체입니다.\n할인 유형에 대한 아이디와 메모, 그리고 파트너 분담율을 가집니다.", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "partnerShareRate", + "isArchived", + "appliedAt" + ], + "properties": { + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string", + "title": "할인 분담 정책 이름" + }, + "partnerShareRate": { + "type": "integer", + "format": "int32", + "title": "할인 분담율", + "description": "파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다." + }, + "memo": { + "type": "string", + "title": "해당 할인 분담에 대한 메모" + }, + "isArchived": { + "type": "boolean", + "title": "보관 여부" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "변경 적용 시점" + } + }, + "x-portone-title": "할인 분담 정책", + "x-portone-description": "할인 분담은 고객사의 주문건에 쿠폰 및 포인트와 같은 할인금액이 적용될 때, 파트너 정산 시 할인금액에 대한 분담 정책을 가지는 객체입니다.\n할인 유형에 대한 아이디와 메모, 그리고 파트너 분담율을 가집니다." + }, + "PlatformDiscountSharePolicyAlreadyExistsError": { + "title": "PlatformDiscountSharePolicyAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformDiscountSharePolicyFilterInput": { + "title": "할인 분담 정책 다건 조회를 위한 필터 조건", + "description": "할인 분담 정책 다건 조회를 위한 필터 조건", + "type": "object", + "properties": { + "isArchived": { + "type": "boolean", + "title": "보관 조회 여부", + "description": "true 이면 보관된 할인 분담 정책을 조회하고, false 이면 보관되지 않은 할인 분담 정책을 조회합니다. 기본값은 false 입니다." + }, + "partnerShareRates": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 파트너 분담율을 가진 할인 분담 정책만 조회합니다." + }, + "keyword": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyFilterInputKeyword", + "title": "검색 키워드" + } + }, + "x-portone-title": "할인 분담 정책 다건 조회를 위한 필터 조건" + }, + "PlatformDiscountSharePolicyFilterInputKeyword": { + "title": "검색 키워드 입력 정보", + "description": "검색 키워드 입력 정보\n\n검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 할인 분담 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "해당 값이 포함된 id 를 가진 할인 분담 정책만 조회합니다." + }, + "name": { + "type": "string", + "description": "해당 값이 포함된 name 을 가진 할인 분담만 조회합니다." + } + }, + "x-portone-title": "검색 키워드 입력 정보", + "x-portone-description": "검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 할인 분담 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다." + }, + "PlatformDiscountSharePolicyFilterOptions": { + "title": "할인 분담 정책 필터 옵션 조회 성공 응답 정보", + "description": "할인 분담 정책 필터 옵션 조회 성공 응답 정보", + "type": "object", + "required": [ + "partnerShareRates" + ], + "properties": { + "partnerShareRates": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "title": "조회된 파트너 분담율 리스트" + } + }, + "x-portone-title": "할인 분담 정책 필터 옵션 조회 성공 응답 정보" + }, + "PlatformDiscountSharePolicyIdDuplicatedError": { + "title": "PlatformDiscountSharePolicyIdDuplicatedError", + "type": "object", + "required": [ + "type", + "id", + "graphqlId" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformDiscountSharePolicyNotFoundError": { + "title": "PlatformDiscountSharePolicyNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformDiscountSharePolicyScheduleAlreadyExistsError": { + "title": "PlatformDiscountSharePolicyScheduleAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformExternalApiFailedError": { + "title": "외부 api 오류", + "description": "외부 api 오류", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "외부 api 오류", + "x-portone-status-code": 503 + }, + "PlatformExternalApiTemporarilyFailedError": { + "title": "외부 api의 일시적인 오류", + "description": "외부 api의 일시적인 오류", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "외부 api의 일시적인 오류", + "x-portone-status-code": 503 + }, + "PlatformExternalPayment": { + "title": "외부 결제 정보", + "description": "외부 결제 정보", + "type": "object", + "required": [ + "type", + "id", + "currency" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "결제 아이디" + }, + "orderName": { + "type": "string", + "title": "주문 명" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "method": { + "$ref": "#/components/schemas/PlatformPaymentMethod", + "title": "결제 수단" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 일시" + } + }, + "x-portone-title": "외부 결제 정보" + }, + "PlatformFee": { + "title": "플랫폼 중개수수료 정보", + "description": "플랫폼 중개수수료 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformFixedAmountFee" + }, + { + "$ref": "#/components/schemas/PlatformFixedRateFee" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FIXED_AMOUNT": "#/components/schemas/PlatformFixedAmountFee", + "FIXED_RATE": "#/components/schemas/PlatformFixedRateFee" + } + }, + "x-portone-title": "플랫폼 중개수수료 정보", + "x-portone-discriminator": { + "FIXED_RATE": { + "title": "정률 수수료" + }, + "FIXED_AMOUNT": { + "title": "정액 수수료" + } + } + }, + "PlatformFeeInput": { + "title": "수수료 계산 방식을 특정하기 위한 입력 정보", + "description": "수수료 계산 방식을 특정하기 위한 입력 정보\n\n정률 수수료를 설정하고 싶은 경우 `fixedRate` 필드에, 정액 수수료를 설정하고 싶은 경우 `fixedAmount` 필드에 값을 명시해 요청합니다.\n두 필드 모두 값이 들어있지 않은 경우 요청이 거절됩니다.", + "type": "object", + "properties": { + "fixedRate": { + "type": "integer", + "format": "int32", + "title": "정률 수수료" + }, + "fixedAmount": { + "type": "integer", + "format": "int64", + "title": "정액 수수료" + } + }, + "x-portone-title": "수수료 계산 방식을 특정하기 위한 입력 정보", + "x-portone-description": "정률 수수료를 설정하고 싶은 경우 `fixedRate` 필드에, 정액 수수료를 설정하고 싶은 경우 `fixedAmount` 필드에 값을 명시해 요청합니다.\n두 필드 모두 값이 들어있지 않은 경우 요청이 거절됩니다." + }, + "PlatformFixedAmountFee": { + "title": "정액 수수료", + "description": "정액 수수료\n\n총 금액에 무관하게 정해진 수수료 금액을 책정합니다.", + "type": "object", + "required": [ + "type", + "amount" + ], + "properties": { + "type": { + "type": "string" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "고정된 수수료 금액" + } + }, + "x-portone-title": "정액 수수료", + "x-portone-description": "총 금액에 무관하게 정해진 수수료 금액을 책정합니다." + }, + "PlatformFixedRateFee": { + "title": "정률 수수료", + "description": "정률 수수료\n\n총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다.", + "type": "object", + "required": [ + "type", + "rate" + ], + "properties": { + "type": { + "type": "string" + }, + "rate": { + "type": "integer", + "format": "int32", + "title": "수수료율", + "description": "총 금액 대비 수수료 비율을 의미하며, 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수입니다. `총 금액 * rate * 10^5` (`rate * 10^3 %`) 만큼 수수료를 책정합니다." + } + }, + "x-portone-title": "정률 수수료", + "x-portone-description": "총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다." + }, + "PlatformHoliday": { + "title": "공휴일", + "description": "공휴일", + "type": "object", + "required": [ + "name", + "date" + ], + "properties": { + "name": { + "type": "string", + "title": "이름" + }, + "date": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "날짜" + } + }, + "x-portone-title": "공휴일" + }, + "PlatformInsufficientDataToChangePartnerTypeError": { + "title": "파트너 타입 수정에 필요한 데이터가 부족한 경우", + "description": "파트너 타입 수정에 필요한 데이터가 부족한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "파트너 타입 수정에 필요한 데이터가 부족한 경우", + "x-portone-status-code": 400 + }, + "PlatformInvalidSettlementFormulaError": { + "title": "PlatformInvalidSettlementFormulaError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "platformFee": { + "$ref": "#/components/schemas/PlatformSettlementFormulaError" + }, + "discountShare": { + "$ref": "#/components/schemas/PlatformSettlementFormulaError" + }, + "additionalFee": { + "$ref": "#/components/schemas/PlatformSettlementFormulaError" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformManualTransfer": { + "title": "수기 정산건", + "description": "수기 정산건", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "userDefinedProperties", + "settlementAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산건 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "payoutId": { + "type": "string" + }, + "payoutGraphqlId": { + "type": "string" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + } + }, + "x-portone-title": "수기 정산건" + }, + "PlatformManualTransferSummary": { + "title": "PlatformManualTransferSummary", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "partnerUserDefinedProperties", + "userDefinedProperties", + "settlementAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformTransferSummaryPartner" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus" + }, + "memo": { + "type": "string" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "isForTest": { + "type": "boolean" + }, + "partnerUserDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "settlementAmount": { + "type": "integer", + "format": "int64" + } + } + }, + "PlatformNonUpdatableStatusError": { + "title": "업데이트 불가능한 상태를 업데이트하려는 경우", + "description": "업데이트 불가능한 상태를 업데이트하려는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "업데이트 불가능한 상태를 업데이트하려는 경우", + "x-portone-status-code": 400 + }, + "PlatformNotEnabledError": { + "title": "플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "description": "플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우", + "x-portone-status-code": 403 + }, + "PlatformNotSupportedBankError": { + "title": "지원하지 않는 은행인 경우", + "description": "지원하지 않는 은행인 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "지원하지 않는 은행인 경우", + "x-portone-status-code": 400 + }, + "PlatformOrderCancelTransfer": { + "title": "주문 취소 정산건", + "description": "주문 취소 정산건", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "userDefinedProperties", + "amount", + "contract", + "payment", + "settlementStartDate", + "orderLines", + "additionalFees", + "discounts", + "cancellation", + "parameters" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산건 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "payoutId": { + "type": "string" + }, + "payoutGraphqlId": { + "type": "string" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount", + "title": "정산 금액 정보" + }, + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "계약" + }, + "payment": { + "$ref": "#/components/schemas/PlatformPayment", + "title": "결제 정보" + }, + "settlementStartDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 시작일" + }, + "orderLines": { + "title": "주문 항목 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferOrderLine" + } + }, + "additionalFees": { + "title": "정산 금액 계산 시 사용된 추가 수수료 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferAdditionalFee" + } + }, + "discounts": { + "title": "정산 금액 계산 시 사용된 할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferDiscount" + } + }, + "cancellation": { + "$ref": "#/components/schemas/PlatformOrderTransferCancellation", + "title": "주문 취소 정보" + }, + "parameters": { + "$ref": "#/components/schemas/TransferParameters", + "title": "정산 파라미터 (실험기능)" + } + }, + "x-portone-title": "주문 취소 정산건" + }, + "PlatformOrderCancelTransferSummary": { + "title": "PlatformOrderCancelTransferSummary", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "storeId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "partnerUserDefinedProperties", + "userDefinedProperties", + "amount", + "payment", + "settlementStartDate" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "storeId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformTransferSummaryPartner" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus" + }, + "memo": { + "type": "string" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "isForTest": { + "type": "boolean" + }, + "partnerUserDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount" + }, + "payment": { + "$ref": "#/components/schemas/PlatformTransferSummaryPayment" + }, + "settlementStartDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + } + } + }, + "PlatformOrderDetailMismatchedError": { + "title": "PlatformOrderDetailMismatchedError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformOrderSettlementAmount": { + "title": "정산 금액 정보", + "description": "정산 금액 정보\n\n정산 금액과 정산 금액 계산에 사용된 금액 정보들 입니다.", + "type": "object", + "required": [ + "settlement", + "payment", + "paymentVat", + "paymentVatBurden", + "taxFree", + "supply", + "paymentTaxFree", + "paymentSupply", + "order", + "orderTaxFree", + "platformFee", + "platformFeeVat", + "additionalFee", + "additionalFeeVat", + "discount", + "discountTaxFree", + "discountShare", + "discountShareTaxFree" + ], + "properties": { + "settlement": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "payment": { + "type": "integer", + "format": "int64", + "title": "결제 금액" + }, + "paymentVat": { + "type": "integer", + "format": "int64", + "title": "결제 금액 부가세" + }, + "paymentVatBurden": { + "type": "integer", + "format": "int64", + "title": "결제 금액 부가세 부담금액", + "description": "참조된 계약의 결제 금액 부가세 감액 여부에 따라 false인 경우 0원, true인 경우 결제 금액 부가세입니다." + }, + "taxFree": { + "type": "integer", + "format": "int64", + "title": "결제 면세 금액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 paymentTaxFree 필드를 사용해주세요." + }, + "supply": { + "type": "integer", + "format": "int64", + "title": "결제 공급가액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 paymentSupply 필드를 사용해주세요." + }, + "paymentTaxFree": { + "type": "integer", + "format": "int64", + "title": "결제 면세 금액" + }, + "paymentSupply": { + "type": "integer", + "format": "int64", + "title": "결제 공급가액" + }, + "order": { + "type": "integer", + "format": "int64", + "title": "주문 금액" + }, + "orderTaxFree": { + "type": "integer", + "format": "int64", + "title": "면세 주문 금액" + }, + "platformFee": { + "type": "integer", + "format": "int64", + "title": "중개 수수료" + }, + "platformFeeVat": { + "type": "integer", + "format": "int64", + "title": "중개 수수료 부가세" + }, + "additionalFee": { + "type": "integer", + "format": "int64", + "title": "추가 수수료" + }, + "additionalFeeVat": { + "type": "integer", + "format": "int64", + "title": "추가 수수료 부가세" + }, + "discount": { + "type": "integer", + "format": "int64", + "title": "할인 금액" + }, + "discountTaxFree": { + "type": "integer", + "format": "int64", + "title": "면세 할인 금액" + }, + "discountShare": { + "type": "integer", + "format": "int64", + "title": "할인 분담 금액" + }, + "discountShareTaxFree": { + "type": "integer", + "format": "int64", + "title": "면세 할인 분담 금액" + } + }, + "x-portone-title": "정산 금액 정보", + "x-portone-description": "정산 금액과 정산 금액 계산에 사용된 금액 정보들 입니다." + }, + "PlatformOrderTransfer": { + "title": "주문 정산건", + "description": "주문 정산건", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "userDefinedProperties", + "amount", + "contract", + "payment", + "settlementStartDate", + "orderLines", + "additionalFees", + "discounts", + "parameters" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산건 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "payoutId": { + "type": "string" + }, + "payoutGraphqlId": { + "type": "string" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount", + "title": "정산 금액 정보" + }, + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "계약" + }, + "payment": { + "$ref": "#/components/schemas/PlatformPayment", + "title": "결제 정보" + }, + "settlementStartDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 시작일" + }, + "orderLines": { + "title": "주문 항목 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferOrderLine" + } + }, + "additionalFees": { + "title": "정산 금액 계산 시 사용된 추가 수수료 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferAdditionalFee" + } + }, + "discounts": { + "title": "정산 금액 계산 시 사용된 할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferDiscount" + } + }, + "parameters": { + "$ref": "#/components/schemas/TransferParameters", + "title": "정산 파라미터 (실험기능)" + } + }, + "x-portone-title": "주문 정산건" + }, + "PlatformOrderTransferAdditionalFee": { + "title": "추가 수수료 정보", + "description": "추가 수수료 정보", + "type": "object", + "required": [ + "policy", + "amount", + "vat" + ], + "properties": { + "policy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "추가 수수료 정책" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "추가 수수료 금액" + }, + "vat": { + "type": "integer", + "format": "int64", + "title": "추가 수수료 부가세 금액" + } + }, + "x-portone-title": "추가 수수료 정보" + }, + "PlatformOrderTransferAlreadyCancelledError": { + "title": "PlatformOrderTransferAlreadyCancelledError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformOrderTransferCancellation": { + "title": "주문 취소 정보", + "description": "주문 취소 정보", + "type": "object", + "required": [ + "id", + "cancelledAt" + ], + "properties": { + "id": { + "type": "string", + "title": "주문 취소 아이디" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 일시" + } + }, + "x-portone-title": "주문 취소 정보" + }, + "PlatformOrderTransferDiscount": { + "title": "할인 정보", + "description": "할인 정보", + "type": "object", + "required": [ + "sharePolicy", + "amount", + "taxFreeAmount", + "shareAmount", + "shareTaxFreeAmount" + ], + "properties": { + "sharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "할인 분담 정책" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "할인 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세 할인 금액" + }, + "shareAmount": { + "type": "integer", + "format": "int64", + "title": "할인 분담 금액" + }, + "shareTaxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세 할인 분담 금액" + } + }, + "x-portone-title": "할인 정보" + }, + "PlatformOrderTransferOrderLine": { + "title": "주문 항목", + "description": "주문 항목", + "type": "object", + "required": [ + "product", + "quantity", + "discounts", + "additionalFees", + "amount" + ], + "properties": { + "product": { + "$ref": "#/components/schemas/PlatformOrderTransferProduct", + "title": "상품" + }, + "quantity": { + "type": "integer", + "format": "int32", + "title": "상품 수량" + }, + "discounts": { + "title": "상품 할인 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferDiscount" + } + }, + "additionalFees": { + "title": "상품 추가 수수료 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformOrderTransferAdditionalFee" + } + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount", + "title": "상품 정산 금액 정보" + } + }, + "x-portone-title": "주문 항목" + }, + "PlatformOrderTransferProduct": { + "title": "상품", + "description": "상품", + "type": "object", + "required": [ + "id", + "name", + "amount", + "taxFreeAmount" + ], + "properties": { + "id": { + "type": "string", + "title": "상품 아이디" + }, + "name": { + "type": "string", + "title": "상품 이름" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "상품 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "상품 면세 금액" + }, + "tag": { + "type": "string", + "title": "태그" + } + }, + "x-portone-title": "상품" + }, + "PlatformOrderTransferSummary": { + "title": "PlatformOrderTransferSummary", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "storeId", + "partner", + "status", + "settlementDate", + "settlementCurrency", + "isForTest", + "partnerUserDefinedProperties", + "userDefinedProperties", + "amount", + "payment", + "settlementStartDate" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "storeId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformTransferSummaryPartner" + }, + "status": { + "$ref": "#/components/schemas/PlatformTransferStatus" + }, + "memo": { + "type": "string" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency" + }, + "isForTest": { + "type": "boolean" + }, + "partnerUserDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "userDefinedProperties": { + "title": "사용자 정의 속성", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyKeyValue" + } + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount" + }, + "payment": { + "$ref": "#/components/schemas/PlatformTransferSummaryPayment" + }, + "settlementStartDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + } + } + }, + "PlatformPartner": { + "title": "파트너", + "description": "파트너\n\n파트너는 고객사가 정산해주어야 할 대상입니다.\n기본 사업자 정보와 정산정보, 그리고 적용될 계약의 정보를 등록 및 관리할 수 있습니다.", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "contact", + "account", + "status", + "defaultContractId", + "tags", + "type", + "isArchived", + "appliedAt", + "userDefinedProperties" + ], + "properties": { + "id": { + "type": "string", + "title": "파트너 고유 아이디" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string", + "title": "파트너 법인명 혹은 이름" + }, + "contact": { + "$ref": "#/components/schemas/PlatformContact", + "title": "파트너 담당자 연락 정보" + }, + "account": { + "$ref": "#/components/schemas/PlatformAccount", + "title": "정산 계좌" + }, + "status": { + "$ref": "#/components/schemas/PlatformPartnerStatus", + "title": "파트너의 상태" + }, + "defaultContractId": { + "type": "string", + "title": "파트너에 설정된 기본 계약 아이디" + }, + "memo": { + "type": "string", + "title": "파트너에 대한 메모" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "파트너의 태그 리스트" + }, + "type": { + "$ref": "#/components/schemas/PlatformPartnerType", + "title": "파트너 유형별 정보" + }, + "isArchived": { + "type": "boolean", + "title": "보관 여부" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "변경 적용 시점" + }, + "userDefinedProperties": { + "$ref": "#/components/schemas/PlatformProperties", + "title": "사용자 정의 속성" + } + }, + "x-portone-title": "파트너", + "x-portone-description": "파트너는 고객사가 정산해주어야 할 대상입니다.\n기본 사업자 정보와 정산정보, 그리고 적용될 계약의 정보를 등록 및 관리할 수 있습니다." + }, + "PlatformPartnerBusinessStatus": { + "title": "플랫폼 파트너 사업자 상태", + "description": "플랫폼 파트너 사업자 상태", + "type": "string", + "enum": [ + "NOT_VERIFIED", + "VERIFY_FAILED", + "NOT_FOUND", + "VERIFYING", + "IN_BUSINESS", + "CLOSED", + "SUSPENDED" + ], + "x-portone-title": "플랫폼 파트너 사업자 상태", + "x-portone-enum": { + "SUSPENDED": { + "title": "휴업" + }, + "NOT_VERIFIED": { + "title": "인증 되지 않음" + }, + "IN_BUSINESS": { + "title": "사업 중" + }, + "CLOSED": { + "title": "폐업" + }, + "VERIFY_FAILED": { + "title": "인증 실패" + }, + "NOT_FOUND": { + "title": "대응되는 사업자 없음" + }, + "VERIFYING": { + "title": "인증 대기 중" + } + } + }, + "PlatformPartnerContractSummary": { + "title": "파트너 계약 요약 정보", + "description": "파트너 계약 요약 정보", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "title": "계약 고유 아이디" + }, + "name": { + "type": "string", + "title": "계약 이름" + } + }, + "x-portone-title": "파트너 계약 요약 정보" + }, + "PlatformPartnerDashboard": { + "title": "파트너 현황 조회 성공 응답", + "description": "파트너 현황 조회 성공 응답", + "type": "object", + "required": [ + "totalPartner", + "upcomingSettledPartner" + ], + "properties": { + "totalPartner": { + "$ref": "#/components/schemas/PlatformPartnerDashboardCount", + "title": "전체 파트너 현황" + }, + "upcomingSettledPartner": { + "$ref": "#/components/schemas/PlatformPartnerDashboardCount", + "title": "정산 예정인 파트너 현황" + }, + "upcomingSettlementDate": { + "description": "정산이 예정되어 있지 않은 경우 값이 주어지지 않습니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "예정된 정산일" + } + }, + "x-portone-title": "파트너 현황 조회 성공 응답" + }, + "PlatformPartnerDashboardCount": { + "title": "파트너 현황 정보", + "description": "파트너 현황 정보", + "type": "object", + "required": [ + "total", + "archived" + ], + "properties": { + "total": { + "type": "integer", + "format": "int32", + "title": "보관된 파트너를 포함한 전체 파트너 수" + }, + "archived": { + "type": "integer", + "format": "int32", + "title": "보관된 파트너 수" + } + }, + "x-portone-title": "파트너 현황 정보" + }, + "PlatformPartnerFilterInput": { + "title": "파트너 필터 입력 정보", + "description": "파트너 필터 입력 정보", + "type": "object", + "properties": { + "isArchived": { + "type": "boolean", + "title": "보관 조회 여부", + "description": "true 이면 보관된 파트너를 조회하고, false 이면 보관되지 않은 파트너를 조회합니다. 기본값은 false 입니다." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너만 조회합니다." + }, + "banks": { + "title": "은행", + "type": "array", + "items": { + "$ref": "#/components/schemas/Bank" + }, + "description": "하나 이상의 값이 존재하는 경우, 해당 리스트에 포함되는 계좌 은행을 가진 파트너만 조회합니다." + }, + "accountCurrencies": { + "title": "통화 단위", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + }, + "description": "하나 이상의 값이 존재하는 경우, 해당 리스트에 포함되는 계좌 통화를 가진 파트너만 조회합니다." + }, + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "하나 이상의 값이 존재하는 경우, 해당 리스트에 포함되는 아이디를 가진 파트너만 조회합니다." + }, + "contractIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "하나 이상의 값이 존재하는 경우, 해당 리스트에 포함되는 기본 계약 id를 가진 파트너만 조회합니다." + }, + "keyword": { + "$ref": "#/components/schemas/PlatformPartnerFilterInputKeyword", + "title": "검색 키워드" + } + }, + "x-portone-title": "파트너 필터 입력 정보" + }, + "PlatformPartnerFilterInputKeyword": { + "title": "파트너 검색 키워드 입력 정보", + "description": "파트너 검색 키워드 입력 정보\n\n검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 파트너만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "해당 값이 포함된 id 를 가진 파트너만 조회합니다." + }, + "name": { + "type": "string", + "description": "해당 값이 포함된 이름 을 가진 파트너만 조회합니다." + }, + "email": { + "type": "string", + "description": "해당 값이 포함된 이메일 주소를 가진 파트너만 조회합니다." + }, + "businessRegistrationNumber": { + "type": "string", + "description": "해당 값이 포함된 사업자등록번호를 가진 파트너만 조회합니다." + }, + "defaultContractId": { + "type": "string", + "description": "해당 값이 포함된 기본 계약 아이디를 가진 파트너만 조회합니다." + }, + "memo": { + "type": "string", + "description": "해당 값이 포함된 메모를 가진 파트너만 조회합니다." + }, + "accountNumber": { + "type": "string", + "description": "해당 값이 포함된 계좌번호를 가진 파트너만 조회합니다." + }, + "accountHolder": { + "type": "string", + "description": "해당 값이 포함된 계좌 예금주명을 가진 파트너만 조회합니다." + } + }, + "x-portone-title": "파트너 검색 키워드 입력 정보", + "x-portone-description": "검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 파트너만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다." + }, + "PlatformPartnerFilterOptions": { + "title": "파트너 필터 옵션 조회 성공 응답 정보", + "description": "파트너 필터 옵션 조회 성공 응답 정보", + "type": "object", + "required": [ + "tags", + "contractSummary" + ], + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "조회된 태그 리스트" + }, + "contractSummary": { + "title": "조회된 파트너 계약 요약 정보 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerContractSummary" + } + } + }, + "x-portone-title": "파트너 필터 옵션 조회 성공 응답 정보" + }, + "PlatformPartnerIdAlreadyExistsError": { + "title": "PlatformPartnerIdAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformPartnerIdsAlreadyExistError": { + "title": "PlatformPartnerIdsAlreadyExistError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformPartnerIdsDuplicatedError": { + "title": "PlatformPartnerIdsDuplicatedError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformPartnerManualSettlement": { + "title": "PlatformPartnerManualSettlement", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "settlementDate", + "settlementCurrency", + "status", + "amount", + "isForTest" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산내역 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "status": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + } + } + }, + "PlatformPartnerNotFoundError": { + "title": "PlatformPartnerNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformPartnerOrderCancelSettlement": { + "title": "PlatformPartnerOrderCancelSettlement", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "settlementDate", + "settlementCurrency", + "status", + "contract", + "settlementStartDateRange", + "amount", + "isForTest" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산내역 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "status": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "계약" + }, + "settlementStartDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산 시작 일 범위" + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount", + "title": "금액 정보" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + } + } + }, + "PlatformPartnerOrderSettlement": { + "title": "PlatformPartnerOrderSettlement", + "type": "object", + "required": [ + "type", + "id", + "graphqlId", + "partner", + "settlementDate", + "settlementCurrency", + "status", + "contract", + "settlementStartDateRange", + "amount", + "isForTest" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "정산내역 아이디" + }, + "graphqlId": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "파트너" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산 일" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "status": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus", + "title": "정산 상태" + }, + "memo": { + "type": "string", + "title": "메모" + }, + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "계약" + }, + "settlementStartDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산 시작 일 범위" + }, + "amount": { + "$ref": "#/components/schemas/PlatformOrderSettlementAmount", + "title": "금액 정보" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + } + } + }, + "PlatformPartnerPayoutAccountTransfer": { + "title": "PlatformPartnerPayoutAccountTransfer", + "type": "object", + "required": [ + "type", + "id", + "sequenceNumber", + "currency", + "depositBank", + "depositAccountNumber", + "amount", + "isForTest", + "createdAt", + "updatedAt", + "partnerId", + "partnerGraphqlId", + "bulkPayoutId", + "bulkPayoutGraphqlId", + "payoutId", + "payoutGraphqlId" + ], + "properties": { + "type": { + "type": "string", + "title": "계좌 이체 유형" + }, + "id": { + "type": "string", + "title": "계좌 이체 아이디" + }, + "sequenceNumber": { + "type": "integer", + "format": "int32", + "title": "거래 일련번호" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "depositBank": { + "$ref": "#/components/schemas/Bank", + "title": "입금 계좌 은행" + }, + "depositAccountNumber": { + "type": "string", + "title": "입금 계좌 번호" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "금액" + }, + "withdrawalMemo": { + "type": "string", + "title": "출금 계좌 적요" + }, + "depositMemo": { + "type": "string", + "title": "입금 계좌 적요" + }, + "balance": { + "type": "integer", + "format": "int64", + "title": "잔액" + }, + "failReason": { + "type": "string", + "title": "실패 사유" + }, + "isForTest": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "생성 일자" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "수정 일자" + }, + "partnerId": { + "type": "string", + "title": "파트너 고유 아이디" + }, + "partnerGraphqlId": { + "type": "string" + }, + "bulkPayoutId": { + "type": "string", + "title": "일괄 지급 고유 아이디" + }, + "bulkPayoutGraphqlId": { + "type": "string" + }, + "payoutId": { + "type": "string", + "title": "지급 고유 아이디" + }, + "payoutGraphqlId": { + "type": "string" + } + } + }, + "PlatformPartnerScheduleAlreadyExistsError": { + "title": "PlatformPartnerScheduleAlreadyExistsError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformPartnerSchedulesAlreadyExistError": { + "title": "PlatformPartnerSchedulesAlreadyExistError", + "type": "object", + "required": [ + "type", + "ids", + "graphqlIds" + ], + "properties": { + "type": { + "type": "string" + }, + "ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "graphqlIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformPartnerSettlement": { + "title": "PlatformPartnerSettlement", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformPartnerManualSettlement" + }, + { + "$ref": "#/components/schemas/PlatformPartnerOrderCancelSettlement" + }, + { + "$ref": "#/components/schemas/PlatformPartnerOrderSettlement" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "MANUAL": "#/components/schemas/PlatformPartnerManualSettlement", + "ORDER": "#/components/schemas/PlatformPartnerOrderSettlement", + "ORDER_CANCEL": "#/components/schemas/PlatformPartnerOrderCancelSettlement" + } + }, + "x-portone-discriminator": { + "ORDER": {}, + "ORDER_CANCEL": {}, + "MANUAL": {} + } + }, + "PlatformPartnerSettlementDashboard": { + "title": "정산내역 대시보드", + "description": "정산내역 대시보드", + "type": "object", + "required": [ + "currencyStats" + ], + "properties": { + "currencyStats": { + "title": "정산 통화별 정산내역 통계 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlementDashboardCurrencyStat" + } + } + }, + "x-portone-title": "정산내역 대시보드" + }, + "PlatformPartnerSettlementDashboardCurrencyStat": { + "title": "정산 통화별 정산내역 통계", + "description": "정산 통화별 정산내역 통계", + "type": "object", + "required": [ + "currency", + "settlementAmount", + "orderAmount", + "feeAmount", + "manualAmount", + "statusSettlementAmount" + ], + "properties": { + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "총 정산 금액" + }, + "orderAmount": { + "type": "integer", + "format": "int64", + "title": "총 주문 금액" + }, + "feeAmount": { + "type": "integer", + "format": "int64", + "title": "총 정산 수수료 금액", + "description": "중개 수수료, 중개 수수료 부가세, 추가 수수료, 추가 수수료 부가세, 할인 분담금, 결제금액 부가세 부담금을 더한 금액 입니다." + }, + "manualAmount": { + "type": "integer", + "format": "int64", + "title": "총 수기 정산 금액" + }, + "statusSettlementAmount": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatusStats", + "title": "상태별 총 정산 금액" + } + }, + "x-portone-title": "정산 통화별 정산내역 통계" + }, + "PlatformPartnerSettlementFilterInput": { + "title": "PlatformPartnerSettlementFilterInput", + "type": "object", + "properties": { + "settlementDates": { + "type": "array", + "items": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다." + } + }, + "contractIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "partnerTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "settlementCurrencies": { + "title": "통화 단위", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + }, + "statuses": { + "title": "정산 상태", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus" + } + }, + "partnerIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "settlementTypes": { + "title": "정산 유형", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPartnerSettlementType" + } + }, + "keyword": { + "$ref": "#/components/schemas/PlatformPartnerSettlementFilterKeywordInput" + } + } + }, + "PlatformPartnerSettlementFilterKeywordInput": { + "title": "PlatformPartnerSettlementFilterKeywordInput", + "type": "object", + "properties": { + "partnerSettlementId": { + "type": "string" + }, + "payoutId": { + "type": "string" + }, + "bulkPayoutId": { + "type": "string" + } + } + }, + "PlatformPartnerSettlementNotFoundError": { + "title": "정산내역을 찾을 수 없는 경우", + "description": "정산내역을 찾을 수 없는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산내역을 찾을 수 없는 경우", + "x-portone-status-code": 404 + }, + "PlatformPartnerSettlementSheetField": { + "title": "다운로드 할 시트 컬럼", + "description": "다운로드 할 시트 컬럼", + "type": "string", + "enum": [ + "PARTNER_SETTLEMENT_ID", + "STATUS", + "PARTNER_ID", + "PARTNER_NAME", + "PARTNER_ACCOUNT_NUMBER", + "PARTNER_ACCOUNT_BANK", + "CONTRACT_ID", + "CONTRACT_NAME", + "SETTLEMENT_TYPE", + "SETTLEMENT_DATE", + "SETTLEMENT_START_DATE_RANGE", + "SETTLEMENT_CURRENCY", + "SETTLEMENT_AMOUNT", + "SETTLEMENT_ORDER_AMOUNT", + "SETTLEMENT_ORDER_TAX_FREE_AMOUNT", + "SETTLEMENT_PAYMENT_AMOUNT", + "SETTLEMENT_PAYMENT_VAT_AMOUNT", + "SETTLEMENT_PAYMENT_VAT_BURDEN_AMOUNT", + "SETTLEMENT_SUPPLY_AMOUNT", + "SETTLEMENT_TAX_FREE_AMOUNT", + "SETTLEMENT_PAYMENT_SUPPLY_AMOUNT", + "SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT", + "SETTLEMENT_PLATFORM_FEE_AMOUNT", + "SETTLEMENT_PLATFORM_FEE_VAT_AMOUNT", + "SETTLEMENT_DISCOUNT_AMOUNT", + "SETTLEMENT_DISCOUNT_TAX_FREE_AMOUNT", + "SETTLEMENT_DISCOUNT_SHARE_AMOUNT", + "SETTLEMENT_DISCOUNT_SHARE_TAX_FREE_AMOUNT", + "SETTLEMENT_ADDITIONAL_FEE_AMOUNT", + "SETTLEMENT_ADDITIONAL_FEE_VAT_AMOUNT", + "MEMO", + "PARTNER_TYPE", + "TAXATION_TYPE", + "INCOME_TYPE", + "TAXATION_TYPE_OR_INCOME_TYPE" + ], + "x-portone-title": "다운로드 할 시트 컬럼", + "x-portone-enum": { + "TAXATION_TYPE_OR_INCOME_TYPE": { + "title": "과세 유형 또는 소득 유형", + "description": "파트너 유형이 사업자인 경우 과세 유형, 원천징수 대상자인 소득 유형입니다." + }, + "PARTNER_ID": { + "title": "파트너 아이디" + }, + "SETTLEMENT_DISCOUNT_SHARE_AMOUNT": { + "title": "할인 분담금" + }, + "INCOME_TYPE": { + "title": "소득 유형" + }, + "STATUS": { + "title": "정산내역 상태" + }, + "SETTLEMENT_ORDER_AMOUNT": { + "title": "주문 금액" + }, + "SETTLEMENT_PAYMENT_AMOUNT": { + "title": "결제 금액" + }, + "PARTNER_ACCOUNT_NUMBER": { + "title": "파트너 계좌 번호" + }, + "PARTNER_TYPE": { + "title": "파트너 유형" + }, + "SETTLEMENT_DISCOUNT_TAX_FREE_AMOUNT": { + "title": "면세 할인 금액" + }, + "SETTLEMENT_ORDER_TAX_FREE_AMOUNT": { + "title": "면세 주문 금액" + }, + "TAXATION_TYPE": { + "title": "과세 유형" + }, + "SETTLEMENT_TAX_FREE_AMOUNT": { + "title": "결제 면세액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT 필드를 사용해주세요." + }, + "SETTLEMENT_ADDITIONAL_FEE_VAT_AMOUNT": { + "title": "추가 수수료 부가세" + }, + "SETTLEMENT_CURRENCY": { + "title": "정산 통화" + }, + "PARTNER_SETTLEMENT_ID": { + "title": "정산내역 아이디" + }, + "SETTLEMENT_DISCOUNT_AMOUNT": { + "title": "할인 금액" + }, + "CONTRACT_ID": { + "title": "계약 아이디" + }, + "SETTLEMENT_START_DATE_RANGE": { + "title": "정산 시작 일 범위" + }, + "SETTLEMENT_PAYMENT_SUPPLY_AMOUNT": { + "title": "결제 공급가액" + }, + "SETTLEMENT_DISCOUNT_SHARE_TAX_FREE_AMOUNT": { + "title": "면세 할인 분담금" + }, + "MEMO": { + "title": "메모" + }, + "PARTNER_NAME": { + "title": "파트너 이름" + }, + "SETTLEMENT_TYPE": { + "title": "정산 유형" + }, + "SETTLEMENT_PLATFORM_FEE_VAT_AMOUNT": { + "title": "중개 수수료 부가세" + }, + "CONTRACT_NAME": { + "title": "계약 이름" + }, + "SETTLEMENT_PAYMENT_VAT_BURDEN_AMOUNT": { + "title": "결제 금액 부가세 부담금" + }, + "SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT": { + "title": "결제 면세액" + }, + "SETTLEMENT_DATE": { + "title": "정산 일" + }, + "SETTLEMENT_SUPPLY_AMOUNT": { + "title": "결제 공급가액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 SETTLEMENT_PAYMENT_SUPPLY_AMOUNT 필드를 사용해주세요." + }, + "SETTLEMENT_ADDITIONAL_FEE_AMOUNT": { + "title": "추가 수수료" + }, + "PARTNER_ACCOUNT_BANK": { + "title": "파트너 계좌 은행" + }, + "SETTLEMENT_PAYMENT_VAT_AMOUNT": { + "title": "결제 금액 부가세" + }, + "SETTLEMENT_AMOUNT": { + "title": "정산 금액" + }, + "SETTLEMENT_PLATFORM_FEE_AMOUNT": { + "title": "중개 수수료" + } + } + }, + "PlatformPartnerSettlementStatus": { + "title": "정산 상태", + "description": "정산 상태", + "type": "string", + "enum": [ + "PAYOUT_PREPARED", + "PAYOUT_WITHHELD", + "PAYOUT_FAILED", + "IN_PAYOUT", + "PAID_OUT" + ], + "x-portone-title": "정산 상태", + "x-portone-enum": { + "PAYOUT_FAILED": { + "title": "지급 실패" + }, + "PAYOUT_WITHHELD": { + "title": "지급 보류" + }, + "PAID_OUT": { + "title": "지급 완료" + }, + "PAYOUT_PREPARED": { + "title": "지급 예정" + }, + "IN_PAYOUT": { + "title": "지급 중" + } + } + }, + "PlatformPartnerSettlementStatusStats": { + "title": "PlatformPartnerSettlementStatusStats", + "type": "object", + "required": [ + "payoutPrepared", + "payoutWithheld", + "payoutFailed", + "inPayout", + "paidOut" + ], + "properties": { + "payoutPrepared": { + "type": "integer", + "format": "int64" + }, + "payoutWithheld": { + "type": "integer", + "format": "int64" + }, + "payoutFailed": { + "type": "integer", + "format": "int64" + }, + "inPayout": { + "type": "integer", + "format": "int64" + }, + "paidOut": { + "type": "integer", + "format": "int64" + } + } + }, + "PlatformPartnerSettlementType": { + "title": "정산 유형", + "description": "정산 유형", + "type": "string", + "enum": [ + "MANUAL", + "ORDER", + "ORDER_CANCEL" + ], + "x-portone-title": "정산 유형", + "x-portone-enum": { + "MANUAL": { + "title": "수동 정산" + }, + "ORDER": { + "title": "주문 정산" + }, + "ORDER_CANCEL": { + "title": "주문 취소 정산" + } + } + }, + "PlatformPartnerStatus": { + "title": "플랫폼 파트너 상태", + "description": "플랫폼 파트너 상태", + "type": "string", + "enum": [ + "PENDING", + "APPROVED", + "REJECTED" + ], + "x-portone-title": "플랫폼 파트너 상태", + "x-portone-enum": { + "PENDING": { + "title": "승인 대기 중" + }, + "APPROVED": { + "title": "승인 완료" + }, + "REJECTED": { + "title": "승인 거절" + } + } + }, + "PlatformPartnerTaxationType": { + "title": "플랫폼 파트너 과세 유형", + "description": "플랫폼 파트너 과세 유형", + "type": "string", + "enum": [ + "NORMAL", + "SIMPLE_TAX_INVOICE_ISSUER", + "SIMPLE", + "TAX_FREE" + ], + "x-portone-title": "플랫폼 파트너 과세 유형", + "x-portone-enum": { + "NORMAL": { + "title": "일반 과세" + }, + "SIMPLE_TAX_INVOICE_ISSUER": { + "title": "간이과세(세금계산서 발행)" + }, + "SIMPLE": { + "title": "간이과세(세금계산서 미발행)" + }, + "TAX_FREE": { + "title": "면세" + } + } + }, + "PlatformPartnerType": { + "title": "파트너 유형별 추가 정보", + "description": "파트너 유형별 추가 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformPartnerTypeBusiness" + }, + { + "$ref": "#/components/schemas/PlatformPartnerTypeNonWhtPayer" + }, + { + "$ref": "#/components/schemas/PlatformPartnerTypeWhtPayer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BUSINESS": "#/components/schemas/PlatformPartnerTypeBusiness", + "NON_WHT_PAYER": "#/components/schemas/PlatformPartnerTypeNonWhtPayer", + "WHT_PAYER": "#/components/schemas/PlatformPartnerTypeWhtPayer" + } + }, + "x-portone-title": "파트너 유형별 추가 정보", + "x-portone-discriminator": { + "BUSINESS": { + "title": "사업자 파트너 정보" + }, + "WHT_PAYER": { + "title": "원천징수 대상자 파트너 정보" + }, + "NON_WHT_PAYER": { + "title": "원천징수 비대상자 파트너 정보" + } + } + }, + "PlatformPartnerTypeBusiness": { + "title": "사업자 파트너 정보", + "description": "사업자 파트너 정보\n\n사업자 유형의 파트너 추가 정보 입니다.", + "type": "object", + "required": [ + "type", + "companyName", + "taxationType", + "businessStatus", + "businessRegistrationNumber", + "representativeName" + ], + "properties": { + "type": { + "type": "string" + }, + "companyName": { + "type": "string", + "title": "상호명" + }, + "taxationType": { + "$ref": "#/components/schemas/PlatformPartnerTaxationType", + "title": "과세 유형" + }, + "businessStatus": { + "$ref": "#/components/schemas/PlatformPartnerBusinessStatus", + "title": "사업자 상태" + }, + "businessRegistrationNumber": { + "type": "string", + "title": "사업자등록번호" + }, + "representativeName": { + "type": "string", + "title": "대표자 이름" + }, + "companyAddress": { + "type": "string", + "title": "사업장 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + }, + "x-portone-title": "사업자 파트너 정보", + "x-portone-description": "사업자 유형의 파트너 추가 정보 입니다." + }, + "PlatformPartnerTypeNonWhtPayer": { + "title": "원천징수 비대상자 파트너 정보", + "description": "원천징수 비대상자 파트너 정보\n\n비사업자 유형의 파트너 추가 정보 입니다.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + }, + "x-portone-title": "원천징수 비대상자 파트너 정보", + "x-portone-description": "비사업자 유형의 파트너 추가 정보 입니다." + }, + "PlatformPartnerTypeWhtPayer": { + "title": "원천징수 대상자 파트너 정보", + "description": "원천징수 대상자 파트너 정보\n\n비사업자 유형의 파트너 추가 정보 입니다.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + }, + "x-portone-title": "원천징수 대상자 파트너 정보", + "x-portone-description": "비사업자 유형의 파트너 추가 정보 입니다." + }, + "PlatformPayer": { + "title": "금액 부담 주체", + "description": "금액 부담 주체\n\n플랫폼에서 발생한 결제 수수료, 부가세 등 금액을 부담하는 주체를 나타냅니다.", + "type": "string", + "enum": [ + "PARTNER", + "MERCHANT" + ], + "x-portone-title": "금액 부담 주체", + "x-portone-description": "플랫폼에서 발생한 결제 수수료, 부가세 등 금액을 부담하는 주체를 나타냅니다.", + "x-portone-enum": { + "PARTNER": { + "title": "파트너가 부담하는 경우" + }, + "MERCHANT": { + "title": "고객사가 부담하는 경우" + } + } + }, + "PlatformPayment": { + "title": "결제 정보", + "description": "결제 정보", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformExternalPayment" + }, + { + "$ref": "#/components/schemas/PlatformPortOnePayment" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "EXTERNAL": "#/components/schemas/PlatformExternalPayment", + "PORT_ONE": "#/components/schemas/PlatformPortOnePayment" + } + }, + "x-portone-title": "결제 정보", + "x-portone-discriminator": { + "PORT_ONE": { + "title": "포트원 결제 정보" + }, + "EXTERNAL": { + "title": "외부 결제 정보" + } + } + }, + "PlatformPaymentChannel": { + "title": "채널", + "description": "채널", + "type": "object", + "required": [ + "id", + "key", + "name", + "pgMerchantId" + ], + "properties": { + "id": { + "type": "string", + "title": "채널 아이디" + }, + "key": { + "type": "string", + "title": "채널 키" + }, + "name": { + "type": "string", + "title": "채널 이름" + }, + "pgMerchantId": { + "type": "string", + "title": "PG사 가맹점 식별 아이디" + }, + "pgCompany": { + "$ref": "#/components/schemas/PgCompany", + "title": "PG사" + } + }, + "x-portone-title": "채널" + }, + "PlatformPaymentMethod": { + "title": "결제 수단", + "description": "결제 수단", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformPaymentMethodCard" + }, + { + "$ref": "#/components/schemas/PlatformPaymentMethodEasyPay" + }, + { + "$ref": "#/components/schemas/PlatformPaymentMethodGiftCertificate" + }, + { + "$ref": "#/components/schemas/PlatformPaymentMethodMobile" + }, + { + "$ref": "#/components/schemas/PlatformPaymentMethodTransfer" + }, + { + "$ref": "#/components/schemas/PlatformPaymentMethodVirtualAccount" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CARD": "#/components/schemas/PlatformPaymentMethodCard", + "EASY_PAY": "#/components/schemas/PlatformPaymentMethodEasyPay", + "GIFT_CERTIFICATE": "#/components/schemas/PlatformPaymentMethodGiftCertificate", + "MOBILE": "#/components/schemas/PlatformPaymentMethodMobile", + "TRANSFER": "#/components/schemas/PlatformPaymentMethodTransfer", + "VIRTUAL_ACCOUNT": "#/components/schemas/PlatformPaymentMethodVirtualAccount" + } + }, + "x-portone-title": "결제 수단", + "x-portone-discriminator": { + "GIFT_CERTIFICATE": { + "title": "상품권" + }, + "VIRTUAL_ACCOUNT": { + "title": "가상계좌" + }, + "MOBILE": { + "title": "모바일" + }, + "CARD": { + "title": "카드" + }, + "TRANSFER": { + "title": "계좌이체" + }, + "EASY_PAY": { + "title": "간편 결제" + } + } + }, + "PlatformPaymentMethodCard": { + "title": "카드", + "description": "카드", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "카드" + }, + "PlatformPaymentMethodCardInput": { + "title": "PlatformPaymentMethodCardInput", + "type": "object" + }, + "PlatformPaymentMethodEasyPay": { + "title": "간편 결제", + "description": "간편 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "provider": { + "$ref": "#/components/schemas/EasyPayProvider", + "title": "간편 결제사" + }, + "methodType": { + "$ref": "#/components/schemas/EasyPayMethodType", + "title": "간편 결제 수단" + } + }, + "x-portone-title": "간편 결제" + }, + "PlatformPaymentMethodEasyPayInput": { + "title": "간편 결제 입력 정보", + "description": "간편 결제 입력 정보", + "type": "object", + "properties": { + "provider": { + "$ref": "#/components/schemas/EasyPayProvider", + "title": "간편 결제사" + }, + "methodType": { + "$ref": "#/components/schemas/EasyPayMethodType", + "title": "간편 결제 수단" + } + }, + "x-portone-title": "간편 결제 입력 정보" + }, + "PlatformPaymentMethodGiftCertificate": { + "title": "상품권", + "description": "상품권", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "상품권" + }, + "PlatformPaymentMethodGiftCertificateInput": { + "title": "PlatformPaymentMethodGiftCertificateInput", + "type": "object" + }, + "PlatformPaymentMethodInput": { + "title": "결제 수단 입력 정보", + "description": "결제 수단 입력 정보", + "type": "object", + "properties": { + "card": { + "$ref": "#/components/schemas/PlatformPaymentMethodCardInput", + "title": "카드" + }, + "transfer": { + "$ref": "#/components/schemas/PlatformPaymentMethodTransferInput", + "title": "계좌이체" + }, + "virtualAccount": { + "$ref": "#/components/schemas/PlatformPaymentMethodVirtualAccountInput", + "title": "가상계좌" + }, + "giftCertificate": { + "$ref": "#/components/schemas/PlatformPaymentMethodGiftCertificateInput", + "title": "상품권" + }, + "mobile": { + "$ref": "#/components/schemas/PlatformPaymentMethodMobileInput", + "title": "모바일" + }, + "easyPay": { + "$ref": "#/components/schemas/PlatformPaymentMethodEasyPayInput", + "title": "간편 결제" + } + }, + "x-portone-title": "결제 수단 입력 정보" + }, + "PlatformPaymentMethodMobile": { + "title": "모바일", + "description": "모바일", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "모바일" + }, + "PlatformPaymentMethodMobileInput": { + "title": "PlatformPaymentMethodMobileInput", + "type": "object" + }, + "PlatformPaymentMethodTransfer": { + "title": "계좌이체", + "description": "계좌이체", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "계좌이체" + }, + "PlatformPaymentMethodTransferInput": { + "title": "PlatformPaymentMethodTransferInput", + "type": "object" + }, + "PlatformPaymentMethodVirtualAccount": { + "title": "가상계좌", + "description": "가상계좌", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "가상계좌" + }, + "PlatformPaymentMethodVirtualAccountInput": { + "title": "PlatformPaymentMethodVirtualAccountInput", + "type": "object" + }, + "PlatformPaymentNotFoundError": { + "title": "PlatformPaymentNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformPayout": { + "title": "PlatformPayout", + "type": "object", + "required": [ + "id", + "graphqlId", + "method", + "status", + "statusUpdatedAt", + "partner", + "account", + "currency", + "amount", + "settlementAmount", + "incomeTaxAmount", + "localIncomeTaxAmount", + "createdAt" + ], + "properties": { + "id": { + "type": "string", + "title": "지급 고유 아이디" + }, + "graphqlId": { + "type": "string" + }, + "method": { + "$ref": "#/components/schemas/PlatformPayoutMethod" + }, + "status": { + "$ref": "#/components/schemas/PlatformPayoutStatus" + }, + "statusUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "memo": { + "type": "string" + }, + "partner": { + "$ref": "#/components/schemas/PlatformPartner" + }, + "account": { + "$ref": "#/components/schemas/PlatformPayoutAccount" + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "amount": { + "type": "integer", + "format": "int64" + }, + "settlementAmount": { + "type": "integer", + "format": "int64" + }, + "incomeTaxAmount": { + "type": "integer", + "format": "int64" + }, + "localIncomeTaxAmount": { + "type": "integer", + "format": "int64" + }, + "withdrawalMemo": { + "type": "string" + }, + "depositMemo": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + } + } + }, + "PlatformPayoutAccount": { + "title": "PlatformPayoutAccount", + "type": "object", + "required": [ + "bank", + "number", + "holder" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank" + }, + "number": { + "type": "string" + }, + "holder": { + "type": "string" + } + } + }, + "PlatformPayoutFilterInput": { + "title": "PlatformPayoutFilterInput", + "type": "object", + "required": [ + "criteria" + ], + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPayoutStatus" + } + }, + "partnerIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "criteria": { + "$ref": "#/components/schemas/PlatformPayoutFilterInputCriteria" + }, + "payoutAccountBanks": { + "title": "은행", + "type": "array", + "items": { + "$ref": "#/components/schemas/Bank" + } + }, + "partnerTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "payoutCurrencies": { + "title": "통화 단위", + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + } + } + }, + "PlatformPayoutFilterInputCriteria": { + "title": "검색 기준 입력 정보", + "description": "검색 기준 입력 정보", + "type": "object", + "properties": { + "timestampRange": { + "$ref": "#/components/schemas/DateTimeRange" + }, + "payoutId": { + "type": "string" + }, + "bulkPayoutId": { + "type": "string" + } + }, + "x-portone-title": "검색 기준 입력 정보" + }, + "PlatformPayoutMethod": { + "title": "PlatformPayoutMethod", + "type": "string", + "enum": [ + "DIRECT", + "AGENCY" + ], + "x-portone-enum": { + "DIRECT": {}, + "AGENCY": {} + } + }, + "PlatformPayoutNotFoundError": { + "title": "PlatformPayoutNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformPayoutStatus": { + "title": "PlatformPayoutStatus", + "type": "string", + "enum": [ + "PREPARED", + "CANCELLED", + "STOPPED", + "PROCESSING", + "SUCCEEDED", + "FAILED" + ], + "x-portone-enum": { + "STOPPED": {}, + "PREPARED": {}, + "CANCELLED": {}, + "SUCCEEDED": {}, + "PROCESSING": {}, + "FAILED": {} + } + }, + "PlatformPayoutStatusStats": { + "title": "PlatformPayoutStatusStats", + "type": "object", + "required": [ + "prepared", + "cancelled", + "stopped", + "processing", + "succeeded", + "failed" + ], + "properties": { + "prepared": { + "type": "integer", + "format": "int64" + }, + "cancelled": { + "type": "integer", + "format": "int64" + }, + "stopped": { + "type": "integer", + "format": "int64" + }, + "processing": { + "type": "integer", + "format": "int64" + }, + "succeeded": { + "type": "integer", + "format": "int64" + }, + "failed": { + "type": "integer", + "format": "int64" + } + } + }, + "PlatformPayoutsSheetField": { + "title": "다운로드 할 시트 컬럼", + "description": "다운로드 할 시트 컬럼", + "type": "string", + "enum": [ + "PAYOUT_ID", + "METHOD", + "STATUS", + "STATUS_UPDATED_AT", + "PARTNER_ID", + "PARTNER_NAME", + "ACCOUNT_BANK", + "ACCOUNT_NUMBER", + "ACCOUNT_HOLDER", + "CURRENCY", + "AMOUNT", + "SETTLEMENT_AMOUNT", + "INCOME_TAX_AMOUNT", + "LOCAL_INCOME_TAX_AMOUNT", + "WITHDRAWAL_MEMO", + "DEPOSIT_MEMO", + "MEMO", + "CREATED_AT", + "PARTNER_TYPE", + "TAXATION_TYPE", + "INCOME_TYPE", + "TAXATION_TYPE_OR_INCOME_TYPE" + ], + "x-portone-title": "다운로드 할 시트 컬럼", + "x-portone-enum": { + "PARTNER_ID": { + "title": "파트너 아이디" + }, + "STATUS_UPDATED_AT": { + "title": "상태 업데이트 시각" + }, + "STATUS": { + "title": "지급 상태" + }, + "WITHDRAWAL_MEMO": { + "title": "출금 메모" + }, + "MEMO": { + "title": "메모" + }, + "METHOD": { + "title": "지급 방식" + }, + "INCOME_TAX_AMOUNT": { + "title": "소득세" + }, + "PARTNER_TYPE": { + "title": "파트너 유형" + }, + "LOCAL_INCOME_TAX_AMOUNT": { + "title": "지방 소득세" + }, + "CURRENCY": { + "title": "지급 통화" + }, + "SETTLEMENT_AMOUNT": { + "title": "정산 금액" + }, + "TAXATION_TYPE": { + "title": "과세 유형" + }, + "ACCOUNT_HOLDER": { + "title": "지급 계좌 예금주" + }, + "TAXATION_TYPE_OR_INCOME_TYPE": { + "title": "과세 유형 또는 소득 유형", + "description": "파트너 유형이 사업자인 경우 과세 유형, 원천징수 대상자인 소득 유형입니다." + }, + "INCOME_TYPE": { + "title": "소득 유형" + }, + "CREATED_AT": { + "title": "지급 생성 시각" + }, + "PAYOUT_ID": { + "title": "지급 아이디" + }, + "PARTNER_NAME": { + "title": "파트너 이름" + }, + "ACCOUNT_NUMBER": { + "title": "지급 계좌 번호" + }, + "AMOUNT": { + "title": "지급 금액" + }, + "ACCOUNT_BANK": { + "title": "지급 계좌 은행" + }, + "DEPOSIT_MEMO": { + "title": "입금 메모" + } + } + }, + "PlatformPortOnePayment": { + "title": "포트원 결제 정보", + "description": "포트원 결제 정보", + "type": "object", + "required": [ + "type", + "id", + "storeId", + "channelKey", + "orderName", + "currency", + "paidAt" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string", + "title": "결제 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "channelKey": { + "type": "string", + "title": "채널 키" + }, + "orderName": { + "type": "string", + "title": "주문 명" + }, + "method": { + "$ref": "#/components/schemas/PlatformPaymentMethod", + "title": "결제 수단" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "paidAt": { + "type": "string", + "format": "date-time", + "title": "결제 일시" + } + }, + "x-portone-title": "포트원 결제 정보" + }, + "PlatformPortOnePaymentCancelAmountType": { + "title": "금액 타입", + "description": "금액 타입", + "type": "string", + "enum": [ + "SUPPLY_WITH_VAT", + "TAX_FREE" + ], + "x-portone-title": "금액 타입", + "x-portone-enum": { + "SUPPLY_WITH_VAT": { + "title": "공급대가", + "description": "공급가액과 부가세를 더한 금액입니다." + }, + "TAX_FREE": { + "title": "면세 금액" + } + } + }, + "PlatformProductIdDuplicatedError": { + "title": "PlatformProductIdDuplicatedError", + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformProductIdNotFoundError": { + "title": "PlatformProductIdNotFoundError", + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformProperties": { + "title": "PlatformProperties", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyValue" + } + }, + "PlatformRemitAccountTransfer": { + "title": "PlatformRemitAccountTransfer", + "type": "object", + "required": [ + "type", + "id", + "sequenceNumber", + "currency", + "depositBank", + "depositAccountNumber", + "amount", + "isForTest", + "createdAt", + "updatedAt", + "documentId" + ], + "properties": { + "type": { + "type": "string", + "title": "계좌 이체 유형" + }, + "id": { + "type": "string", + "title": "계좌 이체 아이디" + }, + "sequenceNumber": { + "type": "integer", + "format": "int32", + "title": "거래 일련번호" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "depositBank": { + "$ref": "#/components/schemas/Bank", + "title": "입금 계좌 은행" + }, + "depositAccountNumber": { + "type": "string", + "title": "입금 계좌 번호" + }, + "amount": { + "type": "integer", + "format": "int64", + "title": "금액" + }, + "withdrawalMemo": { + "type": "string", + "title": "출금 계좌 적요" + }, + "depositMemo": { + "type": "string", + "title": "입금 계좌 적요" + }, + "balance": { + "type": "integer", + "format": "int64", + "title": "잔액" + }, + "failReason": { + "type": "string", + "title": "실패 사유" + }, + "isForTest": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "생성 일자" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "수정 일자" + }, + "documentId": { + "type": "string", + "title": "전자서명 아이디" + } + } + }, + "PlatformRoundType": { + "title": "금액에 대한 소수점 처리 방식", + "description": "금액에 대한 소수점 처리 방식", + "type": "string", + "enum": [ + "OFF", + "DOWN", + "UP" + ], + "x-portone-title": "금액에 대한 소수점 처리 방식", + "x-portone-enum": { + "OFF": { + "title": "소수점 반올림" + }, + "DOWN": { + "title": "소수점 내림" + }, + "UP": { + "title": "소수점 올림" + } + } + }, + "PlatformSettlementAmountExceededError": { + "title": "정산 가능한 금액을 초과한 경우", + "description": "정산 가능한 금액을 초과한 경우", + "type": "object", + "required": [ + "type", + "requestedAmount", + "allowedAmount", + "type" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/AmountExceededType" + }, + "message": { + "type": "string" + }, + "productId": { + "type": "string", + "title": "상품 아이디", + "description": "주문 항목의 상품 아이디입니다." + }, + "requestedAmount": { + "type": "integer", + "format": "int64", + "title": "요청 받은 금액" + }, + "allowedAmount": { + "type": "integer", + "format": "int64", + "title": "초과한 금액" + } + }, + "x-portone-title": "정산 가능한 금액을 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformSettlementCancelAmountExceededPortOneCancelError": { + "title": "정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우", + "description": "정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우", + "type": "object", + "required": [ + "type", + "registeredSettlementCancelAmount", + "requestSettlementCancelAmount", + "portOneCancelAmount", + "amountType" + ], + "properties": { + "type": { + "type": "string" + }, + "registeredSettlementCancelAmount": { + "type": "integer", + "format": "int64" + }, + "requestSettlementCancelAmount": { + "type": "integer", + "format": "int64" + }, + "portOneCancelAmount": { + "type": "integer", + "format": "int64" + }, + "amountType": { + "$ref": "#/components/schemas/PlatformPortOnePaymentCancelAmountType" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformSettlementCycle": { + "title": "정산 주기", + "description": "정산 주기\n\n지체일, 정산일, 기준일로 구성되며, 해당 요소들의 조합으로 실제 정산일을 계산합니다.", + "type": "object", + "required": [ + "lagDays", + "datePolicy", + "method" + ], + "properties": { + "lagDays": { + "type": "integer", + "format": "int32", + "title": "지체일 (d+n 의 n)", + "description": "정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지 지정할 수 있습니다." + }, + "datePolicy": { + "$ref": "#/components/schemas/PlatformSettlementCycleDatePolicy", + "title": "기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다." + }, + "method": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethod", + "title": "정산 주기 계산 방식" + } + }, + "x-portone-title": "정산 주기", + "x-portone-description": "지체일, 정산일, 기준일로 구성되며, 해당 요소들의 조합으로 실제 정산일을 계산합니다." + }, + "PlatformSettlementCycleDatePolicy": { + "title": "플랫폼 정산 기준일", + "description": "플랫폼 정산 기준일", + "type": "string", + "enum": [ + "HOLIDAY_BEFORE", + "HOLIDAY_AFTER", + "CALENDAR_DAY" + ], + "x-portone-title": "플랫폼 정산 기준일", + "x-portone-enum": { + "HOLIDAY_BEFORE": { + "title": "공휴일 전 영업일" + }, + "HOLIDAY_AFTER": { + "title": "공휴일 후 영업일" + }, + "CALENDAR_DAY": { + "title": "달력일" + } + } + }, + "PlatformSettlementCycleInput": { + "title": "플랫폼 정산 주기 입력 정보", + "description": "플랫폼 정산 주기 입력 정보", + "type": "object", + "required": [ + "lagDays", + "datePolicy", + "method" + ], + "properties": { + "lagDays": { + "type": "integer", + "format": "int32", + "title": "지체일 (d+n 의 n)", + "description": "정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지 지정할 수 있습니다." + }, + "datePolicy": { + "$ref": "#/components/schemas/PlatformSettlementCycleDatePolicy", + "title": "기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다." + }, + "method": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodInput", + "title": "정산 주기 계산 방식" + } + }, + "x-portone-title": "플랫폼 정산 주기 입력 정보" + }, + "PlatformSettlementCycleMethod": { + "title": "플랫폼 정산 주기 계산 방식", + "description": "플랫폼 정산 주기 계산 방식", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodDaily" + }, + { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodManualDates" + }, + { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodMonthly" + }, + { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodWeekly" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "DAILY": "#/components/schemas/PlatformSettlementCycleMethodDaily", + "MANUAL_DATES": "#/components/schemas/PlatformSettlementCycleMethodManualDates", + "MONTHLY": "#/components/schemas/PlatformSettlementCycleMethodMonthly", + "WEEKLY": "#/components/schemas/PlatformSettlementCycleMethodWeekly" + } + }, + "x-portone-title": "플랫폼 정산 주기 계산 방식", + "x-portone-discriminator": { + "DAILY": { + "title": "매일 정산" + }, + "WEEKLY": { + "title": "매주 정해진 요일에 정산" + }, + "MONTHLY": { + "title": "매월 정해진 날(일)에 정산" + }, + "MANUAL_DATES": { + "title": "정해진 날짜(월, 일)에 정산" + } + } + }, + "PlatformSettlementCycleMethodDaily": { + "title": "매일 정산", + "description": "매일 정산", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + }, + "x-portone-title": "매일 정산" + }, + "PlatformSettlementCycleMethodDailyInput": { + "title": "PlatformSettlementCycleMethodDailyInput", + "type": "object" + }, + "PlatformSettlementCycleMethodInput": { + "title": "플랫폼 정산 주기 계산 방식 입력 정보", + "description": "플랫폼 정산 주기 계산 방식 입력 정보\n\n하나의 하위 필드에만 값을 명시하여 요청합니다.", + "type": "object", + "properties": { + "daily": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodDailyInput", + "title": "매일 정산" + }, + "weekly": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodWeeklyInput", + "title": "매주 정해진 요일에 정산" + }, + "monthly": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodMonthlyInput", + "title": "매월 정해진 날(일)에 정산" + }, + "manualDates": { + "$ref": "#/components/schemas/PlatformSettlementCycleMethodManualDatesInput", + "title": "정해진 날짜(월, 일)에 정산" + } + }, + "x-portone-title": "플랫폼 정산 주기 계산 방식 입력 정보", + "x-portone-description": "하나의 하위 필드에만 값을 명시하여 요청합니다." + }, + "PlatformSettlementCycleMethodManualDates": { + "title": "정해진 날짜(월, 일)에 정산", + "description": "정해진 날짜(월, 일)에 정산", + "type": "object", + "required": [ + "type", + "dates" + ], + "properties": { + "type": { + "type": "string" + }, + "dates": { + "title": "월 및 일자 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/MonthDay" + } + } + }, + "x-portone-title": "정해진 날짜(월, 일)에 정산" + }, + "PlatformSettlementCycleMethodManualDatesInput": { + "title": "PlatformSettlementCycleMethodManualDatesInput", + "type": "object", + "required": [ + "dates" + ], + "properties": { + "dates": { + "title": "월 및 일자 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/MonthDay" + } + } + } + }, + "PlatformSettlementCycleMethodMonthly": { + "title": "매월 정해진 날(일)에 정산", + "description": "매월 정해진 날(일)에 정산", + "type": "object", + "required": [ + "type", + "daysOfMonth" + ], + "properties": { + "type": { + "type": "string" + }, + "daysOfMonth": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "x-portone-title": "매월 정해진 날(일)에 정산" + }, + "PlatformSettlementCycleMethodMonthlyInput": { + "title": "PlatformSettlementCycleMethodMonthlyInput", + "type": "object", + "required": [ + "daysOfMonth" + ], + "properties": { + "daysOfMonth": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + }, + "PlatformSettlementCycleMethodWeekly": { + "title": "매주 정해진 요일에 정산", + "description": "매주 정해진 요일에 정산", + "type": "object", + "required": [ + "type", + "daysOfWeek" + ], + "properties": { + "type": { + "type": "string" + }, + "daysOfWeek": { + "title": "요일", + "type": "array", + "items": { + "$ref": "#/components/schemas/DayOfWeek" + } + } + }, + "x-portone-title": "매주 정해진 요일에 정산" + }, + "PlatformSettlementCycleMethodWeeklyInput": { + "title": "PlatformSettlementCycleMethodWeeklyInput", + "type": "object", + "required": [ + "daysOfWeek" + ], + "properties": { + "daysOfWeek": { + "title": "요일", + "type": "array", + "items": { + "$ref": "#/components/schemas/DayOfWeek" + } + } + } + }, + "PlatformSettlementCycleType": { + "title": "플랫폼 정산 주기 계산 방식", + "description": "플랫폼 정산 주기 계산 방식", + "type": "string", + "enum": [ + "DAILY", + "WEEKLY", + "MONTHLY", + "MANUAL_DATES" + ], + "x-portone-title": "플랫폼 정산 주기 계산 방식", + "x-portone-enum": { + "DAILY": { + "title": "매일 정산" + }, + "WEEKLY": { + "title": "매주 정해진 요일에 정산" + }, + "MONTHLY": { + "title": "매월 정해진 날(일)에 정산" + }, + "MANUAL_DATES": { + "title": "정해진 날짜(월, 일)에 정산" + } + } + }, + "PlatformSettlementFormula": { + "title": "플랫폼 내 발생하는 여러 수수료 및 할인 분담에 관한 계산식 정보", + "description": "플랫폼 내 발생하는 여러 수수료 및 할인 분담에 관한 계산식 정보", + "type": "object", + "required": [ + "platformFee", + "discountShare", + "additionalFee" + ], + "properties": { + "platformFee": { + "type": "string", + "title": "플랫폼 수수료 계산식" + }, + "discountShare": { + "type": "string", + "title": "할인 분담액 계산식" + }, + "additionalFee": { + "type": "string", + "title": "추가 수수료 계산식" + } + }, + "x-portone-title": "플랫폼 내 발생하는 여러 수수료 및 할인 분담에 관한 계산식 정보" + }, + "PlatformSettlementFormulaError": { + "title": "PlatformSettlementFormulaError", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformSettlementFormulaInvalidFunction" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaInvalidOperator" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaInvalidSyntax" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaInvalidVariable" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaUnexpectedFunctionArguments" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaUnknownError" + }, + { + "$ref": "#/components/schemas/PlatformSettlementFormulaUnsupportedVariable" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_FUNCTION": "#/components/schemas/PlatformSettlementFormulaInvalidFunction", + "INVALID_OPERATOR": "#/components/schemas/PlatformSettlementFormulaInvalidOperator", + "INVALID_SYNTAX": "#/components/schemas/PlatformSettlementFormulaInvalidSyntax", + "INVALID_VARIABLE": "#/components/schemas/PlatformSettlementFormulaInvalidVariable", + "UNEXPECTED_FUNCTION_ARGUMENTS": "#/components/schemas/PlatformSettlementFormulaUnexpectedFunctionArguments", + "UNKNOWN_ERROR": "#/components/schemas/PlatformSettlementFormulaUnknownError", + "UNSUPPORTED_VARIABLE": "#/components/schemas/PlatformSettlementFormulaUnsupportedVariable" + } + }, + "x-portone-discriminator": { + "UNKNOWN_ERROR": {}, + "UNEXPECTED_FUNCTION_ARGUMENTS": {}, + "INVALID_FUNCTION": {}, + "UNSUPPORTED_VARIABLE": {}, + "INVALID_OPERATOR": {}, + "INVALID_SYNTAX": {}, + "INVALID_VARIABLE": {} + } + }, + "PlatformSettlementFormulaInvalidFunction": { + "title": "PlatformSettlementFormulaInvalidFunction", + "type": "object", + "required": [ + "type", + "name", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "name": { + "type": "string" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementFormulaInvalidOperator": { + "title": "PlatformSettlementFormulaInvalidOperator", + "type": "object", + "required": [ + "type", + "operator", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "operator": { + "type": "string" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementFormulaInvalidSyntax": { + "title": "PlatformSettlementFormulaInvalidSyntax", + "type": "object", + "required": [ + "type", + "syntax", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "syntax": { + "type": "string" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementFormulaInvalidVariable": { + "title": "PlatformSettlementFormulaInvalidVariable", + "type": "object", + "required": [ + "type", + "name", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "name": { + "type": "string" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementFormulaPosition": { + "title": "PlatformSettlementFormulaPosition", + "type": "object", + "required": [ + "startLine", + "startIndex", + "endLine", + "endIndex" + ], + "properties": { + "startLine": { + "type": "integer", + "format": "int32" + }, + "startIndex": { + "type": "integer", + "format": "int32" + }, + "endLine": { + "type": "integer", + "format": "int32" + }, + "endIndex": { + "type": "integer", + "format": "int32" + } + } + }, + "PlatformSettlementFormulaUnexpectedFunctionArguments": { + "title": "PlatformSettlementFormulaUnexpectedFunctionArguments", + "type": "object", + "required": [ + "type", + "functionName", + "expectedCount", + "currentCount", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "functionName": { + "type": "string" + }, + "expectedCount": { + "type": "integer", + "format": "int32" + }, + "currentCount": { + "type": "integer", + "format": "int32" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementFormulaUnknownError": { + "title": "PlatformSettlementFormulaUnknownError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + } + }, + "PlatformSettlementFormulaUnsupportedVariable": { + "title": "PlatformSettlementFormulaUnsupportedVariable", + "type": "object", + "required": [ + "type", + "name", + "position" + ], + "properties": { + "type": { + "type": "string" + }, + "name": { + "type": "string" + }, + "position": { + "$ref": "#/components/schemas/PlatformSettlementFormulaPosition" + } + } + }, + "PlatformSettlementParameterNotFoundError": { + "title": "정산 파라미터가 존재하지 않는 경우", + "description": "정산 파라미터가 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 파라미터가 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "PlatformSettlementParameterValue": { + "title": "플랫폼 정산 파라미터 값", + "description": "플랫폼 정산 파라미터 값", + "type": "object", + "required": [ + "decimal" + ], + "properties": { + "decimal": { + "type": "integer", + "format": "int64", + "title": "크기가 조정되지 않은 숫자" + }, + "decimalScale": { + "type": "integer", + "format": "int32", + "title": "소수 자리수", + "description": "정산 시 필요한 `decimalScale`이 지정되지 않은 경우 기본값으로 0을 사용합니다.\n입력 가능한 법위는 0 ~ 5 입니다." + } + }, + "x-portone-title": "플랫폼 정산 파라미터 값" + }, + "PlatformSettlementPaymentAmountExceededPortOnePaymentError": { + "title": "정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우", + "description": "정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우", + "type": "object", + "required": [ + "type", + "registeredSettlementPaymentAmount", + "requestSettlementPaymentAmount", + "portOnePaymentAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "registeredSettlementPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "requestSettlementPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "portOnePaymentAmount": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformSettlementRule": { + "title": "플랫폼 정산건 처리 방식에 관한 규칙", + "description": "플랫폼 정산건 처리 방식에 관한 규칙", + "type": "object", + "required": [ + "supportsMultipleOrderTransfersPerPartner", + "adjustSettlementDateAfterHolidayIfEarlier", + "subtractWhtInPayoutAmount" + ], + "properties": { + "supportsMultipleOrderTransfersPerPartner": { + "type": "boolean", + "title": "paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부" + }, + "adjustSettlementDateAfterHolidayIfEarlier": { + "type": "boolean", + "title": "정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부" + }, + "subtractWhtInPayoutAmount": { + "type": "boolean", + "title": "지급 금액에서 원천징수세 차감 여부" + } + }, + "x-portone-title": "플랫폼 정산건 처리 방식에 관한 규칙" + }, + "PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError": { + "title": "정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우", + "description": "정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우", + "type": "object", + "required": [ + "type", + "registeredSettlementSupplyWithVatAmount", + "requestSettlementSupplyWithVatAmount", + "portOneSupplyWithVatAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "registeredSettlementSupplyWithVatAmount": { + "type": "integer", + "format": "int64" + }, + "requestSettlementSupplyWithVatAmount": { + "type": "integer", + "format": "int64" + }, + "portOneSupplyWithVatAmount": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformSettlementTaxFreeAmountExceededPortOnePaymentError": { + "title": "정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우", + "description": "정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우", + "type": "object", + "required": [ + "type", + "registeredSettlementTaxFreeAmount", + "requestSettlementTaxFreeAmount", + "portOneTaxFreeAmount" + ], + "properties": { + "type": { + "type": "string" + }, + "registeredSettlementTaxFreeAmount": { + "type": "integer", + "format": "int64" + }, + "requestSettlementTaxFreeAmount": { + "type": "integer", + "format": "int64" + }, + "portOneTaxFreeAmount": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우", + "x-portone-status-code": 400 + }, + "PlatformTransfer": { + "title": "정산건", + "description": "정산건\n\n정산건은 파트너에 정산해줄 정산 금액과 정산 방식 등이 포함되어 있는 정산 정보입니다.\n정산 방식은은 주문 정산, 주문 취소 정산, 수기 정산이 있습니다.", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformManualTransfer" + }, + { + "$ref": "#/components/schemas/PlatformOrderCancelTransfer" + }, + { + "$ref": "#/components/schemas/PlatformOrderTransfer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "MANUAL": "#/components/schemas/PlatformManualTransfer", + "ORDER": "#/components/schemas/PlatformOrderTransfer", + "ORDER_CANCEL": "#/components/schemas/PlatformOrderCancelTransfer" + } + }, + "x-portone-title": "정산건", + "x-portone-description": "정산건은 파트너에 정산해줄 정산 금액과 정산 방식 등이 포함되어 있는 정산 정보입니다.\n정산 방식은은 주문 정산, 주문 취소 정산, 수기 정산이 있습니다.", + "x-portone-discriminator": { + "MANUAL": { + "title": "수기 정산건" + }, + "ORDER": { + "title": "주문 정산건" + }, + "ORDER_CANCEL": { + "title": "주문 취소 정산건" + } + } + }, + "PlatformTransferAlreadyExistsError": { + "title": "PlatformTransferAlreadyExistsError", + "type": "object", + "required": [ + "type", + "transferId", + "transferGraphqlId" + ], + "properties": { + "type": { + "type": "string" + }, + "transferId": { + "type": "string" + }, + "transferGraphqlId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 409 + }, + "PlatformTransferDashboard": { + "title": "PlatformTransferDashboard", + "type": "object", + "required": [ + "totalSettlementAmount", + "totalSettlementFeeAmount", + "totalOrderAmount" + ], + "properties": { + "totalSettlementAmount": { + "type": "integer", + "format": "int64" + }, + "totalSettlementFeeAmount": { + "type": "integer", + "format": "int64" + }, + "totalOrderAmount": { + "type": "integer", + "format": "int64" + }, + "settlementStartDateRange": { + "$ref": "#/components/schemas/DateRange" + } + } + }, + "PlatformTransferDiscountSharePolicyNotFoundError": { + "title": "PlatformTransferDiscountSharePolicyNotFoundError", + "type": "object", + "required": [ + "type", + "discountSharePolicyId", + "discountSharePolicyGraphqlId" + ], + "properties": { + "type": { + "type": "string" + }, + "discountSharePolicyId": { + "type": "string" + }, + "discountSharePolicyGraphqlId": { + "type": "string" + }, + "productId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformTransferFilterInput": { + "title": "정산건 필터 입력 정보", + "description": "정산건 필터 입력 정보\n\n정산 시작일 범위와 정산 일 범위는 둘 중 하나만 입력 가능합니다.", + "type": "object", + "properties": { + "settlementStartDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산 시작일 범위" + }, + "settlementDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산 일 범위" + }, + "partnerTags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "파트너 태그 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너에 대한 정산건만 조회합니다." + }, + "contractIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "계약 아이디 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 계약 아이디를 가지는 정산건만 조회합니다." + }, + "discountSharePolicyIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "할인 분담 정책 아이디 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 할인 분담 정책 아이디를 하나 이상 가지는 정산건만 조회합니다." + }, + "additionalFeePolicyIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "추가 수수료 정책 아이디 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 추가 수수료 아이디를 하나 이상 가지는 정산건만 조회합니다." + }, + "paymentMethodTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethodType" + }, + "title": "결제 수단 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 결제 수단을 가지는 파트너만 조회합니다." + }, + "channelKeys": { + "type": "array", + "items": { + "type": "string" + }, + "title": "채널 키 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 채널 키를 가지는 정산건만 조회합니다." + }, + "types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformTransferType" + }, + "title": "정산 방식 리스트", + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 방식의 정산건만 조회합니다." + }, + "statuses": { + "title": "정산 상태 리스트", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformTransferStatus" + }, + "description": "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 상태인 정산건만 조회합니다." + }, + "keyword": { + "$ref": "#/components/schemas/PlatformTransferFilterInputKeyword", + "title": "검색 키워드" + }, + "isForTest": { + "type": "boolean", + "title": "테스트 모드 여부" + } + }, + "x-portone-title": "정산건 필터 입력 정보", + "x-portone-description": "정산 시작일 범위와 정산 일 범위는 둘 중 하나만 입력 가능합니다." + }, + "PlatformTransferFilterInputKeyword": { + "title": "정산건 검색 키워드 입력 정보", + "description": "정산건 검색 키워드 입력 정보\n\n검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.", + "type": "object", + "properties": { + "all": { + "type": "string", + "description": "해당 값이 포함된 정보를 가진 정산건만 조회합니다." + }, + "paymentId": { + "type": "string", + "description": "해당 값이랑 일치하는 paymentId 를 가진 정산건만 조회합니다." + }, + "transferId": { + "type": "string", + "description": "해당 값이랑 일치하는 transferId 를 가진 정산건만 조회합니다." + }, + "transferMemo": { + "type": "string", + "description": "해당 값이 포함된 transferMemo 를 가진 정산건만 조회합니다." + }, + "productId": { + "type": "string", + "description": "해당 값이랑 일치하는 productId 를 가진 정산건만 조회합니다." + }, + "productName": { + "type": "string", + "description": "해당 값이랑 일치하는 productName 을 가진 정산건만 조회합니다." + }, + "partnerId": { + "type": "string", + "description": "해당 값이랑 일치하는 partnerId 를 가진 정산건만 조회합니다." + }, + "partnerName": { + "type": "string", + "description": "해당 값이 포함된 partnerName 을 가진 정산건만 조회합니다." + }, + "partnerMemo": { + "type": "string", + "description": "해당 값이 포함된 partnerMemo 를 가진 정산건만 조회합니다." + } + }, + "x-portone-title": "정산건 검색 키워드 입력 정보", + "x-portone-description": "검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다." + }, + "PlatformTransferFilterOptions": { + "title": "PlatformTransferFilterOptions", + "type": "object", + "required": [ + "partnerTags", + "contractIds", + "additionalFeePolicyIds", + "discountSharePolicyIds", + "paymentChannels" + ], + "properties": { + "partnerTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "contractIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "additionalFeePolicyIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "discountSharePolicyIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "paymentChannels": { + "title": "채널", + "type": "array", + "items": { + "$ref": "#/components/schemas/PlatformPaymentChannel" + } + } + } + }, + "PlatformTransferNonDeletableStatusError": { + "title": "PlatformTransferNonDeletableStatusError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 400 + }, + "PlatformTransferNotFoundError": { + "title": "PlatformTransferNotFoundError", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-status-code": 404 + }, + "PlatformTransferSheetField": { + "title": "다운로드 할 시트 컬럼", + "description": "다운로드 할 시트 컬럼", + "type": "string", + "enum": [ + "STATUS", + "TRANSFER_ID", + "PARTNER_NAME", + "SETTLEMENT_DATE", + "SETTLEMENT_START_DATE", + "TYPE", + "PAYMENT_ID", + "ORDER_NAME", + "PAYMENT_METHOD", + "SETTLEMENT_AMOUNT", + "SETTLEMENT_ORDER_AMOUNT", + "SETTLEMENT_ORDER_TAX_FREE_AMOUNT", + "SETTLEMENT_PAYMENT_AMOUNT", + "SETTLEMENT_PAYMENT_VAT_AMOUNT", + "SETTLEMENT_PAYMENT_VAT_BURDEN_AMOUNT", + "SETTLEMENT_SUPPLY_AMOUNT", + "SETTLEMENT_TAX_FREE_AMOUNT", + "SETTLEMENT_PAYMENT_SUPPLY_AMOUNT", + "SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT", + "SETTLEMENT_PLATFORM_FEE_AMOUNT", + "SETTLEMENT_PLATFORM_FEE_VAT_AMOUNT", + "SETTLEMENT_DISCOUNT_AMOUNT", + "SETTLEMENT_DISCOUNT_TAX_FREE_AMOUNT", + "SETTLEMENT_DISCOUNT_SHARE_AMOUNT", + "SETTLEMENT_DISCOUNT_SHARE_TAX_FREE_AMOUNT", + "SETTLEMENT_ADDITIONAL_FEE_AMOUNT", + "SETTLEMENT_ADDITIONAL_FEE_VAT_AMOUNT", + "SETTLEMENT_CURRENCY", + "PARTNER_TYPE", + "TAXATION_TYPE", + "INCOME_TYPE", + "TAXATION_TYPE_OR_INCOME_TYPE" + ], + "x-portone-title": "다운로드 할 시트 컬럼", + "x-portone-enum": { + "TAXATION_TYPE_OR_INCOME_TYPE": { + "title": "과세 유형 또는 소득 유형", + "description": "파트너 유형이 사업자인 경우 과세 유형, 원천징수 대상자인 소득 유형입니다." + }, + "SETTLEMENT_DISCOUNT_SHARE_AMOUNT": { + "title": "할인 분담금" + }, + "PAYMENT_ID": { + "title": "결제 내역 아이디" + }, + "SETTLEMENT_DISCOUNT_AMOUNT": { + "title": "할인 금액" + }, + "INCOME_TYPE": { + "title": "소득 유형" + }, + "SETTLEMENT_PAYMENT_SUPPLY_AMOUNT": { + "title": "결제 공급가액" + }, + "STATUS": { + "title": "정산 건 상태" + }, + "SETTLEMENT_DISCOUNT_SHARE_TAX_FREE_AMOUNT": { + "title": "면세 할인 분담금" + }, + "SETTLEMENT_ORDER_AMOUNT": { + "title": "주문 금액" + }, + "TRANSFER_ID": { + "title": "정산 건 아이디" + }, + "PARTNER_TYPE": { + "title": "파트너 유형" + }, + "SETTLEMENT_DISCOUNT_TAX_FREE_AMOUNT": { + "title": "면세 할인 금액" + }, + "ORDER_NAME": { + "title": "주문 명" + }, + "SETTLEMENT_TAX_FREE_AMOUNT": { + "title": "결제 면세액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT 필드를 사용해주세요." + }, + "SETTLEMENT_ADDITIONAL_FEE_VAT_AMOUNT": { + "title": "추가 수수료 부가세" + }, + "SETTLEMENT_CURRENCY": { + "title": "정산 통화" + }, + "PARTNER_NAME": { + "title": "파트너 이름" + }, + "SETTLEMENT_PLATFORM_FEE_VAT_AMOUNT": { + "title": "중개 수수료 부가세" + }, + "PAYMENT_METHOD": { + "title": "결제 수단" + }, + "SETTLEMENT_PAYMENT_AMOUNT": { + "title": "결제 금액" + }, + "SETTLEMENT_START_DATE": { + "title": "정산 시작 일" + }, + "SETTLEMENT_ORDER_TAX_FREE_AMOUNT": { + "title": "면세 주문 금액" + }, + "SETTLEMENT_PAYMENT_VAT_BURDEN_AMOUNT": { + "title": "결제 금액 부가세 부담금" + }, + "SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT": { + "title": "결제 면세액" + }, + "SETTLEMENT_DATE": { + "title": "정산 일" + }, + "SETTLEMENT_SUPPLY_AMOUNT": { + "title": "결제 공급가액", + "description": "해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 SETTLEMENT_PAYMENT_SUPPLY_AMOUNT 필드를 사용해주세요." + }, + "SETTLEMENT_ADDITIONAL_FEE_AMOUNT": { + "title": "추가 수수료" + }, + "SETTLEMENT_PAYMENT_VAT_AMOUNT": { + "title": "결제 금액 부가세" + }, + "SETTLEMENT_AMOUNT": { + "title": "정산 금액" + }, + "SETTLEMENT_PLATFORM_FEE_AMOUNT": { + "title": "중개 수수료" + }, + "TAXATION_TYPE": { + "title": "과세 유형" + }, + "TYPE": { + "title": "정산 구분" + } + } + }, + "PlatformTransferStatus": { + "title": "정산 상태", + "description": "정산 상태", + "type": "string", + "enum": [ + "SCHEDULED", + "IN_PROCESS", + "SETTLED", + "IN_PAYOUT", + "PAID_OUT" + ], + "x-portone-title": "정산 상태", + "x-portone-enum": { + "SETTLED": { + "title": "정산 완료" + }, + "SCHEDULED": { + "title": "정산 예약" + }, + "PAID_OUT": { + "title": "지급 완료" + }, + "IN_PROCESS": { + "title": "정산 중" + }, + "IN_PAYOUT": { + "title": "지급 중" + } + } + }, + "PlatformTransferSummary": { + "title": "PlatformTransferSummary", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformManualTransferSummary" + }, + { + "$ref": "#/components/schemas/PlatformOrderCancelTransferSummary" + }, + { + "$ref": "#/components/schemas/PlatformOrderTransferSummary" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "MANUAL": "#/components/schemas/PlatformManualTransferSummary", + "ORDER": "#/components/schemas/PlatformOrderTransferSummary", + "ORDER_CANCEL": "#/components/schemas/PlatformOrderCancelTransferSummary" + } + }, + "x-portone-discriminator": { + "MANUAL": {}, + "ORDER": {}, + "ORDER_CANCEL": {} + } + }, + "PlatformTransferSummaryExternalPayment": { + "title": "PlatformTransferSummaryExternalPayment", + "type": "object", + "required": [ + "type", + "id", + "currency" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "orderName": { + "type": "string" + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "methodType": { + "$ref": "#/components/schemas/PaymentMethodType" + } + } + }, + "PlatformTransferSummaryPartner": { + "title": "PlatformTransferSummaryPartner", + "type": "object", + "required": [ + "id", + "graphqlId", + "name", + "type" + ], + "properties": { + "id": { + "type": "string" + }, + "graphqlId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/PlatformTransferSummaryPartnerType" + }, + "taxationType": { + "$ref": "#/components/schemas/PlatformPartnerTaxationType" + } + } + }, + "PlatformTransferSummaryPartnerType": { + "title": "파트너 유형", + "description": "파트너 유형", + "type": "string", + "enum": [ + "BUSINESS", + "WHT_PAYER", + "NON_WHT_PAYER" + ], + "x-portone-title": "파트너 유형", + "x-portone-enum": { + "BUSINESS": { + "title": "사업자" + }, + "WHT_PAYER": { + "title": "원천징수 대상자" + }, + "NON_WHT_PAYER": { + "title": "원천징수 비대상자" + } + } + }, + "PlatformTransferSummaryPayment": { + "title": "PlatformTransferSummaryPayment", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformTransferSummaryExternalPayment" + }, + { + "$ref": "#/components/schemas/PlatformTransferSummaryPortOnePayment" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "EXTERNAL": "#/components/schemas/PlatformTransferSummaryExternalPayment", + "PORT_ONE": "#/components/schemas/PlatformTransferSummaryPortOnePayment" + } + }, + "x-portone-discriminator": { + "PORT_ONE": {}, + "EXTERNAL": {} + } + }, + "PlatformTransferSummaryPortOnePayment": { + "title": "PlatformTransferSummaryPortOnePayment", + "type": "object", + "required": [ + "type", + "id", + "orderName", + "currency" + ], + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "orderName": { + "type": "string" + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "methodType": { + "$ref": "#/components/schemas/PaymentMethodType" + } + } + }, + "PlatformTransferType": { + "title": "PlatformTransferType", + "type": "string", + "enum": [ + "ORDER", + "ORDER_CANCEL", + "MANUAL" + ], + "x-portone-enum": { + "ORDER": {}, + "ORDER_CANCEL": {}, + "MANUAL": {} + } + }, + "PlatformUserDefinedPropertyKeyValue": { + "title": "사용자 정의 속성", + "description": "사용자 정의 속성", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "title": "사용자 정의 속성 키" + }, + "value": { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyValue", + "title": "사용자 정의 속성 값" + } + }, + "x-portone-title": "사용자 정의 속성" + }, + "PlatformUserDefinedPropertyNotFoundError": { + "title": "사용자 정의 속성이 존재 하지 않는 경우", + "description": "사용자 정의 속성이 존재 하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "사용자 정의 속성이 존재 하지 않는 경우", + "x-portone-status-code": 404 + }, + "PlatformUserDefinedPropertyValue": { + "title": "PlatformUserDefinedPropertyValue", + "type": "object", + "required": [ + "string" + ], + "properties": { + "string": { + "type": "string" + } + } + }, + "PortOneVersion": { + "title": "포트원 버전", + "description": "포트원 버전", + "type": "string", + "enum": [ + "V1", + "V2" + ], + "x-portone-title": "포트원 버전", + "x-portone-enum": { + "V1": {}, + "V2": {} + } + }, + "PreRegisterPaymentBody": { + "title": "결제 정보 사전 등록 입력 정보", + "description": "결제 정보 사전 등록 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "결제 면세 금액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화 단위" + } + }, + "x-portone-title": "결제 정보 사전 등록 입력 정보" + }, + "PreRegisterPaymentError": { + "title": "PreRegisterPaymentError", + "oneOf": [ + { + "$ref": "#/components/schemas/AlreadyPaidError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ALREADY_PAID": "#/components/schemas/AlreadyPaidError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "PreRegisterPaymentResponse": { + "title": "결제 사전 등록 성공 응답", + "description": "결제 사전 등록 성공 응답", + "type": "object", + "x-portone-title": "결제 사전 등록 성공 응답" + }, + "Promotion": { + "title": "프로모션", + "description": "프로모션", + "oneOf": [ + { + "$ref": "#/components/schemas/CardPromotion" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CARD": "#/components/schemas/CardPromotion" + } + }, + "x-portone-title": "프로모션", + "x-portone-discriminator": { + "CARD": { + "title": "카드 프로모션" + } + } + }, + "PromotionAmountDiscount": { + "title": "PromotionAmountDiscount", + "type": "object", + "required": [ + "type", + "amount" + ], + "properties": { + "type": { + "type": "string", + "title": "프로모션 할인 유형" + }, + "amount": { + "type": "integer", + "format": "int64" + } + } + }, + "PromotionCardCompany": { + "title": "프로모션 적용 가능한 카드사", + "description": "프로모션 적용 가능한 카드사", + "type": "string", + "enum": [ + "WOORI_CARD", + "BC_CARD", + "SAMSUNG_CARD", + "SHINHAN_CARD", + "HYUNDAI_CARD", + "LOTTE_CARD", + "NH_CARD", + "HANA_CARD", + "KOOKMIN_CARD" + ], + "x-portone-title": "프로모션 적용 가능한 카드사", + "x-portone-enum": { + "HANA_CARD": { + "title": "하나카드" + }, + "HYUNDAI_CARD": { + "title": "현대카드" + }, + "BC_CARD": { + "title": "BC카드" + }, + "WOORI_CARD": { + "title": "우리카드" + }, + "LOTTE_CARD": { + "title": "롯데카드" + }, + "SAMSUNG_CARD": { + "title": "삼성카드" + }, + "SHINHAN_CARD": { + "title": "신한카드" + }, + "NH_CARD": { + "title": "NH카드" + }, + "KOOKMIN_CARD": { + "title": "국민카드" + } + } + }, + "PromotionDiscount": { + "title": "PromotionDiscount", + "oneOf": [ + { + "$ref": "#/components/schemas/PromotionAmountDiscount" + }, + { + "$ref": "#/components/schemas/PromotionPercentDiscount" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AMOUNT": "#/components/schemas/PromotionAmountDiscount", + "PERCENT": "#/components/schemas/PromotionPercentDiscount" + } + }, + "x-portone-discriminator": { + "PERCENT": { + "title": "정률 할인" + }, + "AMOUNT": { + "title": "정액 할인" + } + } + }, + "PromotionNotFoundError": { + "title": "프로모션이 존재하지 않는 경우", + "description": "프로모션이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "프로모션이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "PromotionPayMethodDoesNotMatchError": { + "title": "결제수단이 프로모션에 지정된 것과 일치하지 않는 경우", + "description": "결제수단이 프로모션에 지정된 것과 일치하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "결제수단이 프로모션에 지정된 것과 일치하지 않는 경우", + "x-portone-status-code": 400 + }, + "PromotionPercentDiscount": { + "title": "PromotionPercentDiscount", + "type": "object", + "required": [ + "type", + "percent" + ], + "properties": { + "type": { + "type": "string", + "title": "프로모션 할인 유형" + }, + "percent": { + "type": "integer", + "format": "int32" + } + } + }, + "PromotionStatus": { + "title": "PromotionStatus", + "type": "string", + "enum": [ + "SCHEDULED", + "IN_PROGRESS", + "PAUSED", + "BUDGET_EXHAUSTED", + "TERMINATED", + "COMPLETED" + ], + "x-portone-enum": { + "IN_PROGRESS": { + "title": "진행중" + }, + "TERMINATED": { + "title": "중단됨" + }, + "COMPLETED": { + "title": "완료됨" + }, + "SCHEDULED": { + "title": "예정됨" + }, + "PAUSED": { + "title": "일시 중지됨" + }, + "BUDGET_EXHAUSTED": { + "title": "예산 소진됨" + } + } + }, + "PromotionTimeRangeField": { + "title": "PromotionTimeRangeField", + "type": "string", + "enum": [ + "CREATED_AT", + "START_AT" + ], + "x-portone-enum": { + "CREATED_AT": { + "title": "프로모션 생성 시각" + }, + "START_AT": { + "title": "프로모션 시작 시각" + } + } + }, + "PromotionsExcelDownloadError": { + "title": "PromotionsExcelDownloadError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ReadyIdentityVerification": { + "title": "준비 상태의 본인인증 내역", + "description": "준비 상태의 본인인증 내역", + "type": "object", + "required": [ + "status", + "id", + "requestedCustomer", + "requestedAt", + "updatedAt", + "statusChangedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "본인인증 상태" + }, + "id": { + "type": "string", + "title": "본인인증 내역 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "사용된 본인인증 채널" + }, + "requestedCustomer": { + "$ref": "#/components/schemas/IdentityVerificationRequestedCustomer", + "title": "요청 시 고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "본인인증 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + } + }, + "x-portone-title": "준비 상태의 본인인증 내역" + }, + "ReadyPayment": { + "title": "준비 상태의 결제 건", + "description": "준비 상태의 결제 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제의 배송 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + } + }, + "x-portone-title": "준비 상태의 결제 건" + }, + "ReconciliationDateConditionInput": { + "title": "거래 대사 날짜 범위 조회 필드", + "description": "거래 대사 날짜 범위 조회 필드\n\n필드 중 하나만 적용됩니다.", + "type": "object", + "properties": { + "settlementDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "정산일 범위" + }, + "transactionDateRange": { + "$ref": "#/components/schemas/DateRange", + "title": "결제일 범위" + } + }, + "x-portone-title": "거래 대사 날짜 범위 조회 필드", + "x-portone-description": "필드 중 하나만 적용됩니다." + }, + "ReconciliationEasyPayMethod": { + "title": "ReconciliationEasyPayMethod", + "oneOf": [ + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodCard" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodCharge" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodEtc" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodMobile" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodTransfer" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodVirtualAccount" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CARD": "#/components/schemas/ReconciliationPaymentMethodCard", + "CHARGE": "#/components/schemas/ReconciliationPaymentMethodCharge", + "ETC": "#/components/schemas/ReconciliationPaymentMethodEtc", + "MOBILE": "#/components/schemas/ReconciliationPaymentMethodMobile", + "TRANSFER": "#/components/schemas/ReconciliationPaymentMethodTransfer", + "VIRTUAL_ACCOUNT": "#/components/schemas/ReconciliationPaymentMethodVirtualAccount" + } + }, + "x-portone-discriminator": { + "TRANSFER": { + "title": "계좌이체" + }, + "VIRTUAL_ACCOUNT": { + "title": "가상계좌 결제" + }, + "CHARGE": { + "title": "간편결제 충전" + }, + "ETC": { + "title": "기타 결제" + }, + "MOBILE": { + "title": "모바일 결제" + }, + "CARD": { + "title": "카드 결제" + } + } + }, + "ReconciliationEasyPayProvider": { + "title": "대사용 간편 결제 PG사", + "description": "대사용 간편 결제 PG사", + "type": "string", + "enum": [ + "PAYCO", + "SAMSUNGPAY", + "SSGPAY", + "KAKAOPAY", + "NAVERPAY", + "CHAI", + "LPAY", + "KPAY", + "TOSSPAY", + "TOSS_BRANDPAY", + "LGPAY", + "APPLEPAY", + "PINPAY", + "SKPAY", + "WECHATPAY", + "PAYPAL", + "ALIPAY", + "KB_APP", + "TMONEYPAY" + ], + "x-portone-title": "대사용 간편 결제 PG사", + "x-portone-enum": { + "KB_APP": {}, + "NAVERPAY": {}, + "CHAI": {}, + "PINPAY": {}, + "TOSS_BRANDPAY": {}, + "PAYPAL": {}, + "LGPAY": {}, + "APPLEPAY": {}, + "SAMSUNGPAY": {}, + "KPAY": {}, + "WECHATPAY": {}, + "SKPAY": {}, + "KAKAOPAY": {}, + "ALIPAY": {}, + "LPAY": {}, + "TMONEYPAY": {}, + "PAYCO": {}, + "TOSSPAY": {}, + "SSGPAY": {} + } + }, + "ReconciliationPaymentMethod": { + "title": "ReconciliationPaymentMethod", + "oneOf": [ + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodArs" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodCard" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodCharge" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodEasyPay" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodEtc" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodGiftCertificate" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodMobile" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodTransfer" + }, + { + "$ref": "#/components/schemas/ReconciliationPaymentMethodVirtualAccount" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ARS": "#/components/schemas/ReconciliationPaymentMethodArs", + "CARD": "#/components/schemas/ReconciliationPaymentMethodCard", + "CHARGE": "#/components/schemas/ReconciliationPaymentMethodCharge", + "EASY_PAY": "#/components/schemas/ReconciliationPaymentMethodEasyPay", + "ETC": "#/components/schemas/ReconciliationPaymentMethodEtc", + "GIFT_CERTIFICATE": "#/components/schemas/ReconciliationPaymentMethodGiftCertificate", + "MOBILE": "#/components/schemas/ReconciliationPaymentMethodMobile", + "TRANSFER": "#/components/schemas/ReconciliationPaymentMethodTransfer", + "VIRTUAL_ACCOUNT": "#/components/schemas/ReconciliationPaymentMethodVirtualAccount" + } + }, + "x-portone-discriminator": { + "GIFT_CERTIFICATE": { + "title": "상품권 결제" + }, + "VIRTUAL_ACCOUNT": { + "title": "가상계좌 결제" + }, + "CHARGE": { + "title": "간편결제 충전" + }, + "ARS": { + "title": "ARS 결제" + }, + "ETC": { + "title": "기타 결제" + }, + "MOBILE": { + "title": "모바일 결제" + }, + "CARD": { + "title": "카드 결제" + }, + "TRANSFER": { + "title": "계좌이체" + }, + "EASY_PAY": { + "title": "간편 결제" + } + } + }, + "ReconciliationPaymentMethodArs": { + "title": "ARS 결제", + "description": "ARS 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + } + }, + "x-portone-title": "ARS 결제" + }, + "ReconciliationPaymentMethodCard": { + "title": "카드 결제", + "description": "카드 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "issuer": { + "$ref": "#/components/schemas/CardCompany", + "title": "카드 발급사" + }, + "acquirer": { + "$ref": "#/components/schemas/CardCompany", + "title": "카드 매입사" + }, + "approvalNumber": { + "type": "string", + "title": "카드 승인 번호" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "카드 할부 개월 수" + } + }, + "x-portone-title": "카드 결제" + }, + "ReconciliationPaymentMethodCharge": { + "title": "간편결제 충전", + "description": "간편결제 충전", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "간편결제 결제 수단" + } + }, + "x-portone-title": "간편결제 충전" + }, + "ReconciliationPaymentMethodEasyPay": { + "title": "간편 결제", + "description": "간편 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "provider": { + "$ref": "#/components/schemas/ReconciliationEasyPayProvider", + "title": "간편 결제 PG사" + }, + "method": { + "$ref": "#/components/schemas/ReconciliationEasyPayMethod", + "title": "간편 결제 결제 수단" + } + }, + "x-portone-title": "간편 결제" + }, + "ReconciliationPaymentMethodEtc": { + "title": "기타 결제", + "description": "기타 결제", + "type": "object", + "required": [ + "type", + "name" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "name": { + "type": "string", + "title": "기타 결제 이름" + } + }, + "x-portone-title": "기타 결제" + }, + "ReconciliationPaymentMethodGiftCertificate": { + "title": "상품권 결제", + "description": "상품권 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "approvalNumber": { + "type": "string", + "title": "상품권 승인 번호" + }, + "giftCertificateType": { + "$ref": "#/components/schemas/GiftCertificateType", + "title": "상품권 종류" + } + }, + "x-portone-title": "상품권 결제" + }, + "ReconciliationPaymentMethodMobile": { + "title": "모바일 결제", + "description": "모바일 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "carrier": { + "$ref": "#/components/schemas/Carrier", + "title": "통신사" + } + }, + "x-portone-title": "모바일 결제" + }, + "ReconciliationPaymentMethodTransfer": { + "title": "계좌이체", + "description": "계좌이체", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "계좌 이체 은행" + }, + "approvalNumber": { + "type": "string", + "title": "계좌 이체 승인 번호" + } + }, + "x-portone-title": "계좌이체" + }, + "ReconciliationPaymentMethodType": { + "title": "대사용 결제수단 목록", + "description": "대사용 결제수단 목록", + "type": "string", + "enum": [ + "CARD", + "CHARGE", + "TRANSFER", + "ARS", + "GIFT_CERTIFICATE", + "MOBILE", + "VIRTUAL_ACCOUNT", + "ETC", + "EASY_PAY_ETC", + "EASY_PAY_PAYCO", + "EASY_PAY_SAMSUNGPAY", + "EASY_PAY_SSGPAY", + "EASY_PAY_KAKAOPAY", + "EASY_PAY_NAVERPAY", + "EASY_PAY_CHAI", + "EASY_PAY_LPAY", + "EASY_PAY_KPAY", + "EASY_PAY_TOSSPAY", + "EASY_PAY_LGPAY", + "EASY_PAY_APPLEPAY", + "EASY_PAY_PINPAY", + "EASY_PAY_SKPAY", + "EASY_PAY_WECHATPAY", + "EASY_PAY_PAYPAL", + "EASY_PAY_ALIPAY", + "EASY_PAY_TOSS_BRANDPAY", + "EASY_PAY_KB_APP", + "EASY_PAY_TMONEYPAY" + ], + "x-portone-title": "대사용 결제수단 목록", + "x-portone-enum": { + "EASY_PAY_ETC": { + "title": "기타 간편결제" + }, + "EASY_PAY_APPLEPAY": { + "title": "애플페이 간편결제" + }, + "EASY_PAY_TOSS_BRANDPAY": { + "title": "토스브랜드페이 간편결제" + }, + "TRANSFER": { + "title": "계좌이체" + }, + "GIFT_CERTIFICATE": { + "title": "상품권" + }, + "EASY_PAY_KAKAOPAY": { + "title": "카카오페이 간편결제" + }, + "VIRTUAL_ACCOUNT": { + "title": "가상계좌" + }, + "EASY_PAY_NAVERPAY": { + "title": "네이버페이 간편결제" + }, + "CHARGE": { + "title": "간편결제 충전" + }, + "ETC": { + "title": "기타 결제수단" + }, + "CARD": { + "title": "카드" + }, + "EASY_PAY_SAMSUNGPAY": { + "title": "삼성페이 간편결제" + }, + "EASY_PAY_CHAI": { + "title": "차이페이 간편결제" + }, + "EASY_PAY_WECHATPAY": { + "title": "위챗페이 간편결제" + }, + "EASY_PAY_PINPAY": { + "title": "핀페이 간편결제" + }, + "EASY_PAY_KPAY": { + "title": "케이페이 간편결제" + }, + "EASY_PAY_PAYCO": { + "title": "페이코 간편결제" + }, + "EASY_PAY_TMONEYPAY": { + "title": "티머니페이 간편결제" + }, + "EASY_PAY_PAYPAL": { + "title": "페이팔 간편결제" + }, + "EASY_PAY_TOSSPAY": { + "title": "토스페이 간편결제" + }, + "EASY_PAY_SKPAY": { + "title": "에스케이페이 간편결제" + }, + "EASY_PAY_SSGPAY": { + "title": "SSG페이 간편결제" + }, + "ARS": { + "title": "ARS" + }, + "EASY_PAY_LPAY": { + "title": "엘페이 간편결제" + }, + "EASY_PAY_ALIPAY": { + "title": "알리페이 간편결제" + }, + "MOBILE": { + "title": "모바일" + }, + "EASY_PAY_KB_APP": { + "title": "케이비앱 간편결제" + }, + "EASY_PAY_LGPAY": { + "title": "엘지페이 간편결제" + } + } + }, + "ReconciliationPaymentMethodVirtualAccount": { + "title": "가상계좌 결제", + "description": "가상계좌 결제", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "title": "대사용 결제 수단" + }, + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "가상계좌 은행" + }, + "approvalNumber": { + "type": "string", + "title": "가상계좌 은행" + } + }, + "x-portone-title": "가상계좌 결제" + }, + "ReconciliationPgProvider": { + "title": "ReconciliationPgProvider", + "type": "string", + "enum": [ + "KAKAOPAY", + "NICEPAY", + "NAVERPAY", + "UPLUS", + "TOSSPAYMENTS", + "TOSSPAY", + "PAYCO", + "KCP", + "DANAL", + "EXIMBAY", + "INICIS", + "HECTO" + ], + "x-portone-enum": { + "PAYCO": {}, + "NAVERPAY": {}, + "HECTO": {}, + "TOSSPAY": {}, + "INICIS": {}, + "UPLUS": {}, + "DANAL": {}, + "NICEPAY": {}, + "TOSSPAYMENTS": {}, + "KAKAOPAY": {}, + "KCP": {}, + "EXIMBAY": {} + } + }, + "ReconciliationPgSpecifier": { + "title": "대사용 PG사 가맹점 식별자", + "description": "대사용 PG사 가맹점 식별자", + "type": "object", + "required": [ + "pgMerchantId", + "pgProvider" + ], + "properties": { + "pgMerchantId": { + "type": "string", + "title": "PG사 가맹점 식별 아이디" + }, + "pgProvider": { + "$ref": "#/components/schemas/ReconciliationPgProvider", + "title": "PG사" + } + }, + "x-portone-title": "대사용 PG사 가맹점 식별자" + }, + "RecoverPlatformAdditionalFeePolicyError": { + "title": "RecoverPlatformAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RecoverPlatformAdditionalFeePolicyResponse": { + "title": "추가 수수료 정책 복원 성공 응답", + "description": "추가 수수료 정책 복원 성공 응답", + "type": "object", + "required": [ + "additionalFeePolicy" + ], + "properties": { + "additionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "복원된 추가 수수료 정책" + } + }, + "x-portone-title": "추가 수수료 정책 복원 성공 응답" + }, + "RecoverPlatformContractError": { + "title": "RecoverPlatformContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RecoverPlatformContractResponse": { + "title": "계약 복원 성공 응답", + "description": "계약 복원 성공 응답", + "type": "object", + "required": [ + "contract" + ], + "properties": { + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "복원된 계약" + } + }, + "x-portone-title": "계약 복원 성공 응답" + }, + "RecoverPlatformDiscountSharePolicyError": { + "title": "RecoverPlatformDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RecoverPlatformDiscountSharePolicyResponse": { + "title": "할인 분담 복원 성공 응답", + "description": "할인 분담 복원 성공 응답", + "type": "object", + "required": [ + "discountSharePolicy" + ], + "properties": { + "discountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "복원된 할인 분담" + } + }, + "x-portone-title": "할인 분담 복원 성공 응답" + }, + "RecoverPlatformPartnerError": { + "title": "RecoverPlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RecoverPlatformPartnerResponse": { + "title": "파트너 복원 성공 응답", + "description": "파트너 복원 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "복원된 파트너" + } + }, + "x-portone-title": "파트너 복원 성공 응답" + }, + "RefreshTokenBody": { + "title": "토큰 재발급을 위한 입력 정보", + "description": "토큰 재발급을 위한 입력 정보", + "type": "object", + "required": [ + "refreshToken" + ], + "properties": { + "refreshToken": { + "type": "string", + "title": "리프레시 토큰" + } + }, + "x-portone-title": "토큰 재발급을 위한 입력 정보" + }, + "RefreshTokenError": { + "title": "RefreshTokenError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RefreshTokenResponse": { + "title": "토큰 재발급 성공 응답", + "description": "토큰 재발급 성공 응답", + "type": "object", + "required": [ + "accessToken", + "refreshToken" + ], + "properties": { + "accessToken": { + "type": "string", + "title": "인증에 사용하는 엑세스 토큰", + "description": "하루의 유효기간을 가지고 있습니다." + }, + "refreshToken": { + "type": "string", + "title": "토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰", + "description": "일주일의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다." + } + }, + "x-portone-title": "토큰 재발급 성공 응답" + }, + "RefuseB2bTaxInvoiceRequestBody": { + "title": "세금계산서 역발행 요청 거부 정보", + "description": "세금계산서 역발행 요청 거부 정보", + "type": "object", + "required": [ + "brn", + "documentKey" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호" + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "memo": { + "type": "string", + "title": "메모" + } + }, + "x-portone-title": "세금계산서 역발행 요청 거부 정보" + }, + "RefuseB2bTaxInvoiceRequestError": { + "title": "RefuseB2bTaxInvoiceRequestError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REQUESTED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRequestedStatusError", + "B2B_TAX_INVOICE_NO_SUPPLIER_DOCUMENT_KEY": "#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RegisterB2bMemberCompanyBody": { + "title": "사업자 연동 요청 정보", + "description": "사업자 연동 요청 정보", + "type": "object", + "required": [ + "company", + "contact" + ], + "properties": { + "company": { + "$ref": "#/components/schemas/B2bMemberCompany", + "title": "사업자 정보" + }, + "contact": { + "$ref": "#/components/schemas/B2bCompanyContactInput", + "title": "담당자 정보" + } + }, + "x-portone-title": "사업자 연동 요청 정보" + }, + "RegisterB2bMemberCompanyError": { + "title": "RegisterB2bMemberCompanyError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bCompanyAlreadyRegisteredError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bIdAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_COMPANY_ALREADY_REGISTERED": "#/components/schemas/B2bCompanyAlreadyRegisteredError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_ID_ALREADY_EXISTS": "#/components/schemas/B2bIdAlreadyExistsError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RegisterB2bMemberCompanyResponse": { + "title": "사업자 연동 응답 정보", + "description": "사업자 연동 응답 정보", + "type": "object", + "required": [ + "company", + "contact" + ], + "properties": { + "company": { + "$ref": "#/components/schemas/B2bMemberCompany", + "title": "사업자 정보" + }, + "contact": { + "$ref": "#/components/schemas/B2bCompanyContact", + "title": "담당자 정보" + } + }, + "x-portone-title": "사업자 연동 응답 정보" + }, + "RegisterEscrowLogisticsBody": { + "title": "에스크로 배송 정보 등록 입력 정보", + "description": "에스크로 배송 정보 등록 입력 정보", + "type": "object", + "required": [ + "logistics" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "sender": { + "$ref": "#/components/schemas/PaymentEscrowSenderInput", + "title": "에스크로 발송자 정보" + }, + "receiver": { + "$ref": "#/components/schemas/PaymentEscrowReceiverInput", + "title": "에스크로 수취인 정보" + }, + "logistics": { + "$ref": "#/components/schemas/PaymentLogistics", + "title": "에스크로 물류 정보" + }, + "sendEmail": { + "type": "boolean", + "title": "이메일 알림 전송 여부", + "description": "에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + } + }, + "x-portone-title": "에스크로 배송 정보 등록 입력 정보" + }, + "RegisterStoreReceiptBody": { + "title": "영수증 내 하위 상점 거래 등록 정보", + "description": "영수증 내 하위 상점 거래 등록 정보", + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "title": "하위 상점 거래 목록", + "type": "array", + "items": { + "$ref": "#/components/schemas/RegisterStoreReceiptBodyItem" + } + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + } + }, + "x-portone-title": "영수증 내 하위 상점 거래 등록 정보" + }, + "RegisterStoreReceiptBodyItem": { + "title": "하위 상점 거래 정보", + "description": "하위 상점 거래 정보", + "type": "object", + "required": [ + "storeBusinessRegistrationNumber", + "storeName", + "totalAmount", + "currency" + ], + "properties": { + "storeBusinessRegistrationNumber": { + "type": "string", + "title": "하위 상점 사업자등록번호" + }, + "storeName": { + "type": "string", + "title": "하위 상점명" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세액" + }, + "supplyAmount": { + "type": "integer", + "format": "int64", + "title": "공급가액" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + } + }, + "x-portone-title": "하위 상점 거래 정보" + }, + "RegisterStoreReceiptError": { + "title": "RegisterStoreReceiptError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/PaymentNotPaidError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "PAYMENT_NOT_PAID": "#/components/schemas/PaymentNotPaidError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RegisterStoreReceiptResponse": { + "title": "영수증 내 하위 상점 거래 등록 응답", + "description": "영수증 내 하위 상점 거래 등록 응답", + "type": "object", + "properties": { + "receiptUrl": { + "type": "string", + "title": "결제 영수증 URL" + } + }, + "x-portone-title": "영수증 내 하위 상점 거래 등록 응답" + }, + "RegisteredPaymentEscrow": { + "title": "배송 정보 등록 완료", + "description": "배송 정보 등록 완료", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + } + }, + "x-portone-title": "배송 정보 등록 완료" + }, + "RejectConfirmedPaymentEscrow": { + "title": "구매 거절 확정", + "description": "구매 거절 확정", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + } + }, + "x-portone-title": "구매 거절 확정" + }, + "RejectPlatformPartnerBody": { + "title": "파트너 상태를 승인 거절로 변경하기 위한 입력 정보", + "description": "파트너 상태를 승인 거절로 변경하기 위한 입력 정보", + "type": "object", + "properties": { + "memo": { + "type": "string", + "title": "파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다." + } + }, + "x-portone-title": "파트너 상태를 승인 거절로 변경하기 위한 입력 정보" + }, + "RejectPlatformPartnerError": { + "title": "RejectPlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedPartnerError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_PARTNER": "#/components/schemas/PlatformArchivedPartnerError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RejectPlatformPartnerResponse": { + "title": "파트너 거절 성공 응답", + "description": "파트너 거절 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "거절된 파트너" + } + }, + "x-portone-title": "파트너 거절 성공 응답" + }, + "RejectedPaymentEscrow": { + "title": "구매 거절", + "description": "구매 거절", + "type": "object", + "required": [ + "status", + "company", + "invoiceNumber" + ], + "properties": { + "status": { + "type": "string", + "title": "에스크로 상태" + }, + "company": { + "type": "string", + "title": "택배사" + }, + "invoiceNumber": { + "type": "string", + "title": "송장번호" + }, + "sentAt": { + "type": "string", + "format": "date-time", + "title": "발송 일시" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "배송등록 처리 일자" + } + }, + "x-portone-title": "구매 거절" + }, + "RemainedAmountLessThanPromotionMinPaymentAmountError": { + "title": "부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우", + "description": "부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우", + "x-portone-status-code": 409 + }, + "RequestB2bTaxInvoiceRegisterBody": { + "title": "세금계산서 임시 저장 정보", + "description": "세금계산서 임시 저장 정보", + "type": "object", + "required": [ + "taxInvoice" + ], + "properties": { + "taxInvoice": { + "$ref": "#/components/schemas/B2bTaxInvoiceInput", + "title": "세금계산서 생성 요청 정보" + } + }, + "x-portone-title": "세금계산서 임시 저장 정보" + }, + "RequestB2bTaxInvoiceRegisterError": { + "title": "RequestB2bTaxInvoiceRegisterError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bRecipientNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bSupplierNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_RECIPIENT_NOT_FOUND": "#/components/schemas/B2bRecipientNotFoundError", + "B2B_SUPPLIER_NOT_FOUND": "#/components/schemas/B2bSupplierNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RequestB2bTaxInvoiceRequestBody": { + "title": "세금계산서 역발행 요청 정보", + "description": "세금계산서 역발행 요청 정보", + "type": "object", + "required": [ + "brn", + "documentKey" + ], + "properties": { + "brn": { + "type": "string", + "title": "사업자등록번호" + }, + "documentKey": { + "type": "string", + "title": "세금계산서 문서 번호" + }, + "documentKeyType": { + "$ref": "#/components/schemas/B2bTaxInvoiceDocumentKeyType", + "title": "문서 번호 유형", + "description": "기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다." + }, + "memo": { + "type": "string", + "title": "메모" + } + }, + "x-portone-title": "세금계산서 역발행 요청 정보" + }, + "RequestB2bTaxInvoiceReverseIssuanceError": { + "title": "RequestB2bTaxInvoiceReverseIssuanceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bRecipientNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bSupplierNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_RECIPIENT_NOT_FOUND": "#/components/schemas/B2bRecipientNotFoundError", + "B2B_SUPPLIER_NOT_FOUND": "#/components/schemas/B2bSupplierNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RequestB2bTaxInvoiceReverseIssuanceRequestBody": { + "title": "세금계산서 역발행 요청 정보", + "description": "세금계산서 역발행 요청 정보", + "type": "object", + "required": [ + "taxInvoice" + ], + "properties": { + "taxInvoice": { + "$ref": "#/components/schemas/B2bTaxInvoiceInput", + "title": "세금계산서 생성 요청 정보" + }, + "memo": { + "type": "string", + "title": "메모" + } + }, + "x-portone-title": "세금계산서 역발행 요청 정보" + }, + "RequestedPaymentCancellation": { + "title": "취소 요청 상태", + "description": "취소 요청 상태", + "type": "object", + "required": [ + "status", + "id", + "totalAmount", + "taxFreeAmount", + "vatAmount", + "reason", + "requestedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 취소 내역 상태" + }, + "id": { + "type": "string", + "title": "취소 내역 아이디" + }, + "pgCancellationId": { + "type": "string", + "title": "PG사 결제 취소 내역 아이디" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "취소 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 면세 금액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 부가세액" + }, + "easyPayDiscountAmount": { + "type": "integer", + "format": "int64", + "title": "적립형 포인트의 환불 금액" + }, + "reason": { + "type": "string", + "title": "취소 사유" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 시점" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "취소 요청 시점" + } + }, + "x-portone-title": "취소 요청 상태" + }, + "RescheduleAdditionalFeePolicyError": { + "title": "RescheduleAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RescheduleContractError": { + "title": "RescheduleContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RescheduleDiscountSharePolicyError": { + "title": "RescheduleDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ReschedulePartnerError": { + "title": "ReschedulePartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ReschedulePlatformAdditionalFeePolicyBody": { + "title": "추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보", + "description": "추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보" + }, + "ReschedulePlatformAdditionalFeePolicyResponse": { + "title": "추가 수수료 정책 예약 업데이트 재설정 성공 응답", + "description": "추가 수수료 정책 예약 업데이트 재설정 성공 응답", + "type": "object", + "required": [ + "scheduledAdditionalFeePolicy" + ], + "properties": { + "scheduledAdditionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "예약된 추가 수수료 정책" + } + }, + "x-portone-title": "추가 수수료 정책 예약 업데이트 재설정 성공 응답" + }, + "ReschedulePlatformContractBody": { + "title": "계약 예약 업데이트 재설정을 위한 입력 정보", + "description": "계약 예약 업데이트 재설정을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformContractBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "계약 예약 업데이트 재설정을 위한 입력 정보" + }, + "ReschedulePlatformContractResponse": { + "title": "계약 예약 업데이트 재설정 성공 응답", + "description": "계약 예약 업데이트 재설정 성공 응답", + "type": "object", + "required": [ + "scheduledContract" + ], + "properties": { + "scheduledContract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "예약된 계약 정보" + } + }, + "x-portone-title": "계약 예약 업데이트 재설정 성공 응답" + }, + "ReschedulePlatformDiscountSharePolicyBody": { + "title": "할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보", + "description": "할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보" + }, + "ReschedulePlatformDiscountSharePolicyResponse": { + "title": "할인 분담 정책 예약 업데이트 재설정 성공 응답", + "description": "할인 분담 정책 예약 업데이트 재설정 성공 응답", + "type": "object", + "required": [ + "scheduledDiscountSharePolicy" + ], + "properties": { + "scheduledDiscountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "예약된 할인 분담 정보" + } + }, + "x-portone-title": "할인 분담 정책 예약 업데이트 재설정 성공 응답" + }, + "ReschedulePlatformPartnerBody": { + "title": "파트너 예약 업데이트 재설정을 위한 입력 정보", + "description": "파트너 예약 업데이트 재설정을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "파트너 예약 업데이트 재설정을 위한 입력 정보" + }, + "ReschedulePlatformPartnerResponse": { + "title": "파트너 예약 업데이트 재설정 성공 응답", + "description": "파트너 예약 업데이트 재설정 성공 응답", + "type": "object", + "required": [ + "scheduledPartner" + ], + "properties": { + "scheduledPartner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "예약된 파트너 정보" + } + }, + "x-portone-title": "파트너 예약 업데이트 재설정 성공 응답" + }, + "ResendIdentityVerificationError": { + "title": "ResendIdentityVerificationError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationAlreadyVerifiedError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotSentError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "IDENTITY_VERIFICATION_ALREADY_VERIFIED": "#/components/schemas/IdentityVerificationAlreadyVerifiedError", + "IDENTITY_VERIFICATION_NOT_FOUND": "#/components/schemas/IdentityVerificationNotFoundError", + "IDENTITY_VERIFICATION_NOT_SENT": "#/components/schemas/IdentityVerificationNotSentError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ResendIdentityVerificationResponse": { + "title": "본인인증 요청 재전송 성공 응답", + "description": "본인인증 요청 재전송 성공 응답", + "type": "object", + "x-portone-title": "본인인증 요청 재전송 성공 응답" + }, + "ResendWebhookBody": { + "title": "ResendWebhookBody", + "description": "웹훅 재발송을 위한 입력 정보", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "webhookId": { + "type": "string", + "title": "웹훅 아이디", + "description": "입력하지 않으면 결제 건의 가장 최근 웹훅 아이디가 기본 적용됩니다" + } + }, + "x-portone-description": "웹훅 재발송을 위한 입력 정보" + }, + "ResendWebhookError": { + "title": "ResendWebhookError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + }, + { + "$ref": "#/components/schemas/WebhookNotFoundError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_NOT_FOUND": "#/components/schemas/PaymentNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError", + "WEBHOOK_NOT_FOUND": "#/components/schemas/WebhookNotFoundError" + } + } + }, + "ResendWebhookResponse": { + "title": "웹훅 재발송 응답 정보", + "description": "웹훅 재발송 응답 정보", + "type": "object", + "required": [ + "webhook" + ], + "properties": { + "webhook": { + "$ref": "#/components/schemas/PaymentWebhook", + "title": "재발송 웹훅 정보" + } + }, + "x-portone-title": "웹훅 재발송 응답 정보" + }, + "RevokePaymentSchedulesBody": { + "title": "결제 예약 건 취소 요청 입력 정보", + "description": "결제 예약 건 취소 요청 입력 정보\n\nbillingKey, scheduleIds 중 하나 이상은 필수로 입력합니다.\nbillingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다.\nscheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.\nbillingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. 그리고 예약한 빌링키가 입력된 빌링키와 일치하는지 검증합니다.\n위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다.", + "type": "object", + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "scheduleIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "결제 예약 건 아이디 목록" + } + }, + "x-portone-title": "결제 예약 건 취소 요청 입력 정보", + "x-portone-description": "billingKey, scheduleIds 중 하나 이상은 필수로 입력합니다.\nbillingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다.\nscheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.\nbillingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. 그리고 예약한 빌링키가 입력된 빌링키와 일치하는지 검증합니다.\n위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다." + }, + "RevokePaymentSchedulesError": { + "title": "RevokePaymentSchedulesError", + "oneOf": [ + { + "$ref": "#/components/schemas/BillingKeyAlreadyDeletedError" + }, + { + "$ref": "#/components/schemas/BillingKeyNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleAlreadyProcessedError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleAlreadyRevokedError" + }, + { + "$ref": "#/components/schemas/PaymentScheduleNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "BILLING_KEY_ALREADY_DELETED": "#/components/schemas/BillingKeyAlreadyDeletedError", + "BILLING_KEY_NOT_FOUND": "#/components/schemas/BillingKeyNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PAYMENT_SCHEDULE_ALREADY_PROCESSED": "#/components/schemas/PaymentScheduleAlreadyProcessedError", + "PAYMENT_SCHEDULE_ALREADY_REVOKED": "#/components/schemas/PaymentScheduleAlreadyRevokedError", + "PAYMENT_SCHEDULE_NOT_FOUND": "#/components/schemas/PaymentScheduleNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "RevokePaymentSchedulesResponse": { + "title": "결제 예약 건 취소 성공 응답", + "description": "결제 예약 건 취소 성공 응답", + "type": "object", + "required": [ + "revokedScheduleIds" + ], + "properties": { + "revokedScheduleIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "취소 완료된 결제 예약 건 아이디 목록" + }, + "revokedAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 건 취소 완료 시점" + } + }, + "x-portone-title": "결제 예약 건 취소 성공 응답" + }, + "RevokedPaymentSchedule": { + "title": "결제 예약 취소 상태", + "description": "결제 예약 취소 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay", + "revokedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + }, + "revokedAt": { + "type": "string", + "format": "date-time", + "title": "결제 취소 시점" + } + }, + "x-portone-title": "결제 예약 취소 상태" + }, + "ScheduleAdditionalFeePolicyError": { + "title": "ScheduleAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedAdditionalFeePolicyError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_ADDITIONAL_FEE_POLICY_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PlatformAdditionalFeePolicyScheduleAlreadyExistsError", + "PLATFORM_ARCHIVED_ADDITIONAL_FEE_POLICY": "#/components/schemas/PlatformArchivedAdditionalFeePolicyError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ScheduleContractError": { + "title": "ScheduleContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedContractError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformContractScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_CONTRACT": "#/components/schemas/PlatformArchivedContractError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_CONTRACT_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PlatformContractScheduleAlreadyExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "ScheduleDiscountSharePolicyError": { + "title": "ScheduleDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_DISCOUNT_SHARE_POLICY_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PlatformDiscountSharePolicyScheduleAlreadyExistsError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "SchedulePartnerError": { + "title": "SchedulePartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationFailedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedPartnerError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformInsufficientDataToChangePartnerTypeError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerScheduleAlreadyExistsError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError", + "PLATFORM_ACCOUNT_VERIFICATION_FAILED": "#/components/schemas/PlatformAccountVerificationFailedError", + "PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND": "#/components/schemas/PlatformAccountVerificationNotFoundError", + "PLATFORM_ARCHIVED_PARTNER": "#/components/schemas/PlatformArchivedPartnerError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_INSUFFICIENT_DATA_TO_CHANGE_PARTNER_TYPE": "#/components/schemas/PlatformInsufficientDataToChangePartnerTypeError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "PLATFORM_PARTNER_SCHEDULE_ALREADY_EXISTS": "#/components/schemas/PlatformPartnerScheduleAlreadyExistsError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "SchedulePlatformAdditionalFeePolicyBody": { + "title": "추가 수수료 정책 업데이트 예약을 위한 입력 정보", + "description": "추가 수수료 정책 업데이트 예약을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformAdditionalFeePolicyBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "추가 수수료 정책 업데이트 예약을 위한 입력 정보" + }, + "SchedulePlatformAdditionalFeePolicyResponse": { + "title": "추가 수수료 정책 업데이트 예약 성공 응답", + "description": "추가 수수료 정책 업데이트 예약 성공 응답", + "type": "object", + "required": [ + "scheduledAdditionalFeePolicy" + ], + "properties": { + "scheduledAdditionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "예약된 추가 수수료 정책" + } + }, + "x-portone-title": "추가 수수료 정책 업데이트 예약 성공 응답" + }, + "SchedulePlatformContractBody": { + "title": "계약 업데이트 예약을 위한 입력 정보", + "description": "계약 업데이트 예약을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformContractBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "계약 업데이트 예약을 위한 입력 정보" + }, + "SchedulePlatformContractResponse": { + "title": "계약 업데이트 예약 성공 응답", + "description": "계약 업데이트 예약 성공 응답", + "type": "object", + "required": [ + "scheduledContract" + ], + "properties": { + "scheduledContract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "예약된 계약 정보" + } + }, + "x-portone-title": "계약 업데이트 예약 성공 응답" + }, + "SchedulePlatformDiscountSharePolicyBody": { + "title": "할인 분담 정책 업데이트 예약을 위한 입력 정보", + "description": "할인 분담 정책 업데이트 예약을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformDiscountSharePolicyBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "할인 분담 정책 업데이트 예약을 위한 입력 정보" + }, + "SchedulePlatformDiscountSharePolicyResponse": { + "title": "할인 분담 정책 업데이트 예약 성공 응답", + "description": "할인 분담 정책 업데이트 예약 성공 응답", + "type": "object", + "required": [ + "scheduledDiscountSharePolicy" + ], + "properties": { + "scheduledDiscountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "예약된 할인 분담 정보" + } + }, + "x-portone-title": "할인 분담 정책 업데이트 예약 성공 응답" + }, + "SchedulePlatformPartnerBody": { + "title": "파트너 업데이트 예약을 위한 입력 정보", + "description": "파트너 업데이트 예약을 위한 입력 정보", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "update": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBody", + "title": "반영할 업데이트 내용" + }, + "appliedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 적용 시점" + } + }, + "x-portone-title": "파트너 업데이트 예약을 위한 입력 정보" + }, + "SchedulePlatformPartnerResponse": { + "title": "파트너 업데이트 예약 성공 응답", + "description": "파트너 업데이트 예약 성공 응답", + "type": "object", + "required": [ + "scheduledPartner" + ], + "properties": { + "scheduledPartner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "예약된 파트너 정보" + } + }, + "x-portone-title": "파트너 업데이트 예약 성공 응답" + }, + "SchedulePlatformPartnersBody": { + "title": "SchedulePlatformPartnersBody", + "type": "object", + "required": [ + "update", + "appliedAt" + ], + "properties": { + "filter": { + "$ref": "#/components/schemas/PlatformPartnerFilterInput" + }, + "update": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdate" + }, + "appliedAt": { + "type": "string", + "format": "date-time" + } + } + }, + "SchedulePlatformPartnersBodyUpdate": { + "title": "SchedulePlatformPartnersBodyUpdate", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "contact": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateContact" + }, + "type": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateType" + }, + "account": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateAccount" + }, + "defaultContractId": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "userDefinedProperties": { + "$ref": "#/components/schemas/PlatformProperties" + } + } + }, + "SchedulePlatformPartnersBodyUpdateAccount": { + "title": "파트너 계좌 업데이트를 위한 입력 정보", + "description": "파트너 계좌 업데이트를 위한 입력 정보", + "type": "object", + "required": [ + "bank", + "currency", + "number", + "holder" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "정산에 사용할 통화" + }, + "number": { + "type": "string", + "title": "계좌번호" + }, + "holder": { + "type": "string", + "title": "예금주명" + }, + "accountVerificationId": { + "type": "string", + "title": "계좌 검증 아이디" + } + }, + "x-portone-title": "파트너 계좌 업데이트를 위한 입력 정보" + }, + "SchedulePlatformPartnersBodyUpdateContact": { + "title": "파트너 업데이트를 위한 유형별 추가 정보", + "description": "파트너 업데이트를 위한 유형별 추가 정보", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "담당자 이름" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 휴대폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + }, + "x-portone-title": "파트너 업데이트를 위한 유형별 추가 정보" + }, + "SchedulePlatformPartnersBodyUpdateType": { + "title": "파트너 유형별 정보 업데이트를 위한 입력 정보", + "description": "파트너 유형별 정보 업데이트를 위한 입력 정보\n\n파트너 유형별 추가 정보를 수정합니다.\n최초 생성된 유형 내에서 세부 정보만 수정할 수 있고 파트너의 유형 자체를 수정할 수는 없습니다.", + "type": "object", + "properties": { + "business": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateTypeBusiness", + "title": "사업자 추가 정보" + }, + "whtPayer": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateTypeWhtPayer", + "title": "원천징수 대상자 추가 정보" + }, + "nonWhtPayer": { + "$ref": "#/components/schemas/SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer", + "title": "원천징수 비대상자 추가 정보" + } + }, + "x-portone-title": "파트너 유형별 정보 업데이트를 위한 입력 정보", + "x-portone-description": "파트너 유형별 추가 정보를 수정합니다.\n최초 생성된 유형 내에서 세부 정보만 수정할 수 있고 파트너의 유형 자체를 수정할 수는 없습니다." + }, + "SchedulePlatformPartnersBodyUpdateTypeBusiness": { + "title": "SchedulePlatformPartnersBodyUpdateTypeBusiness", + "type": "object", + "properties": { + "companyName": { + "type": "string", + "title": "상호명" + }, + "taxationType": { + "$ref": "#/components/schemas/PlatformPartnerTaxationType", + "title": "사업자 유형" + }, + "businessRegistrationNumber": { + "type": "string", + "title": "사업자등록번호" + }, + "representativeName": { + "type": "string", + "title": "대표자 이름" + }, + "companyAddress": { + "type": "string", + "title": "사업장 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + } + }, + "SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer": { + "title": "SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "SchedulePlatformPartnersBodyUpdateTypeWhtPayer": { + "title": "SchedulePlatformPartnersBodyUpdateTypeWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "SchedulePlatformPartnersError": { + "title": "SchedulePlatformPartnersError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedPartnersCannotBeScheduledError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerSchedulesAlreadyExistError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_PARTNERS_CANNOT_BE_SCHEDULED": "#/components/schemas/PlatformArchivedPartnersCannotBeScheduledError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_SCHEDULES_ALREADY_EXIST": "#/components/schemas/PlatformPartnerSchedulesAlreadyExistError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "SchedulePlatformPartnersResponse": { + "title": "SchedulePlatformPartnersResponse", + "type": "object" + }, + "ScheduledPaymentSchedule": { + "title": "결제 예약 완료 상태", + "description": "결제 예약 완료 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + } + }, + "x-portone-title": "결제 예약 완료 상태" + }, + "SelectedChannel": { + "title": "(결제, 본인인증 등에) 선택된 채널 정보", + "description": "(결제, 본인인증 등에) 선택된 채널 정보", + "type": "object", + "required": [ + "type", + "pgProvider", + "pgMerchantId" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/SelectedChannelType", + "title": "채널 타입" + }, + "id": { + "type": "string", + "title": "채널 아이디" + }, + "key": { + "type": "string", + "title": "채널 키" + }, + "name": { + "type": "string", + "title": "채널 명" + }, + "pgProvider": { + "$ref": "#/components/schemas/PgProvider", + "title": "PG사" + }, + "pgMerchantId": { + "type": "string", + "title": "PG사 고객사 식별 아이디" + } + }, + "x-portone-title": "(결제, 본인인증 등에) 선택된 채널 정보" + }, + "SelectedChannelType": { + "title": "채널 타입", + "description": "채널 타입", + "type": "string", + "enum": [ + "LIVE", + "TEST" + ], + "x-portone-title": "채널 타입", + "x-portone-enum": { + "LIVE": { + "title": "실 연동 채널" + }, + "TEST": { + "title": "테스트 연동 채널" + } + } + }, + "SendIdentityVerificationBody": { + "title": "본인인증 요청을 위한 입력 정보", + "description": "본인인증 요청을 위한 입력 정보", + "type": "object", + "required": [ + "channelKey", + "customer", + "operator", + "method" + ], + "properties": { + "storeId": { + "type": "string", + "title": "상점 아이디", + "description": "접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 토큰에 담긴 상점 아이디를 사용합니다." + }, + "channelKey": { + "type": "string", + "title": "채널 키" + }, + "customer": { + "$ref": "#/components/schemas/SendIdentityVerificationBodyCustomer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "bypass": { + "type": "object", + "title": "PG사별 추가 파라미터 (\"PG사별 연동 가이드\" 참고)" + }, + "operator": { + "$ref": "#/components/schemas/IdentityVerificationOperator", + "title": "통신사" + }, + "method": { + "$ref": "#/components/schemas/IdentityVerificationMethod", + "title": "본인인증 방식" + } + }, + "x-portone-title": "본인인증 요청을 위한 입력 정보" + }, + "SendIdentityVerificationBodyCustomer": { + "title": "본인인증 요청을 위한 고객 정보", + "description": "본인인증 요청을 위한 고객 정보", + "type": "object", + "required": [ + "name", + "phoneNumber", + "ipAddress" + ], + "properties": { + "id": { + "type": "string", + "title": "식별 아이디" + }, + "name": { + "type": "string", + "title": "이름" + }, + "phoneNumber": { + "type": "string", + "title": "전화번호", + "description": "특수 문자(-) 없이 숫자만 입력합니다." + }, + "identityNumber": { + "type": "string", + "title": "주민등록번호 앞 7자리", + "description": "SMS 방식의 경우 필수로 입력합니다." + }, + "ipAddress": { + "type": "string", + "title": "IP 주소", + "description": "고객의 요청 속도 제한에 사용됩니다." + } + }, + "x-portone-title": "본인인증 요청을 위한 고객 정보" + }, + "SendIdentityVerificationError": { + "title": "SendIdentityVerificationError", + "oneOf": [ + { + "$ref": "#/components/schemas/ChannelNotFoundError" + }, + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationAlreadySentError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationAlreadyVerifiedError" + }, + { + "$ref": "#/components/schemas/IdentityVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PgProviderError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "CHANNEL_NOT_FOUND": "#/components/schemas/ChannelNotFoundError", + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "IDENTITY_VERIFICATION_ALREADY_SENT": "#/components/schemas/IdentityVerificationAlreadySentError", + "IDENTITY_VERIFICATION_ALREADY_VERIFIED": "#/components/schemas/IdentityVerificationAlreadyVerifiedError", + "IDENTITY_VERIFICATION_NOT_FOUND": "#/components/schemas/IdentityVerificationNotFoundError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PG_PROVIDER": "#/components/schemas/PgProviderError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "SendIdentityVerificationResponse": { + "title": "본인인증 요청 전송 성공 응답", + "description": "본인인증 요청 전송 성공 응답", + "type": "object", + "x-portone-title": "본인인증 요청 전송 성공 응답" + }, + "SeparatedAddress": { + "title": "분리 형식 주소", + "description": "분리 형식 주소\n\n한 줄 형식 주소와 분리 형식 주소 모두 존재합니다.\n한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다.", + "type": "object", + "required": [ + "type", + "oneLine", + "addressLine1", + "addressLine2" + ], + "properties": { + "type": { + "type": "string" + }, + "oneLine": { + "type": "string", + "title": "주소 (한 줄)" + }, + "addressLine1": { + "type": "string", + "title": "상세 주소 1" + }, + "addressLine2": { + "type": "string", + "title": "상세 주소 2" + }, + "city": { + "type": "string", + "title": "시/군/구" + }, + "province": { + "type": "string", + "title": "주/도/시" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가" + } + }, + "x-portone-title": "분리 형식 주소", + "x-portone-description": "한 줄 형식 주소와 분리 형식 주소 모두 존재합니다.\n한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다." + }, + "SeparatedAddressInput": { + "title": "분리 형식 주소 입력 정보", + "description": "분리 형식 주소 입력 정보", + "type": "object", + "required": [ + "addressLine1", + "addressLine2" + ], + "properties": { + "addressLine1": { + "type": "string", + "title": "상세 주소 1" + }, + "addressLine2": { + "type": "string", + "title": "상세 주소 2" + }, + "city": { + "type": "string", + "title": "시/군/구" + }, + "province": { + "type": "string", + "title": "주/도/시" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가" + } + }, + "x-portone-title": "분리 형식 주소 입력 정보" + }, + "Settlement": { + "title": "정산 정보", + "description": "정산 정보", + "type": "object", + "required": [ + "feeAmount", + "feeVatAmount", + "settlementAmount", + "settlementCurrency", + "settlementDate" + ], + "properties": { + "feeAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료 요금" + }, + "feeVatAmount": { + "type": "integer", + "format": "int64", + "title": "PG 수수료 부가세" + }, + "settlementAmount": { + "type": "integer", + "format": "int64", + "title": "정산 금액" + }, + "settlementCurrency": { + "$ref": "#/components/schemas/Currency", + "title": "정산 통화" + }, + "settlementDate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "정산일" + } + }, + "x-portone-title": "정산 정보" + }, + "SortOrder": { + "title": "정렬 방식", + "description": "정렬 방식", + "type": "string", + "enum": [ + "DESC", + "ASC" + ], + "x-portone-title": "정렬 방식", + "x-portone-enum": { + "DESC": { + "title": "내림차순" + }, + "ASC": { + "title": "오름차순" + } + } + }, + "StartedPaymentSchedule": { + "title": "결제 시작 상태", + "description": "결제 시작 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay", + "startedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "title": "결제 시작 시점" + } + }, + "x-portone-title": "결제 시작 상태" + }, + "SucceededPaymentCancellation": { + "title": "취소 완료 상태", + "description": "취소 완료 상태", + "type": "object", + "required": [ + "status", + "id", + "totalAmount", + "taxFreeAmount", + "vatAmount", + "reason", + "requestedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 취소 내역 상태" + }, + "id": { + "type": "string", + "title": "취소 내역 아이디" + }, + "pgCancellationId": { + "type": "string", + "title": "PG사 결제 취소 내역 아이디" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "취소 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 면세 금액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "취소 금액 중 부가세액" + }, + "easyPayDiscountAmount": { + "type": "integer", + "format": "int64", + "title": "적립형 포인트의 환불 금액" + }, + "reason": { + "type": "string", + "title": "취소 사유" + }, + "cancelledAt": { + "type": "string", + "format": "date-time", + "title": "취소 시점" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "취소 요청 시점" + }, + "receiptUrl": { + "type": "string", + "title": "취소 영수증 URL" + } + }, + "x-portone-title": "취소 완료 상태" + }, + "SucceededPaymentSchedule": { + "title": "결제 성공 상태", + "description": "결제 성공 상태", + "type": "object", + "required": [ + "status", + "id", + "merchantId", + "storeId", + "paymentId", + "billingKey", + "orderName", + "isCulturalExpense", + "isEscrow", + "customer", + "customData", + "totalAmount", + "currency", + "createdAt", + "timeToPay", + "startedAt", + "completedAt" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 예약 건 상태" + }, + "id": { + "type": "string", + "title": "결제 예약 건 아이디" + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "paymentId": { + "type": "string", + "title": "결제 건 아이디" + }, + "billingKey": { + "type": "string", + "title": "빌링키" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "isEscrow": { + "type": "boolean", + "title": "에스크로 결제 여부" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "totalAmount": { + "type": "integer", + "format": "int64", + "title": "결제 총 금액" + }, + "taxFreeAmount": { + "type": "integer", + "format": "int64", + "title": "면세액" + }, + "vatAmount": { + "type": "integer", + "format": "int64", + "title": "부가세" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "installmentMonth": { + "type": "integer", + "format": "int32", + "title": "할부 개월 수" + }, + "noticeUrls": { + "type": "array", + "items": { + "type": "string" + }, + "title": "웹훅 주소" + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "결제 예약 등록 시점" + }, + "timeToPay": { + "type": "string", + "format": "date-time", + "title": "결제 예정 시점" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "title": "결제 시작 시점" + }, + "completedAt": { + "type": "string", + "format": "date-time", + "title": "결제 완료 시점" + } + }, + "x-portone-title": "결제 성공 상태" + }, + "SumOfPartsExceedsCancelAmountError": { + "title": "면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우", + "description": "면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우", + "x-portone-status-code": 409 + }, + "SumOfPartsExceedsTotalAmountError": { + "title": "면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우", + "description": "면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우", + "x-portone-status-code": 409 + }, + "TransferParameters": { + "title": "TransferParameters", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PlatformSettlementParameterValue" + } + }, + "UnauthorizedError": { + "title": "인증 정보가 올바르지 않은 경우", + "description": "인증 정보가 올바르지 않은 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "인증 정보가 올바르지 않은 경우", + "x-portone-status-code": 401 + }, + "UpdateB2bMemberCompanyBody": { + "title": "연동 사업자 정보 수정 요청", + "description": "연동 사업자 정보 수정 요청", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "회사명" + }, + "ceoName": { + "type": "string", + "title": "대표자 성명" + }, + "address": { + "type": "string", + "title": "회사 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + }, + "x-portone-title": "연동 사업자 정보 수정 요청" + }, + "UpdateB2bMemberCompanyContactBody": { + "title": "담당자 정보 수정 요청", + "description": "담당자 정보 수정 요청", + "type": "object", + "properties": { + "password": { + "type": "string", + "title": "비밀번호" + }, + "name": { + "type": "string", + "title": "담당자 성명" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 핸드폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + }, + "x-portone-title": "담당자 정보 수정 요청" + }, + "UpdateB2bMemberCompanyContactError": { + "title": "UpdateB2bMemberCompanyContactError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bContactNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_CONTACT_NOT_FOUND": "#/components/schemas/B2bContactNotFoundError", + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdateB2bMemberCompanyContactResponse": { + "title": "담당자 정보 수정 응답", + "description": "담당자 정보 수정 응답", + "type": "object", + "required": [ + "contact" + ], + "properties": { + "contact": { + "$ref": "#/components/schemas/B2bCompanyContact", + "title": "담당자 정보" + } + }, + "x-portone-title": "담당자 정보 수정 응답" + }, + "UpdateB2bMemberCompanyError": { + "title": "UpdateB2bMemberCompanyError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bMemberCompanyNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_MEMBER_COMPANY_NOT_FOUND": "#/components/schemas/B2bMemberCompanyNotFoundError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdateB2bMemberCompanyResponse": { + "title": "연동 사업자 정보 수정 응답", + "description": "연동 사업자 정보 수정 응답", + "type": "object", + "required": [ + "memberCompany" + ], + "properties": { + "memberCompany": { + "$ref": "#/components/schemas/B2bMemberCompany", + "title": "연동 사업자 정보" + } + }, + "x-portone-title": "연동 사업자 정보 수정 응답" + }, + "UpdatePlatformAdditionalFeePolicyBody": { + "title": "추가 수수료 정책 업데이트를 위한 입력 정보", + "description": "추가 수수료 정책 업데이트를 위한 입력 정보\n\n값이 명시하지 않은 필드는 업데이트되지 않습니다.", + "type": "object", + "properties": { + "fee": { + "$ref": "#/components/schemas/PlatformFeeInput", + "title": "책정 수수료" + }, + "name": { + "type": "string", + "title": "추가 수수료 정책 이름" + }, + "memo": { + "type": "string", + "title": "해당 추가 수수료 정책에 대한 메모" + }, + "vatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "부가세를 부담할 주체" + } + }, + "x-portone-title": "추가 수수료 정책 업데이트를 위한 입력 정보", + "x-portone-description": "값이 명시하지 않은 필드는 업데이트되지 않습니다." + }, + "UpdatePlatformAdditionalFeePolicyError": { + "title": "UpdatePlatformAdditionalFeePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedAdditionalFeePolicyError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND": "#/components/schemas/PlatformAdditionalFeePolicyNotFoundError", + "PLATFORM_ARCHIVED_ADDITIONAL_FEE_POLICY": "#/components/schemas/PlatformArchivedAdditionalFeePolicyError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdatePlatformAdditionalFeePolicyResponse": { + "title": "추가 수수료 정책 업데이트 성공 응답", + "description": "추가 수수료 정책 업데이트 성공 응답", + "type": "object", + "required": [ + "additionalFeePolicy" + ], + "properties": { + "additionalFeePolicy": { + "$ref": "#/components/schemas/PlatformAdditionalFeePolicy", + "title": "업데이트된 추가 수수료 정책" + } + }, + "x-portone-title": "추가 수수료 정책 업데이트 성공 응답" + }, + "UpdatePlatformBody": { + "title": "플랫폼 업데이트를 위한 입력 정보", + "description": "플랫폼 업데이트를 위한 입력 정보\n\n값이 명시되지 않은 필드는 업데이트하지 않습니다.", + "type": "object", + "properties": { + "roundType": { + "$ref": "#/components/schemas/PlatformRoundType", + "title": "파트너 정산금액의 소수점 처리 방식" + }, + "settlementFormula": { + "$ref": "#/components/schemas/UpdatePlatformBodySettlementFormula", + "title": "수수료 및 할인 분담 정책 관련 계산식" + }, + "settlementRule": { + "$ref": "#/components/schemas/UpdatePlatformBodySettlementRule", + "title": "정산 규칙" + } + }, + "x-portone-title": "플랫폼 업데이트를 위한 입력 정보", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트하지 않습니다." + }, + "UpdatePlatformBodySettlementFormula": { + "title": "플랫폼 업데이트 시 변경할 계산식 정보", + "description": "플랫폼 업데이트 시 변경할 계산식 정보\n\n값이 명시되지 않은 필드는 업데이트하지 않습니다.", + "type": "object", + "properties": { + "platformFee": { + "type": "string", + "title": "플랫폼 수수료 계산식" + }, + "discountShare": { + "type": "string", + "title": "할인 분담액 계산식" + }, + "additionalFee": { + "type": "string", + "title": "추가 수수료 계산식" + } + }, + "x-portone-title": "플랫폼 업데이트 시 변경할 계산식 정보", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트하지 않습니다." + }, + "UpdatePlatformBodySettlementRule": { + "title": "플랫폼 업데이트 시 변경할 정산 규칙 정보", + "description": "플랫폼 업데이트 시 변경할 정산 규칙 정보\n\n값이 명시되지 않은 필드는 업데이트하지 않습니다.", + "type": "object", + "properties": { + "supportsMultipleOrderTransfersPerPartner": { + "type": "boolean", + "title": "paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부" + }, + "adjustSettlementDateAfterHolidayIfEarlier": { + "type": "boolean", + "title": "정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부" + }, + "subtractWhtInPayoutAmount": { + "type": "boolean", + "title": "지급 금액에서 원천징수세 차감 여부" + } + }, + "x-portone-title": "플랫폼 업데이트 시 변경할 정산 규칙 정보", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트하지 않습니다." + }, + "UpdatePlatformContractBody": { + "title": "계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.", + "description": "계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.\n\n값이 명시되지 않은 필드는 업데이트되지 않습니다.", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "계약 이름" + }, + "memo": { + "type": "string", + "title": "계약 내부 표기를 위한 메모" + }, + "platformFee": { + "$ref": "#/components/schemas/PlatformFeeInput", + "title": "중개수수료" + }, + "settlementCycle": { + "$ref": "#/components/schemas/PlatformSettlementCycleInput", + "title": "정산 주기" + }, + "platformFeeVatPayer": { + "$ref": "#/components/schemas/PlatformPayer", + "title": "중개수수료에 대한 부가세 부담 주체" + }, + "subtractPaymentVatAmount": { + "type": "boolean", + "title": "정산 시 결제금액 부가세 감액 여부" + } + }, + "x-portone-title": "계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트되지 않습니다." + }, + "UpdatePlatformContractError": { + "title": "UpdatePlatformContractError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedContractError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_CONTRACT": "#/components/schemas/PlatformArchivedContractError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdatePlatformContractResponse": { + "title": "계약 객체 업데이트 성공 응답", + "description": "계약 객체 업데이트 성공 응답", + "type": "object", + "required": [ + "contract" + ], + "properties": { + "contract": { + "$ref": "#/components/schemas/PlatformContract", + "title": "업데이트된 계약 객체" + } + }, + "x-portone-title": "계약 객체 업데이트 성공 응답" + }, + "UpdatePlatformDiscountSharePolicyBody": { + "title": "할인 분담 정책 업데이트를 위한 입력 정보", + "description": "할인 분담 정책 업데이트를 위한 입력 정보\n\n값이 명시되지 않은 필드는 업데이트하지 않습니다.", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "할인 분담 정책 이름" + }, + "partnerShareRate": { + "type": "integer", + "format": "int32", + "title": "할인 분담율", + "description": "파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다." + }, + "memo": { + "type": "string", + "title": "해당 할인 분담에 대한 메모" + } + }, + "x-portone-title": "할인 분담 정책 업데이트를 위한 입력 정보", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트하지 않습니다." + }, + "UpdatePlatformDiscountSharePolicyError": { + "title": "UpdatePlatformDiscountSharePolicyError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedDiscountSharePolicyError" + }, + { + "$ref": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ARCHIVED_DISCOUNT_SHARE_POLICY": "#/components/schemas/PlatformArchivedDiscountSharePolicyError", + "PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND": "#/components/schemas/PlatformDiscountSharePolicyNotFoundError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdatePlatformDiscountSharePolicyResponse": { + "title": "할인 분담 정책 업데이트 성공 응답", + "description": "할인 분담 정책 업데이트 성공 응답", + "type": "object", + "required": [ + "discountSharePolicy" + ], + "properties": { + "discountSharePolicy": { + "$ref": "#/components/schemas/PlatformDiscountSharePolicy", + "title": "업데이트된 할인 분담 정책" + } + }, + "x-portone-title": "할인 분담 정책 업데이트 성공 응답" + }, + "UpdatePlatformError": { + "title": "UpdatePlatformError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformInvalidSettlementFormulaError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_INVALID_SETTLEMENT_FORMULA": "#/components/schemas/PlatformInvalidSettlementFormulaError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdatePlatformPartnerBody": { + "title": "파트너 업데이트를 위한 입력 정보", + "description": "파트너 업데이트를 위한 입력 정보\n\n값이 명시되지 않은 필드는 업데이트되지 않습니다.", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "파트너 법인명 혹은 이름" + }, + "contact": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyContact", + "title": "파트너 담당자 연락 정보" + }, + "account": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyAccount", + "title": "정산 계좌" + }, + "defaultContractId": { + "type": "string", + "title": "파트너에 설정된 기본 계약 아이디" + }, + "memo": { + "type": "string", + "title": "파트너에 대한 메모" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "파트너의 태그 리스트" + }, + "type": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyType", + "title": "파트너 유형별 정보" + }, + "userDefinedProperties": { + "$ref": "#/components/schemas/PlatformProperties", + "title": "사용자 정의 속성" + } + }, + "x-portone-title": "파트너 업데이트를 위한 입력 정보", + "x-portone-description": "값이 명시되지 않은 필드는 업데이트되지 않습니다." + }, + "UpdatePlatformPartnerBodyAccount": { + "title": "파트너 계좌 업데이트를 위한 입력 정보", + "description": "파트너 계좌 업데이트를 위한 입력 정보", + "type": "object", + "required": [ + "bank", + "currency", + "number", + "holder" + ], + "properties": { + "bank": { + "$ref": "#/components/schemas/Bank", + "title": "은행" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "정산에 사용할 통화" + }, + "number": { + "type": "string", + "title": "계좌번호" + }, + "holder": { + "type": "string", + "title": "예금주명" + }, + "accountVerificationId": { + "type": "string", + "title": "계좌 검증 아이디" + } + }, + "x-portone-title": "파트너 계좌 업데이트를 위한 입력 정보" + }, + "UpdatePlatformPartnerBodyContact": { + "title": "파트너 담당자 업데이트를 위한 정보", + "description": "파트너 담당자 업데이트를 위한 정보", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "담당자 이름" + }, + "phoneNumber": { + "type": "string", + "title": "담당자 휴대폰 번호" + }, + "email": { + "type": "string", + "title": "담당자 이메일" + } + }, + "x-portone-title": "파트너 담당자 업데이트를 위한 정보" + }, + "UpdatePlatformPartnerBodyType": { + "title": "파트너 업데이트를 위한 유형별 추가 정보", + "description": "파트너 업데이트를 위한 유형별 추가 정보\n\n파트너 유형별 추가 정보를 수정합니다.\n기존과 다른 파트너 유형 정보가 입력된 경우, 파트너의 유형 자체가 변경됩니다.", + "type": "object", + "properties": { + "business": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyTypeBusiness", + "title": "사업자 추가 정보" + }, + "whtPayer": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyTypeWhtPayer", + "title": "원천징수 대상자 추가 정보" + }, + "nonWhtPayer": { + "$ref": "#/components/schemas/UpdatePlatformPartnerBodyTypeNonWhtPayer", + "title": "원천징수 비대상자 추가 정보" + } + }, + "x-portone-title": "파트너 업데이트를 위한 유형별 추가 정보", + "x-portone-description": "파트너 유형별 추가 정보를 수정합니다.\n기존과 다른 파트너 유형 정보가 입력된 경우, 파트너의 유형 자체가 변경됩니다." + }, + "UpdatePlatformPartnerBodyTypeBusiness": { + "title": "UpdatePlatformPartnerBodyTypeBusiness", + "type": "object", + "properties": { + "companyName": { + "type": "string", + "title": "상호명" + }, + "taxationType": { + "$ref": "#/components/schemas/PlatformPartnerTaxationType", + "title": "사업자 유형" + }, + "businessRegistrationNumber": { + "type": "string", + "title": "사업자등록번호" + }, + "representativeName": { + "type": "string", + "title": "대표자 이름" + }, + "companyAddress": { + "type": "string", + "title": "사업장 주소" + }, + "businessType": { + "type": "string", + "title": "업태" + }, + "businessClass": { + "type": "string", + "title": "업종" + } + } + }, + "UpdatePlatformPartnerBodyTypeNonWhtPayer": { + "title": "UpdatePlatformPartnerBodyTypeNonWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "UpdatePlatformPartnerBodyTypeWhtPayer": { + "title": "UpdatePlatformPartnerBodyTypeWhtPayer", + "type": "object", + "properties": { + "birthdate": { + "description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "type": "string", + "x-portone-description": "날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.", + "title": "생년월일" + } + } + }, + "UpdatePlatformPartnerError": { + "title": "UpdatePlatformPartnerError", + "oneOf": [ + { + "$ref": "#/components/schemas/ForbiddenError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationFailedError" + }, + { + "$ref": "#/components/schemas/PlatformAccountVerificationNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformArchivedPartnerError" + }, + { + "$ref": "#/components/schemas/PlatformContractNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformInsufficientDataToChangePartnerTypeError" + }, + { + "$ref": "#/components/schemas/PlatformNotEnabledError" + }, + { + "$ref": "#/components/schemas/PlatformPartnerNotFoundError" + }, + { + "$ref": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "FORBIDDEN": "#/components/schemas/ForbiddenError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED": "#/components/schemas/PlatformAccountVerificationAlreadyUsedError", + "PLATFORM_ACCOUNT_VERIFICATION_FAILED": "#/components/schemas/PlatformAccountVerificationFailedError", + "PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND": "#/components/schemas/PlatformAccountVerificationNotFoundError", + "PLATFORM_ARCHIVED_PARTNER": "#/components/schemas/PlatformArchivedPartnerError", + "PLATFORM_CONTRACT_NOT_FOUND": "#/components/schemas/PlatformContractNotFoundError", + "PLATFORM_INSUFFICIENT_DATA_TO_CHANGE_PARTNER_TYPE": "#/components/schemas/PlatformInsufficientDataToChangePartnerTypeError", + "PLATFORM_NOT_ENABLED": "#/components/schemas/PlatformNotEnabledError", + "PLATFORM_PARTNER_NOT_FOUND": "#/components/schemas/PlatformPartnerNotFoundError", + "PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND": "#/components/schemas/PlatformUserDefinedPropertyNotFoundError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "UpdatePlatformPartnerResponse": { + "title": "파트너 업데이트 성공 응답", + "description": "파트너 업데이트 성공 응답", + "type": "object", + "required": [ + "partner" + ], + "properties": { + "partner": { + "$ref": "#/components/schemas/PlatformPartner", + "title": "업데이트된 파트너" + } + }, + "x-portone-title": "파트너 업데이트 성공 응답" + }, + "UpdatePlatformPartnerSettlementStatusBody": { + "title": "UpdatePlatformPartnerSettlementStatusBody", + "type": "object", + "required": [ + "partnerSettlementId", + "status" + ], + "properties": { + "partnerSettlementId": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/PlatformPartnerSettlementStatus" + }, + "memo": { + "type": "string" + } + } + }, + "UpdatePlatformPartnerSettlementStatusResponse": { + "title": "정산내역 상태 업데이트 결과", + "description": "정산내역 상태 업데이트 결과", + "type": "object", + "required": [ + "partnerSettlement" + ], + "properties": { + "partnerSettlement": { + "$ref": "#/components/schemas/PlatformPartnerSettlement" + } + }, + "x-portone-title": "정산내역 상태 업데이트 결과" + }, + "UpdatePlatformResponse": { + "title": "플랫폼 업데이트 결과 정보", + "description": "플랫폼 업데이트 결과 정보", + "type": "object", + "required": [ + "platform" + ], + "properties": { + "platform": { + "$ref": "#/components/schemas/Platform", + "title": "업데이트된 플랫폼 정보" + } + }, + "x-portone-title": "플랫폼 업데이트 결과 정보" + }, + "VerifiedIdentityVerification": { + "title": "완료된 본인인증 내역", + "description": "완료된 본인인증 내역", + "type": "object", + "required": [ + "status", + "id", + "verifiedCustomer", + "requestedAt", + "updatedAt", + "statusChangedAt", + "verifiedAt", + "pgTxId", + "pgRawResponse" + ], + "properties": { + "status": { + "type": "string", + "title": "본인인증 상태" + }, + "id": { + "type": "string", + "title": "본인인증 내역 아이디" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "사용된 본인인증 채널" + }, + "verifiedCustomer": { + "$ref": "#/components/schemas/IdentityVerificationVerifiedCustomer", + "title": "인증된 고객 정보" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "본인인증 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "verifiedAt": { + "type": "string", + "format": "date-time", + "title": "본인인증 완료 시점" + }, + "pgTxId": { + "type": "string", + "title": "본인인증 내역 PG사 아이디" + }, + "pgRawResponse": { + "type": "string", + "title": "PG사 응답 데이터" + } + }, + "x-portone-title": "완료된 본인인증 내역" + }, + "VirtualAccountIssuedPayment": { + "title": "가상계좌 발급 완료 상태 건", + "description": "가상계좌 발급 완료 상태 건", + "type": "object", + "required": [ + "status", + "id", + "transactionId", + "merchantId", + "storeId", + "channel", + "version", + "requestedAt", + "updatedAt", + "statusChangedAt", + "orderName", + "amount", + "currency", + "customer" + ], + "properties": { + "status": { + "type": "string", + "title": "결제 건 상태" + }, + "id": { + "type": "string", + "title": "결제 건 아이디" + }, + "transactionId": { + "type": "string", + "title": "결제 건 포트원 채번 아이디", + "description": "V1 결제 건의 경우 imp_uid에 해당합니다." + }, + "merchantId": { + "type": "string", + "title": "고객사 아이디" + }, + "storeId": { + "type": "string", + "title": "상점 아이디" + }, + "method": { + "$ref": "#/components/schemas/PaymentMethod", + "title": "결제수단 정보" + }, + "channel": { + "$ref": "#/components/schemas/SelectedChannel", + "title": "결제 채널" + }, + "channelGroup": { + "$ref": "#/components/schemas/ChannelGroupSummary", + "title": "결제 채널 그룹 정보" + }, + "version": { + "$ref": "#/components/schemas/PortOneVersion", + "title": "포트원 버전" + }, + "scheduleId": { + "type": "string", + "title": "결제 예약 건 아이디", + "description": "결제 예약을 이용한 경우에만 존재" + }, + "billingKey": { + "type": "string", + "title": "결제 시 사용된 빌링키", + "description": "빌링키 결제인 경우에만 존재" + }, + "webhooks": { + "title": "웹훅 발송 내역", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentWebhook" + } + }, + "requestedAt": { + "type": "string", + "format": "date-time", + "title": "결제 요청 시점" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "title": "업데이트 시점" + }, + "statusChangedAt": { + "type": "string", + "format": "date-time", + "title": "상태 업데이트 시점" + }, + "orderName": { + "type": "string", + "title": "주문명" + }, + "amount": { + "$ref": "#/components/schemas/PaymentAmount", + "title": "결제 금액 관련 세부 정보" + }, + "currency": { + "$ref": "#/components/schemas/Currency", + "title": "통화" + }, + "customer": { + "$ref": "#/components/schemas/Customer", + "title": "구매자 정보" + }, + "promotionId": { + "type": "string", + "title": "프로모션 아이디" + }, + "isCulturalExpense": { + "type": "boolean", + "title": "문화비 지출 여부" + }, + "escrow": { + "$ref": "#/components/schemas/PaymentEscrow", + "title": "에스크로 결제 정보", + "description": "에스크로 결제인 경우 존재합니다." + }, + "products": { + "title": "상품 정보", + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentProduct" + } + }, + "productCount": { + "type": "integer", + "format": "int32", + "title": "상품 갯수" + }, + "customData": { + "type": "string", + "title": "사용자 지정 데이터" + }, + "country": { + "$ref": "#/components/schemas/Country", + "title": "국가 코드" + }, + "pgTxId": { + "type": "string", + "title": "PG사 거래 아이디" + } + }, + "x-portone-title": "가상계좌 발급 완료 상태 건" + }, + "WebhookNotFoundError": { + "title": "웹훅 내역이 존재하지 않는 경우", + "description": "웹훅 내역이 존재하지 않는 경우", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "x-portone-title": "웹훅 내역이 존재하지 않는 경우", + "x-portone-status-code": 404 + }, + "getB2bContactIdExistenceError": { + "title": "getB2bContactIdExistenceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + }, + "requestB2bTaxInvoiceError": { + "title": "requestB2bTaxInvoiceError", + "oneOf": [ + { + "$ref": "#/components/schemas/B2bExternalServiceError" + }, + { + "$ref": "#/components/schemas/B2bNotEnabledError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotFoundError" + }, + { + "$ref": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError" + }, + { + "$ref": "#/components/schemas/InvalidRequestError" + }, + { + "$ref": "#/components/schemas/UnauthorizedError" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "B2B_EXTERNAL_SERVICE": "#/components/schemas/B2bExternalServiceError", + "B2B_NOT_ENABLED": "#/components/schemas/B2bNotEnabledError", + "B2B_TAX_INVOICE_NOT_FOUND": "#/components/schemas/B2bTaxInvoiceNotFoundError", + "B2B_TAX_INVOICE_NOT_REGISTERED_STATUS": "#/components/schemas/B2bTaxInvoiceNotRegisteredStatusError", + "B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY": "#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError", + "INVALID_REQUEST": "#/components/schemas/InvalidRequestError", + "UNAUTHORIZED": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "securitySchemes": { + "bearerJwt": { + "type": "http", + "description": "Authorization: Bearer `엑세스 토큰`", + "scheme": "bearer" + }, + "portOne": { + "type": "http", + "description": "Authorization: PortOne `발급된 API 시크릿`", + "scheme": "portone" + } + } + }, + "x-portone-categories": [ + { + "id": "auth", + "title": "인증 관련 API", + "description": "인증과 관련된 API 기능을 제공합니다." + }, + { + "id": "payment", + "title": "결제 관련 API", + "description": "결제와 관련된 API 기능을 제공합니다." + }, + { + "id": "paymentSchedule", + "title": "결제 예약 관련 API", + "description": "결제 예약과 관련된 API 기능을 제공합니다." + }, + { + "id": "billingKey", + "title": "빌링키 관련 API", + "description": "빌링키와 관련된 API 기능을 제공합니다." + }, + { + "id": "cashReceipt", + "title": "현금 영수증 관련 API", + "description": "현금 영수증과 관련된 API 기능을 제공합니다." + }, + { + "id": "identityVerification", + "title": "본인인증 관련 API", + "description": "본인인증과 관련된 API 기능을 제공합니다." + }, + { + "id": "b2b", + "title": "B2B 서비스 API", + "description": "B2B 관련 API 기능을 제공합니다. alpha 버전의 API 로서, 사용을 원하실 경우 관리자콘솔 및 홈페이지를 통해 문의해주세요." + }, + { + "id": "platform", + "title": "파트너 정산 관련 API", + "description": "파트너 정산 서비스 API 기능을 제공합니다.", + "children": [ + { + "id": "platform.policy", + "title": "정책 관련 API", + "description": "파트너 정산에 적용할 정책에 관한 API 입니다." + }, + { + "id": "platform.partner", + "title": "파트너 관련 API", + "description": "파트너 정산에 적용할 파트너에 관한 API 입니다." + }, + { + "id": "platform.transfer", + "title": "정산 상세내역 관련 API", + "description": "파트너 정산 서비스의 정산 상세내역과 관련된 API 입니다." + }, + { + "id": "platform.account", + "title": "계좌 관련 API", + "description": "파트너 정산 서비스의 계좌와 관련된 API 입니다." + }, + { + "id": "platform.partnerSettlement", + "title": "정산 내역 관련 API", + "description": "파트너 정산 서비스의 정산 내역과 관련된 API 입니다." + }, + { + "id": "platform.payout", + "title": "지급 내역 관련 API", + "description": "파트너 정산 서비스의 지급 내역과 관련된 API 입니다." + }, + { + "id": "platform.bulkPayout", + "title": "일괄 지급 내역 관련 API", + "description": "파트너 정산 서비스의 일괄 지급 내역과 관련된 API 입니다." + }, + { + "id": "platform.accountTransfer", + "title": "이체 내역 관련 API", + "description": "파트너 정산 서비스의 이체 내역과 관련된 API 입니다." + } + ] + }, + { + "id": "pgSpecific", + "title": "특정 PG사 관련 API", + "description": "특정 PG사에 국한된 API 기능을 제공합니다." + }, + { + "id": "reconciliation", + "title": "대사 서비스 API", + "description": "거래 대사 및 정산 대사 관련 API 기능을 제공합니다." + }, + { + "id": "promotion", + "title": "프로모션 관련 API", + "description": "프로모션과 관련된 API 기능을 제공합니다." + } + ] +}