{
"code": "validation_error",
"message": "서버 내부 오류입니다",
"errors": [
{
"field": "event_type",
"message": "공백일 수 없습니다"
}
]
}
{
"code": "validation_error",
"message": "서버 내부 오류입니다",
"errors": [
{
"field": "event_type",
"message": "공백일 수 없습니다"
}
]
}
{
"code": "validation_error",
"message": "서버 내부 오류입니다",
"errors": [
{
"field": "event_type",
"message": "공백일 수 없습니다"
}
]
}
{
"code": "validation_error",
"message": "서버 내부 오류입니다",
"errors": [
{
"field": "event_type",
"message": "공백일 수 없습니다"
}
]
}
{
"code": "validation_error",
"message": "서버 내부 오류입니다",
"errors": [
{
"field": "event_type",
"message": "공백일 수 없습니다"
}
]
}
수납 상태
인보이스별 결제 상태 목록
인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다.
상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다.
시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다.
순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.
next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MeterEngine","description":"MeterEngine 도입사를 위한 연동 가이드와 API 참조","colors":{"primary":"#5746ad"},"api":{"playground":{"display":"interactive","proxy":true},"examples":{"languages":["bash","node"]}},"navbar":{"primary":{"type":"button","label":"콘솔 열기","href":"https://meterengine.com"}},"search":{"prompt":"가이드와 API 검색"},"seo":{"metatags":{"canonical":"https://docs.meterengine.com"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"ko","default":true,"href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"meterengine","hasAudioNarration":false,"actualSubdomain":"meterengine","customDomains":[],"gitSource":{"type":"github","owner":"asm17-ms2","repo":"meterengine","deployBranch":"main","contentDirectory":"guide","isPrivate":false,"mountPath":"","label":"","_id":"6af407799a58d6755c1f99cb"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af41107e02ab65c314d17b4","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"ko","tag":"API 참조","count":84},{"language":"ko","tag":"엔드포인트","count":83},{"language":"ko","tag":"가이드","count":44},{"language":"ko","tag":"검색과 내보내기","count":15},{"language":"ko","tag":"웹훅","count":13},{"language":"ko","tag":"결제 연동","count":9},{"language":"ko","tag":"미터","count":7},{"language":"ko","tag":"고객","count":7},{"language":"ko","tag":"가격 설계","count":6},{"language":"ko","tag":"이벤트","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/invoice-payment-controller/인보이스별-결제-상태-목록","slug":"/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록","pageMetadata":{"title":"인보이스별 결제 상태 목록","description":"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다.\n상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다.\n시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다.\n순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.\nnext_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\n","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoice-payments","href":"/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다.\\n상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다.\\n시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다.\\n순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.\\nnext_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"인보이스별 결제 상태 목록","description":"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다.\n상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다.\n시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다.\n순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.\nnext_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\n","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoice-payments","href":"/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다.\n상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다.\n시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다.\n순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.\nnext_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\n","operationId":"listInvoicePayments","parameters":["770c6b89-48e4-4acc-899c-b689ad46f76b","ffa43fc7-3977-4417-a9b2-976107af541f"],"responses":{"200":"fc78ce3e-d99a-4ea5-b87d-2420b18f0ae6","400":"58c752ef-7810-4c0e-b7a6-bfc806d13d1b","401":"268654bc-1afe-4125-ac4f-131ac34487d4","403":"18718d79-67d8-4801-a3a7-4643d06ce8e2","404":"82a4318e-1780-4925-93e1-3eb612ae0dad","429":"aa2b341b-163c-49ff-b7f4-49b4d12b3dfa"},"summary":"인보이스별 결제 상태 목록","tags":["invoice-payment-controller"],"method":"get","type":"path","servers":["0cef6632-74ea-4650-a4d5-583aade483b9"],"security":["3fd7dd2d-a237-4414-93a2-e2f7671b6e98"],"path":"/v1/invoice-payments","baseUrlOptions":["https://meterengine.com"],"title":"인보이스별 결제 상태 목록","codeSamples":[],"requestExampleLanguages":["bash","node"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"770c6b89-48e4-4acc-899c-b689ad46f76b":{"description":"인보이스의 달(yyyy-MM, KST). 생략하면 모든 달이다.","example":"2026-08","in":"query","name":"month","required":false,"schema":{"type":"string","isRequired":false,"description":"인보이스의 달(yyyy-MM, KST). 생략하면 모든 달이다.","uniqueKey":"","typeLabel":"string"}},"ffa43fc7-3977-4417-a9b2-976107af541f":{"description":"고객을 좁힌다. 생략하면 모든 고객이 대상이다.","in":"query","name":"customer_id","required":false,"schema":{"type":"string","format":"uuid","isRequired":false,"description":"고객을 좁힌다. 생략하면 모든 고객이 대상이다.","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"fc78ce3e-d99a-4ea5-b87d-2420b18f0ae6":{"content":{"*/*":{"schema":{"type":"object","properties":{"invoice_payments":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"integer","format":"int64","description":"인보이스의 total_amount. 원 단위 정수","uniqueKey":"invoice_payments.items.[INDEX].amount","typeLabel":"integer\u003cint64>"},"attempt_count":{"type":"integer","format":"int64","description":"현재 결제 모드로 이 인보이스에 한 결제 시도 수","uniqueKey":"invoice_payments.items.[INDEX].attempt_count","typeLabel":"integer\u003cint64>"},"canceled_amount":{"type":"integer","format":"int64","description":"결제된 시도에서 취소를 마친 금액의 합. 결제된 시도가 아니면 0이다","uniqueKey":"invoice_payments.items.[INDEX].canceled_amount","typeLabel":"integer\u003cint64>"},"completed_at":{"type":"string","format":"date-time","description":"가장 늦게 요청한 시도의 completed_at. 시도가 없거나 pending이면 null이다","uniqueKey":"invoice_payments.items.[INDEX].completed_at","typeLabel":"string\u003cdate-time>"},"invoice_id":{"type":"string","format":"uuid","uniqueKey":"invoice_payments.items.[INDEX].invoice_id","typeLabel":"string\u003cuuid>"},"last_failure_code":{"type":"string","description":"가장 늦게 요청한 시도가 failed일 때만 있다. 그 시도의 failure_code다","uniqueKey":"invoice_payments.items.[INDEX].last_failure_code","typeLabel":"string"},"mode":{"type":"string","description":"상태를 정한 결제 모드. 조회한 때 도입사의 결제 모드다","enum":["test","live"],"uniqueKey":"invoice_payments.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"next_retry_at":{"type":"string","format":"date-time","description":"가장 늦게 요청한 시도가 failed이고, 실패 코드가 다시 시도할 대상이며, 시도 수가 상한보다 적을 때만 있다. 카드 오류처럼 다시 시도하지 않는 코드여도 그 시도가 끝난 뒤 고객이 카드를 다시 등록했으면 다시 시도할 대상이고, ALREADY_REMOVED_BILLING_KEY는 지금 등록 카드가 있으면 대상이다. NOT_FOUND_PAYMENT는 그 시도가 끝난 지 7일 안일 때만 대상이다. 그 시도의 completed_at에 재시도 간격을 더한 시각이다","uniqueKey":"invoice_payments.items.[INDEX].next_retry_at","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","description":"현재 결제 모드의 가장 늦게 요청한 시도로 정한 결제 상태. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed, done이면 취소한 합에 따라 paid, partially_canceled, canceled다","enum":["not_required","unpaid","pending","paid","failed","partially_canceled","canceled"],"uniqueKey":"invoice_payments.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"invoice_payments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invoice_payments","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"invoice_payments":[{"amount":123,"attempt_count":123,"canceled_amount":123,"completed_at":"2023-11-07T05:31:56Z","invoice_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","last_failure_code":"\u003cstring>","mode":"test","next_retry_at":"2023-11-07T05:31:56Z","status":"not_required"}]}}},"exampleType":"generated"}},"description":"인보이스별 결제 상태. 조건에 맞는 인보이스가 없으면 invoice_payments가 빈 배열이다","exampleType":"generated"},"58c752ef-7810-4c0e-b7a6-bfc806d13d1b":{"content":{"application/json":{"schema":{"type":"object","description":"오류 응답. code로 오류 종류를 구분하고, message는 code마다 하나인 한국어 문구다.","properties":{"code":{"type":"string","description":"오류 종류. 오류별 처리는 이 값으로 분기한다.","enum":["validation_error","malformed_request_body","invalid_billable_metric","invalid_price_rate","event_too_old","invalid_toss_payments_credential","payment_method_rejected","toss_payments_test_code_in_live_mode","invalid_webhook_url","invalid_webhook_event_type","authentication_required","invalid_credentials","permission_denied","organization_not_active","environment_mismatch","consent_required","customer_not_found","event_not_found","billable_metric_not_found","price_rate_not_found","invoice_not_found","invoice_view_link_not_found","endpoint_not_found","api_key_not_found","organization_not_found","user_account_not_found","payment_method_not_found","payment_method_registration_not_found","payment_attempt_not_found","toss_payments_credential_not_found","price_plan_not_found","webhook_endpoint_not_found","webhook_delivery_not_found","invitation_not_found","method_not_allowed","response_type_not_acceptable","resource_version_conflict","idempotency_conflict","customer_archived","resource_archived","environment_not_ready","archive_restoration_conflict","customer_has_events","customer_has_payment_attempts","billable_metric_has_events","billable_metric_has_price_rate","billable_metric_already_exists","billable_metric_event_type_target_property_already_exists","invoice_already_paid","payment_result_unconfirmed","payment_retry_unavailable","payment_retry_stale","invoice_amount_zero","email_already_exists","organization_status_transition_invalid","organization_member_already_exists","toss_payments_credential_missing","payment_method_missing","payment_mode_mismatch","payment_attempt_not_cancelable","payment_attempt_fully_canceled","payment_cancellation_amount_exceeded","payment_cancellation_in_progress","payment_cancellation_idempotency_conflict","webhook_delivery_not_retryable","price_rate_history_immutable","price_plan_history_immutable","webhook_endpoint_disabled","webhook_endpoint_limit_exceeded","invitation_unavailable","last_owner_required","owner_scopes_required","last_operator_required","api_key_unavailable","upload_size_exceeded","request_type_not_supported","rate_limit_exceeded","internal_server_error","request_timed_out","toss_payments_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"code마다 하나인 한국어 문구. 예고 없이 바뀔 수 있으니 분기에 쓰지 않는다.","example":"서버 내부 오류입니다","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"틀린 필드 목록. 400 응답에만 실린다.","items":{"type":"object","description":"틀린 필드 하나","properties":{"field":{"type":"string","description":"틀린 값을 보낸 자리의 이름. 요청에 쓴 이름과 같다.","example":"event_type","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"이 자리의 값이 거절된 이유.","example":"공백일 수 없습니다","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"서버 내부 오류입니다","errors":[{"field":"event_type","message":"공백일 수 없습니다"}]}}},"exampleType":"generated"}},"description":"code=validation_error: customer_id가 UUID가 아니거나, month가 yyyy-MM이 아니거나 0001-01부터 9999-12까지의 범위 밖이다","exampleType":"generated"},"268654bc-1afe-4125-ac4f-131ac34487d4":{"content":{"application/json":{"schema":{"type":"object","description":"오류 응답. code로 오류 종류를 구분하고, message는 code마다 하나인 한국어 문구다.","properties":{"code":{"type":"string","description":"오류 종류. 오류별 처리는 이 값으로 분기한다.","enum":["validation_error","malformed_request_body","invalid_billable_metric","invalid_price_rate","event_too_old","invalid_toss_payments_credential","payment_method_rejected","toss_payments_test_code_in_live_mode","invalid_webhook_url","invalid_webhook_event_type","authentication_required","invalid_credentials","permission_denied","organization_not_active","environment_mismatch","consent_required","customer_not_found","event_not_found","billable_metric_not_found","price_rate_not_found","invoice_not_found","invoice_view_link_not_found","endpoint_not_found","api_key_not_found","organization_not_found","user_account_not_found","payment_method_not_found","payment_method_registration_not_found","payment_attempt_not_found","toss_payments_credential_not_found","price_plan_not_found","webhook_endpoint_not_found","webhook_delivery_not_found","invitation_not_found","method_not_allowed","response_type_not_acceptable","resource_version_conflict","idempotency_conflict","customer_archived","resource_archived","environment_not_ready","archive_restoration_conflict","customer_has_events","customer_has_payment_attempts","billable_metric_has_events","billable_metric_has_price_rate","billable_metric_already_exists","billable_metric_event_type_target_property_already_exists","invoice_already_paid","payment_result_unconfirmed","payment_retry_unavailable","payment_retry_stale","invoice_amount_zero","email_already_exists","organization_status_transition_invalid","organization_member_already_exists","toss_payments_credential_missing","payment_method_missing","payment_mode_mismatch","payment_attempt_not_cancelable","payment_attempt_fully_canceled","payment_cancellation_amount_exceeded","payment_cancellation_in_progress","payment_cancellation_idempotency_conflict","webhook_delivery_not_retryable","price_rate_history_immutable","price_plan_history_immutable","webhook_endpoint_disabled","webhook_endpoint_limit_exceeded","invitation_unavailable","last_owner_required","owner_scopes_required","last_operator_required","api_key_unavailable","upload_size_exceeded","request_type_not_supported","rate_limit_exceeded","internal_server_error","request_timed_out","toss_payments_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"code마다 하나인 한국어 문구. 예고 없이 바뀔 수 있으니 분기에 쓰지 않는다.","example":"서버 내부 오류입니다","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"틀린 필드 목록. 400 응답에만 실린다.","items":{"type":"object","description":"틀린 필드 하나","properties":{"field":{"type":"string","description":"틀린 값을 보낸 자리의 이름. 요청에 쓴 이름과 같다.","example":"event_type","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"이 자리의 값이 거절된 이유.","example":"공백일 수 없습니다","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"서버 내부 오류입니다","errors":[{"field":"event_type","message":"공백일 수 없습니다"}]}}},"exampleType":"generated"}},"description":"code=authentication_required: Authorization 헤더가 없다.\ncode=invalid_credentials: 키나 토큰의 형식이 틀렸거나, 모르는 값이거나, 폐기 또는 만료됐다.\n","exampleType":"generated"},"18718d79-67d8-4801-a3a7-4643d06ce8e2":{"content":{"application/json":{"schema":{"type":"object","description":"오류 응답. code로 오류 종류를 구분하고, message는 code마다 하나인 한국어 문구다.","properties":{"code":{"type":"string","description":"오류 종류. 오류별 처리는 이 값으로 분기한다.","enum":["validation_error","malformed_request_body","invalid_billable_metric","invalid_price_rate","event_too_old","invalid_toss_payments_credential","payment_method_rejected","toss_payments_test_code_in_live_mode","invalid_webhook_url","invalid_webhook_event_type","authentication_required","invalid_credentials","permission_denied","organization_not_active","environment_mismatch","consent_required","customer_not_found","event_not_found","billable_metric_not_found","price_rate_not_found","invoice_not_found","invoice_view_link_not_found","endpoint_not_found","api_key_not_found","organization_not_found","user_account_not_found","payment_method_not_found","payment_method_registration_not_found","payment_attempt_not_found","toss_payments_credential_not_found","price_plan_not_found","webhook_endpoint_not_found","webhook_delivery_not_found","invitation_not_found","method_not_allowed","response_type_not_acceptable","resource_version_conflict","idempotency_conflict","customer_archived","resource_archived","environment_not_ready","archive_restoration_conflict","customer_has_events","customer_has_payment_attempts","billable_metric_has_events","billable_metric_has_price_rate","billable_metric_already_exists","billable_metric_event_type_target_property_already_exists","invoice_already_paid","payment_result_unconfirmed","payment_retry_unavailable","payment_retry_stale","invoice_amount_zero","email_already_exists","organization_status_transition_invalid","organization_member_already_exists","toss_payments_credential_missing","payment_method_missing","payment_mode_mismatch","payment_attempt_not_cancelable","payment_attempt_fully_canceled","payment_cancellation_amount_exceeded","payment_cancellation_in_progress","payment_cancellation_idempotency_conflict","webhook_delivery_not_retryable","price_rate_history_immutable","price_plan_history_immutable","webhook_endpoint_disabled","webhook_endpoint_limit_exceeded","invitation_unavailable","last_owner_required","owner_scopes_required","last_operator_required","api_key_unavailable","upload_size_exceeded","request_type_not_supported","rate_limit_exceeded","internal_server_error","request_timed_out","toss_payments_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"code마다 하나인 한국어 문구. 예고 없이 바뀔 수 있으니 분기에 쓰지 않는다.","example":"서버 내부 오류입니다","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"틀린 필드 목록. 400 응답에만 실린다.","items":{"type":"object","description":"틀린 필드 하나","properties":{"field":{"type":"string","description":"틀린 값을 보낸 자리의 이름. 요청에 쓴 이름과 같다.","example":"event_type","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"이 자리의 값이 거절된 이유.","example":"공백일 수 없습니다","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"서버 내부 오류입니다","errors":[{"field":"event_type","message":"공백일 수 없습니다"}]}}},"exampleType":"generated"}},"description":"code=permission_denied: 키의 스코프나 계정의 역할로는 할 수 없는 요청이거나, 도입사가 정해지지 않은 로그인 세션이다.\ncode=organization_not_active: 도입사가 활성 상태가 아니다.\ncode=consent_required: 로그인 세션의 사용자가 필수 안내에 아직 동의하지 않았다. POST /v1/sessions/current/consents로 동의한다.\n","exampleType":"generated"},"82a4318e-1780-4925-93e1-3eb612ae0dad":{"content":{"application/json":{"schema":{"type":"object","description":"오류 응답. code로 오류 종류를 구분하고, message는 code마다 하나인 한국어 문구다.","properties":{"code":{"type":"string","description":"오류 종류. 오류별 처리는 이 값으로 분기한다.","enum":["validation_error","malformed_request_body","invalid_billable_metric","invalid_price_rate","event_too_old","invalid_toss_payments_credential","payment_method_rejected","toss_payments_test_code_in_live_mode","invalid_webhook_url","invalid_webhook_event_type","authentication_required","invalid_credentials","permission_denied","organization_not_active","environment_mismatch","consent_required","customer_not_found","event_not_found","billable_metric_not_found","price_rate_not_found","invoice_not_found","invoice_view_link_not_found","endpoint_not_found","api_key_not_found","organization_not_found","user_account_not_found","payment_method_not_found","payment_method_registration_not_found","payment_attempt_not_found","toss_payments_credential_not_found","price_plan_not_found","webhook_endpoint_not_found","webhook_delivery_not_found","invitation_not_found","method_not_allowed","response_type_not_acceptable","resource_version_conflict","idempotency_conflict","customer_archived","resource_archived","environment_not_ready","archive_restoration_conflict","customer_has_events","customer_has_payment_attempts","billable_metric_has_events","billable_metric_has_price_rate","billable_metric_already_exists","billable_metric_event_type_target_property_already_exists","invoice_already_paid","payment_result_unconfirmed","payment_retry_unavailable","payment_retry_stale","invoice_amount_zero","email_already_exists","organization_status_transition_invalid","organization_member_already_exists","toss_payments_credential_missing","payment_method_missing","payment_mode_mismatch","payment_attempt_not_cancelable","payment_attempt_fully_canceled","payment_cancellation_amount_exceeded","payment_cancellation_in_progress","payment_cancellation_idempotency_conflict","webhook_delivery_not_retryable","price_rate_history_immutable","price_plan_history_immutable","webhook_endpoint_disabled","webhook_endpoint_limit_exceeded","invitation_unavailable","last_owner_required","owner_scopes_required","last_operator_required","api_key_unavailable","upload_size_exceeded","request_type_not_supported","rate_limit_exceeded","internal_server_error","request_timed_out","toss_payments_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"code마다 하나인 한국어 문구. 예고 없이 바뀔 수 있으니 분기에 쓰지 않는다.","example":"서버 내부 오류입니다","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"틀린 필드 목록. 400 응답에만 실린다.","items":{"type":"object","description":"틀린 필드 하나","properties":{"field":{"type":"string","description":"틀린 값을 보낸 자리의 이름. 요청에 쓴 이름과 같다.","example":"event_type","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"이 자리의 값이 거절된 이유.","example":"공백일 수 없습니다","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"서버 내부 오류입니다","errors":[{"field":"event_type","message":"공백일 수 없습니다"}]}}},"exampleType":"generated"}},"description":"code=customer_not_found: customer_id가 가리키는 고객이 없다","exampleType":"generated"},"aa2b341b-163c-49ff-b7f4-49b4d12b3dfa":{"content":{"application/json":{"schema":{"type":"object","description":"오류 응답. code로 오류 종류를 구분하고, message는 code마다 하나인 한국어 문구다.","properties":{"code":{"type":"string","description":"오류 종류. 오류별 처리는 이 값으로 분기한다.","enum":["validation_error","malformed_request_body","invalid_billable_metric","invalid_price_rate","event_too_old","invalid_toss_payments_credential","payment_method_rejected","toss_payments_test_code_in_live_mode","invalid_webhook_url","invalid_webhook_event_type","authentication_required","invalid_credentials","permission_denied","organization_not_active","environment_mismatch","consent_required","customer_not_found","event_not_found","billable_metric_not_found","price_rate_not_found","invoice_not_found","invoice_view_link_not_found","endpoint_not_found","api_key_not_found","organization_not_found","user_account_not_found","payment_method_not_found","payment_method_registration_not_found","payment_attempt_not_found","toss_payments_credential_not_found","price_plan_not_found","webhook_endpoint_not_found","webhook_delivery_not_found","invitation_not_found","method_not_allowed","response_type_not_acceptable","resource_version_conflict","idempotency_conflict","customer_archived","resource_archived","environment_not_ready","archive_restoration_conflict","customer_has_events","customer_has_payment_attempts","billable_metric_has_events","billable_metric_has_price_rate","billable_metric_already_exists","billable_metric_event_type_target_property_already_exists","invoice_already_paid","payment_result_unconfirmed","payment_retry_unavailable","payment_retry_stale","invoice_amount_zero","email_already_exists","organization_status_transition_invalid","organization_member_already_exists","toss_payments_credential_missing","payment_method_missing","payment_mode_mismatch","payment_attempt_not_cancelable","payment_attempt_fully_canceled","payment_cancellation_amount_exceeded","payment_cancellation_in_progress","payment_cancellation_idempotency_conflict","webhook_delivery_not_retryable","price_rate_history_immutable","price_plan_history_immutable","webhook_endpoint_disabled","webhook_endpoint_limit_exceeded","invitation_unavailable","last_owner_required","owner_scopes_required","last_operator_required","api_key_unavailable","upload_size_exceeded","request_type_not_supported","rate_limit_exceeded","internal_server_error","request_timed_out","toss_payments_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"code마다 하나인 한국어 문구. 예고 없이 바뀔 수 있으니 분기에 쓰지 않는다.","example":"서버 내부 오류입니다","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"틀린 필드 목록. 400 응답에만 실린다.","items":{"type":"object","description":"틀린 필드 하나","properties":{"field":{"type":"string","description":"틀린 값을 보낸 자리의 이름. 요청에 쓴 이름과 같다.","example":"event_type","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"이 자리의 값이 거절된 이유.","example":"공백일 수 없습니다","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"서버 내부 오류입니다","errors":[{"field":"event_type","message":"공백일 수 없습니다"}]}}},"exampleType":"generated"}},"description":"code=rate_limit_exceeded: 키의 분당 요청 한도를 넘었다. Retry-After 헤더의 초만큼 기다린 뒤 다시 보낸다.","headers":{"Retry-After":{"description":"다시 보내기 전에 기다릴 초","required":true,"schema":{"type":"integer","format":"int32"}}},"exampleType":"generated"}},"security":{"3fd7dd2d-a237-4414-93a2-e2f7671b6e98":{"bearerAuth":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"0cef6632-74ea-4650-a4d5-583aade483b9":{"description":"MeterEngine API","url":"https://meterengine.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml"},"subdomain":"meterengine","siteName":"MeterEngine","title":"인보이스별 결제 상태 목록 - MeterEngine","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"ko":{"href":"/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록","matchLevel":0}}},"lastModified":"2026-11-11T06:13:34.721Z","originalFileLocation":"api-reference/invoice-payment-controller/인보이스별-결제-상태-목록.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다. 상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다. 시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다. 순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다. next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MeterEngine\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/meterengine/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/meterengine/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/meterengine/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/meterengine/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"인보이스별 결제 상태 목록 - MeterEngine\">\u003cmeta data-mint-head property=\"og:description\" content=\"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다. 상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다. 시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다. 순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다. next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MeterEngine\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.meterengine.com/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://meterengine.mintlify.site/_mintlify/api/og/v2?division=%EC%88%98%EB%82%A9+%EC%83%81%ED%83%9C\u0026amp;title=%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84+%EA%B2%B0%EC%A0%9C+%EC%83%81%ED%83%9C+%EB%AA%A9%EB%A1%9D\u0026amp;description=%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%A7%88%EB%8B%A4+%EB%8F%84%EC%9E%85%EC%82%AC%EC%9D%98+%ED%98%84%EC%9E%AC+%EA%B2%B0%EC%A0%9C+%EB%AA%A8%EB%93%9C%28test+%EB%98%90%EB%8A%94+live%29%EB%A1%9C+%EB%B3%B8+%EA%B2%B0%EC%A0%9C+%EC%83%81%ED%83%9C%EB%A5%BC+%ED%95%9C+%EC%A4%84%EC%94%A9+%EB%8F%8C%EB%A0%A4%EC%A4%80%EB%8B%A4.+%EB%8B%A4%EB%A5%B8+%EA%B2%B0%EC%A0%9C+%EB%AA%A8%EB%93%9C%EC%9D%98+%EC%8B%9C%EB%8F%84%EB%8A%94+%EB%B3%B4%EC%A7%80+%EC%95%8A%EB%8A%94%EB%8B%A4.%0A%EC%83%81%ED%83%9C%EB%8A%94+%EA%B7%B8+%EB%AA%A8%EB%93%9C%EC%97%90%EC%84%9C+%EA%B0%80%EC%9E%A5+%EB%8A%A6%EA%B2%8C+%EC%9A%94%EC%B2%AD%ED%95%9C+%EC%8B%9C%EB%8F%84%EB%A1%9C+%EC%A0%95%ED%95%9C%EB%8B%A4.+total_amount%EA%B0%80+0%EC%9B%90%EC%9D%B4%EB%A9%B4+not_required%2C+%EC%8B%9C%EB%8F%84%EA%B0%80+%EC%97%86%EC%9C%BC%EB%A9%B4+unpaid%2C+%EC%8B%9C%EB%8F%84%EA%B0%80\u0026amp;theme=23a62b0b000949226daf3b66\u0026amp;signature=61aba8b70df19e65e447916cd5b062ece300025fbfaf7ec851e45c0fef6c3460\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"인보이스별 결제 상태 목록 - MeterEngine\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다. 상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다. 시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다. 순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다. next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://meterengine.mintlify.site/_mintlify/api/og/v2?division=%EC%88%98%EB%82%A9+%EC%83%81%ED%83%9C\u0026amp;title=%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84+%EA%B2%B0%EC%A0%9C+%EC%83%81%ED%83%9C+%EB%AA%A9%EB%A1%9D\u0026amp;description=%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%A7%88%EB%8B%A4+%EB%8F%84%EC%9E%85%EC%82%AC%EC%9D%98+%ED%98%84%EC%9E%AC+%EA%B2%B0%EC%A0%9C+%EB%AA%A8%EB%93%9C%28test+%EB%98%90%EB%8A%94+live%29%EB%A1%9C+%EB%B3%B8+%EA%B2%B0%EC%A0%9C+%EC%83%81%ED%83%9C%EB%A5%BC+%ED%95%9C+%EC%A4%84%EC%94%A9+%EB%8F%8C%EB%A0%A4%EC%A4%80%EB%8B%A4.+%EB%8B%A4%EB%A5%B8+%EA%B2%B0%EC%A0%9C+%EB%AA%A8%EB%93%9C%EC%9D%98+%EC%8B%9C%EB%8F%84%EB%8A%94+%EB%B3%B4%EC%A7%80+%EC%95%8A%EB%8A%94%EB%8B%A4.%0A%EC%83%81%ED%83%9C%EB%8A%94+%EA%B7%B8+%EB%AA%A8%EB%93%9C%EC%97%90%EC%84%9C+%EA%B0%80%EC%9E%A5+%EB%8A%A6%EA%B2%8C+%EC%9A%94%EC%B2%AD%ED%95%9C+%EC%8B%9C%EB%8F%84%EB%A1%9C+%EC%A0%95%ED%95%9C%EB%8B%A4.+total_amount%EA%B0%80+0%EC%9B%90%EC%9D%B4%EB%A9%B4+not_required%2C+%EC%8B%9C%EB%8F%84%EA%B0%80+%EC%97%86%EC%9C%BC%EB%A9%B4+unpaid%2C+%EC%8B%9C%EB%8F%84%EA%B0%80\u0026amp;theme=23a62b0b000949226daf3b66\u0026amp;signature=61aba8b70df19e65e447916cd5b062ece300025fbfaf7ec851e45c0fef6c3460\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/meterengine/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MeterEngine\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5746ad\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.meterengine.com/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.meterengine.com/#organization\",\"name\":\"MeterEngine\",\"url\":\"https://docs.meterengine.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.meterengine.com#website\",\"name\":\"MeterEngine\",\"url\":\"https://docs.meterengine.com\",\"publisher\":{\"@id\":\"https://docs.meterengine.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D#webpage\",\"url\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D\",\"name\":\"인보이스별 결제 상태 목록\",\"description\":\"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다. 상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다. 시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다. 순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다. next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\",\"dateModified\":\"2026-11-11T06:13:34.721Z\",\"isPartOf\":{\"@id\":\"https://docs.meterengine.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"엔드포인트\",\"item\":\"https://docs.meterengine.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"인보이스별 결제 상태 목록\",\"item\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D#apireference\",\"headline\":\"인보이스별 결제 상태 목록\",\"name\":\"인보이스별 결제 상태 목록\",\"description\":\"인보이스마다 도입사의 현재 결제 모드(test 또는 live)로 본 결제 상태를 한 줄씩 돌려준다. 다른 결제 모드의 시도는 보지 않는다. 상태는 그 모드에서 가장 늦게 요청한 시도로 정한다. total_amount가 0원이면 not_required, 시도가 없으면 unpaid, 시도가 pending이면 pending, failed면 failed다. 시도가 done이면 그 시도에서 취소를 마친 금액의 합이 0원이면 paid, 결제 금액보다 적으면 partially_canceled, 결제 금액과 같으면 canceled다. 순서와 거르는 조건은 인보이스 목록 조회와 같다. 달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다. next_retry_at과 completed_at은 KST(+09:00)로 나온다. 페이지를 나누지 않는다.\",\"url\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D\",\"mainEntityOfPage\":{\"@id\":\"https://docs.meterengine.com/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D#webpage\"},\"dateModified\":\"2026-11-11T06:13:34.721Z\",\"publisher\":{\"@id\":\"https://docs.meterengine.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.meterengine.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MeterEngine\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MeterEngine\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/invoice-payment-controller/%EC%9D%B8%EB%B3%B4%EC%9D%B4%EC%8A%A4%EB%B3%84-%EA%B2%B0%EC%A0%9C-%EC%83%81%ED%83%9C-%EB%AA%A9%EB%A1%9D.md","siteName":"MeterEngine","nav":{"global":null,"languages":[{"language":"ko","default":true,"tabs":[{"tab":"가이드","pages":[{"title":"가이드","href":""}]},{"tab":"API 참조","groups":[{"group":"소개","pages":[{"title":"API 참조 읽는 법","href":"/api-reference/introduction"}]},{"group":"엔드포인트","pages":[{"group":"API 키 (콘솔 전용)","pages":[]},{"group":"감사 기록 (콘솔 전용)","pages":[]},{"group":"미터별 단가 조회","pages":[{"title":"미터별 가격 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metric-prices","href":"/api-reference/billable-metric-price-controller/미터별-가격-목록-조회"}]},{"group":"검색과 내보내기","pages":[{"title":"미터별 가격 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metric-prices/export","href":"/api-reference/workspace-query-controller/미터별-가격-검색-결과-csv"},{"title":"단가 버전이 시작된 월 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metric-prices/months","href":"/api-reference/workspace-query-controller/단가-버전이-시작된-월-목록"},{"title":"월별 가격 검색과 서버 페이지 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metric-prices/search","href":"/api-reference/workspace-query-controller/월별-가격-검색과-서버-페이지-조회"},{"title":"미터 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metrics/export","href":"/api-reference/workspace-query-controller/미터-검색-결과-csv"},{"title":"미터 검색과 서버 페이지 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metrics/search","href":"/api-reference/workspace-query-controller/미터-검색과-서버-페이지-조회"},{"title":"고객 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/customers/export","href":"/api-reference/workspace-query-controller/고객-검색-결과-csv"},{"title":"고객 검색과 서버 페이지 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/customers/search","href":"/api-reference/workspace-query-controller/고객-검색과-서버-페이지-조회"},{"title":"청구 예정액 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/draft/export","href":"/api-reference/workspace-query-controller/청구-예정액-검색-결과-csv"},{"title":"청구 예정액 검색과 페이지 독립 요약","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/draft/search","href":"/api-reference/workspace-query-controller/청구-예정액-검색과-페이지-독립-요약"},{"title":"인보이스 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/export","href":"/api-reference/workspace-query-controller/인보이스-검색-결과-csv"},{"title":"확정 인보이스가 있는 월 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/months","href":"/api-reference/workspace-query-controller/확정-인보이스가-있는-월-목록"},{"title":"인보이스와 결제 상태 검색","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/search","href":"/api-reference/workspace-query-controller/인보이스와-결제-상태-검색"},{"title":"고객별 사용량 검색 결과 CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/usage/export","href":"/api-reference/workspace-query-controller/고객별-사용량-검색-결과-csv"},{"title":"이벤트가 있는 월 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/usage/months","href":"/api-reference/workspace-query-controller/이벤트가-있는-월-목록"},{"title":"고객 단위 사용량 검색과 서버 페이지 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/usage/search","href":"/api-reference/workspace-query-controller/고객-단위-사용량-검색과-서버-페이지-조회"}]},{"group":"미터","pages":[{"title":"미터 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metrics","href":"/api-reference/billable-metric-controller/미터-목록-조회"},{"title":"집계 미터 등록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/billable-metrics","href":"/api-reference/billable-metric-controller/집계-미터-등록"},{"title":"미터 상세 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metrics/{code}","href":"/api-reference/billable-metric-controller/미터-상세-조회"},{"title":"집계 미터 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml put /v1/billable-metrics/{code}","href":"/api-reference/billable-metric-controller/집계-미터-수정"},{"title":"미터 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/billable-metrics/{code}","href":"/api-reference/billable-metric-controller/미터-보관"},{"title":"버전을 확인한 미터 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml patch /v1/billable-metrics/{code}","href":"/api-reference/billable-metric-controller/버전을-확인한-미터-수정"},{"title":"미터 복원","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/billable-metrics/{code}/restorations","href":"/api-reference/billable-metric-controller/미터-복원"}]},{"group":"단가","pages":[{"title":"미터 단가 이력 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/billable-metrics/{code}/price-rates","href":"/api-reference/price-rate-controller/미터-단가-이력-조회"},{"title":"단가 등록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/billable-metrics/{code}/price-rates","href":"/api-reference/price-rate-controller/단가-등록"},{"title":"단가 조합 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/billable-metrics/{code}/price-rates","href":"/api-reference/price-rate-controller/단가-조합-보관"},{"title":"단가 버전 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/billable-metrics/{code}/price-rates/{id}","href":"/api-reference/price-rate-controller/단가-버전-보관"},{"title":"단가 버전 복원","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/billable-metrics/{code}/price-rates/{id}/restorations","href":"/api-reference/price-rate-controller/단가-버전-복원"}]},{"group":"고객","pages":[{"title":"고객 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/customers","href":"/api-reference/customer-controller/고객-목록-조회"},{"title":"고객 등록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/customers","href":"/api-reference/customer-controller/고객-등록"},{"title":"고객 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/customers/{id}","href":"/api-reference/customer-controller/고객-조회"},{"title":"고객 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml put /v1/customers/{id}","href":"/api-reference/customer-controller/고객-수정"},{"title":"고객 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/customers/{id}","href":"/api-reference/customer-controller/고객-보관"},{"title":"버전을 확인한 고객 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml patch /v1/customers/{id}","href":"/api-reference/customer-controller/버전을-확인한-고객-수정"},{"title":"고객 복원","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/customers/{id}/restorations","href":"/api-reference/customer-controller/고객-복원"}]},{"group":"결제 수단","pages":[{"title":"고객 카드 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/customers/{id}/payment-method","href":"/api-reference/payment-method-controller/고객-카드-조회"},{"title":"고객 카드 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/customers/{id}/payment-method","href":"/api-reference/payment-method-controller/고객-카드-보관"},{"title":"고객 카드 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/payment-methods","href":"/api-reference/payment-method-controller/고객-카드-목록-조회"}]},{"group":"카드 등록 링크","pages":[{"title":"카드 등록 링크 생성","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/customers/{id}/payment-method-registrations","href":"/api-reference/payment-method-registration-controller/카드-등록-링크-생성"}]},{"group":"개요","pages":[{"title":"월별 과금과 수납 현황 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/dashboard","href":"/api-reference/dashboard-controller/월별-과금과-수납-현황-조회"}]},{"group":"이벤트 일괄 전송","pages":[{"title":"사용량 이벤트 일괄 수집","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/event-batches","href":"/api-reference/event-batch-controller/사용량-이벤트-일괄-수집"}]},{"group":"이벤트 매핑 진단","pages":[{"title":"수집된 이벤트의 매핑 문제 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/event-issues/search","href":"/api-reference/event-issue-controller/수집된-이벤트의-매핑-문제-조회"}]},{"group":"수집 거절","pages":[{"title":"수집 업무 거절 메타데이터 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/event-rejections/search","href":"/api-reference/event-rejection-controller/수집-업무-거절-메타데이터-조회"}]},{"group":"이벤트","pages":[{"title":"사용량 이벤트 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/events","href":"/api-reference/event-controller/사용량-이벤트-조회"},{"title":"사용량 이벤트 수집","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/events","href":"/api-reference/event-controller/사용량-이벤트-수집"},{"title":"이벤트 단건 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/events/lookup","href":"/api-reference/event-controller/이벤트-단건-조회"},{"title":"이벤트가 있는 월 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/events/months","href":"/api-reference/event-controller/이벤트가-있는-월-조회"},{"title":"수집된 이벤트 유형 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/events/types","href":"/api-reference/event-controller/수집된-이벤트-유형-조회"}]},{"group":"이벤트 내보내기","pages":[{"title":"사용량 이벤트 CSV 내보내기","description":"이벤트 목록과 같은 월 또는 자유 기간, 고객, 유형, 검색, 속성 조건과 정렬을 적용한다. page와 size는 목록 링크 호환을 위해 받지만 내보내기에는 적용하지 않는다. 조건 전체가 10000행을 넘거나, include_properties=true일 때 원본 properties 합계가 32MB를 넘으면 400 validation_error로 거절한다. UTF-8 BOM과 CRLF를 사용하며 문자열의 스프레드시트 수식을 이스케이프한다. include_properties=true를 선택한 경우에만 원본 properties JSON 열을 추가하며 숫자 자릿수를 보존한다. 모르는 조회 조건은 400 validation_error로 거절한다.","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/events/export","href":"/api-reference/event-export-controller/사용량-이벤트-csv-내보내기"}]},{"group":"수납 상태","pages":[{"title":"인보이스별 결제 상태 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoice-payments","href":"/api-reference/invoice-payment-controller/인보이스별-결제-상태-목록"}]},{"group":"인보이스","pages":[{"title":"인보이스 목록 조회","description":"확정된 인보이스를 (고객, 달)마다 한 줄씩 돌려준다. 확정 전의 금액은 청구 예정액 조회로 본다.\ncustomer_id와 month를 함께 주면 둘 다 만족하는 인보이스만 나온다. month를 생략하면 모든 달이다.\n달 내림차순이고, 같은 달은 고객 이름 오름차순, 이름이 같으면 고객 id 순이다.\nsupply_amount, tax_amount, total_amount는 확정할 때 저장한 공급가액, 세액, 합계(공급가액 + 세액)이고 원 단위 정수다.\nlines는 확정할 때 저장한 조합별 수량, 단가, 금액이고 미터 code 오름차순, 같은 미터 안에서는 dimension_values 오름차순이다. 조회할 때 다시 계산하지 않아 뒤에 단가를 고쳐도 바뀌지 않는다. 라인 금액의 합이 supply_amount다.\ncutoff_at은 확정이 읽은 이벤트의 받은 시각 상한이다. 그 달에 발생했고 이 시각 전에 받은 이벤트만 금액에 들었다.\ncutoff_at과 finalized_at은 KST(+09:00)로 나온다. customer_name은 확정할 때 저장한 고객 이름이라 뒤에 이름을 고쳐도 바뀌지 않는다. 페이지를 나누지 않는다.\n","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices","href":"/api-reference/invoice-controller/인보이스-목록-조회"},{"title":"인보이스 일괄 확정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/invoices","href":"/api-reference/invoice-controller/인보이스-일괄-확정"},{"title":"인보이스 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/{id}","href":"/api-reference/invoice-controller/인보이스-조회"}]},{"group":"청구 예정액","pages":[{"title":"청구 예정액 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/draft","href":"/api-reference/draft-invoice-controller/청구-예정액-조회"}]},{"group":"결제 요청","pages":[{"title":"인보이스 결제 시도 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/{id}/payment-attempts","href":"/api-reference/payment-attempt-controller/인보이스-결제-시도-목록"},{"title":"인보이스 결제 요청","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/invoices/{id}/payment-attempts","href":"/api-reference/payment-attempt-controller/인보이스-결제-요청"}]},{"group":"인보이스 조회 링크","pages":[{"title":"고객 인보이스 조회 링크 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/invoices/{id}/view-links","href":"/api-reference/invoice-view-link-controller/고객-인보이스-조회-링크-목록"},{"title":"고객 인보이스 조회 링크 발급","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/invoices/{id}/view-links","href":"/api-reference/invoice-view-link-controller/고객-인보이스-조회-링크-발급"},{"title":"고객 인보이스 조회 링크 폐기","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/invoices/{id}/view-links/{view_link_id}/revoke","href":"/api-reference/invoice-view-link-controller/고객-인보이스-조회-링크-폐기"}]},{"group":"도입사 정보","pages":[{"title":"현재 도입사 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/organization","href":"/api-reference/current-organization-controller/현재-도입사-조회"},{"title":"공급자 정보 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/organization/supplier","href":"/api-reference/current-organization-controller/공급자-정보-조회"},{"title":"공급자 정보 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml put /v1/organization/supplier","href":"/api-reference/current-organization-controller/공급자-정보-수정"}]},{"group":"업무 환경","pages":[{"title":"도입사의 테스트와 실제 환경 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/organization/environments","href":"/api-reference/organization-environment-controller/도입사의-테스트와-실제-환경-조회"}]},{"group":"구성원과 초대 (콘솔 전용)","pages":[]},{"group":"결제 취소","pages":[{"title":"결제 취소 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/payment-attempts/{id}/cancellations","href":"/api-reference/payment-cancellation-controller/결제-취소-목록"},{"title":"결제 취소 요청","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/payment-attempts/{id}/cancellations","href":"/api-reference/payment-cancellation-controller/결제-취소-요청"}]},{"group":"대사 불일치","pages":[{"title":"결제 대사 불일치 목록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/payment-reconciliation-mismatches","href":"/api-reference/payment-reconciliation-mismatch-controller/결제-대사-불일치-목록"}]},{"group":"결제 설정","pages":[{"title":"결제 모드 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/payment-setting","href":"/api-reference/payment-setting-controller/결제-모드-조회"}]},{"group":"요금제","pages":[{"title":"요금제 이력 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/price-plans","href":"/api-reference/price-plan-controller/요금제-이력-조회"},{"title":"기본료와 최소 과금 요금제 등록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/price-plans","href":"/api-reference/price-plan-controller/기본료와-최소-과금-요금제-등록"},{"title":"요금제 버전 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/price-plans/{id}","href":"/api-reference/price-plan-controller/요금제-버전-보관"},{"title":"요금제 버전 복원","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/price-plans/{id}/restorations","href":"/api-reference/price-plan-controller/요금제-버전-복원"}]},{"group":"토스페이먼츠 키","pages":[{"title":"토스페이먼츠 키 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/toss-payments-credentials","href":"/api-reference/toss-payments-credential-controller/토스페이먼츠-키-목록-조회"}]},{"group":"토스페이먼츠 웹훅 수신","pages":[]},{"group":"청구 제외 사용량","pages":[{"title":"청구 제외와 정정 이벤트 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/unbilled-events","href":"/api-reference/unbilled-event-controller/청구-제외와-정정-이벤트-조회"}]},{"group":"사용량 집계","pages":[{"title":"고객별 월 사용량 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/usage","href":"/api-reference/billable-metric-usage-controller/고객별-월-사용량-조회"}]},{"group":"웹훅","pages":[{"title":"웹훅 엔드포인트 목록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/webhook-endpoints","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-목록-조회"},{"title":"웹훅 엔드포인트 등록","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/webhook-endpoints","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-등록"},{"title":"웹훅 엔드포인트 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/webhook-endpoints/{id}","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-조회"},{"title":"웹훅 엔드포인트 수정","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml put /v1/webhook-endpoints/{id}","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-수정"},{"title":"웹훅 엔드포인트 보관","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml delete /v1/webhook-endpoints/{id}","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-보관"},{"title":"웹훅 전송 기록 조회","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml get /v1/webhook-endpoints/{id}/deliveries","href":"/api-reference/webhook-endpoint-controller/웹훅-전송-기록-조회"},{"title":"실패한 웹훅 전송 재시도","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/webhook-endpoints/{id}/deliveries/{delivery_id}/retries","href":"/api-reference/webhook-endpoint-controller/실패한-웹훅-전송-재시도"},{"title":"웹훅 엔드포인트 복원","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/webhook-endpoints/{id}/restorations","href":"/api-reference/webhook-endpoint-controller/웹훅-엔드포인트-복원"},{"title":"웹훅 시험 이벤트 발행","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/asm17-ms2/meterengine/main/backend/openapi.yaml post /v1/webhook-endpoints/{id}/test-events","href":"/api-reference/webhook-endpoint-controller/웹훅-시험-이벤트-발행"}]}]}]}]}]},"basePath":"","title":"인보이스별 결제 상태 목록 - MeterEngine","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}