Guide / 결제 로그
KO EN

결제 로그

결제 로그 페이지는 결제 Webhook 이벤트를 검색하고, 처리 결과를 확인하고, 상세 Webhook 로그 기록을 열어볼 수 있는 화면입니다.

이 화면은 결제 제공업체의 이벤트 이력을 확인하는 용도입니다. Webhook 이벤트가 정상적으로 수신되었는지, 처리되었는지, 실패했는지, 고객 및 청구 데이터와 정상적으로 매핑되었는지 확인할 때 사용합니다.

화면 개요

Payment Logs는 결제 제공업체에서 수신한 결제 관련 이벤트를 기록합니다. 결제 캡처 이벤트, 정기 구독 생성, 정기 구독 업데이트, 처리 실패 기록, 기타 Webhook 알림 등이 포함될 수 있습니다.

목록 화면에서는 각 이벤트의 요약 정보를 보여주고, 상세 화면에서는 Raw Webhook 기록, 요청 Headers, Raw Body, Signature, 처리 결과, 정규화된 Billing Event 데이터를 확인할 수 있습니다.

검색 및 필터

Search & Filter 영역에서는 Keyword, Provider, Event Type, Process Status, 날짜 범위로 특정 결제 이벤트를 찾을 수 있습니다.

필터 설명
Keyword 고객, Event ID, Delivery ID, Subscription Token, Transaction Token 또는 지원되는 관련 키워드로 검색합니다.
Provider 결제 제공업체 기준으로 이벤트를 필터링합니다. 예: AUTHNET.
Event Type invoice.paid, net.authorize.payment.authcapture.created, net.authorize.customer.subscription.updated 같은 이벤트 타입으로 검색합니다.
Process Status SUCCESS, FAILED, PROCESSED 같은 처리 결과 상태로 검색합니다.
From 결제 이벤트 검색 시작일입니다.
To 결제 이벤트 검색 종료일입니다.
Search 선택한 조건으로 검색을 실행합니다.

Payment Log List

Payment Log List는 Webhook 및 이벤트 이력 기록을 보여줍니다. 각 행은 결제 제공업체에서 수신했거나 Billing 시스템에서 처리한 하나의 이벤트를 의미합니다.

컬럼 설명
Date 이벤트가 수신되었거나 기록된 날짜와 시간입니다.
Provider 이벤트를 보낸 결제 제공업체입니다. 예: AUTHNET.
Event Type 제공업체 이벤트 타입과 Event ID 또는 Delivery ID입니다.
CustomerId 고객 기록과 연결된 경우 매핑된 Customer ID 또는 Token이 표시됩니다.
Customer 매핑된 고객 이름과 이메일 주소입니다. 매핑되지 않은 경우 unmap으로 표시될 수 있습니다.
Status Webhook 이벤트 처리 상태입니다. 예: PROCESSED 또는 FAILED.
Message 간단한 처리 결과 메시지 또는 오류 메시지입니다.
Action Detail 버튼을 통해 전체 Webhook 로그 상세 화면으로 이동합니다.

자주 보는 Event Type

Event Type 의미
net.authorize.payment.authcapture.created Authorize.Net 결제 캡처 이벤트가 수신되었습니다.
net.authorize.customer.subscription.created Authorize.Net 정기 구독 생성 이벤트가 수신되었습니다.
net.authorize.customer.subscription.updated Authorize.Net 정기 구독 업데이트 이벤트가 수신되었습니다.
invoice.paid Provider 지원 여부에 따라 인보이스 결제가 완료된 이벤트입니다.

Process Status

상태 설명
PROCESSED Webhook 이벤트가 정상적으로 수신되고 처리되었습니다.
FAILED Webhook 이벤트는 수신되었지만 처리 중 실패했습니다.
SUCCESS 내부 상태명 기준으로 이벤트 처리가 성공적으로 완료되었습니다.
FAILED 로그가 반드시 결제 실패를 의미하는 것은 아닙니다. iBoard가 수신한 Webhook을 매핑, 파싱, 저장, 정규화하는 과정에서 실패했다는 의미일 수 있습니다.

Payment Log Detail

Detail 버튼을 클릭하면 Payment Log Detail 화면으로 이동합니다. 이 화면에서는 원본 Webhook 요청과 정규화된 Billing Event 데이터를 확인할 수 있습니다.

Webhook Log 영역

Webhook Log 영역은 결제 제공업체에서 수신한 원본 이벤트 정보를 보여줍니다.

항목 설명
Log ID 내부 Webhook 로그 ID입니다.
Provider Webhook 이벤트를 보낸 결제 제공업체입니다.
Event Type Provider에서 수신한 이벤트 타입입니다.
Event ID Provider의 Event ID, Notification ID 또는 Delivery ID입니다.
Process Status 이벤트의 내부 처리 상태입니다.
Success 처리 결과가 성공인지 여부를 표시합니다.
Received Webhook 이벤트를 수신한 날짜와 시간입니다.
Processed Webhook 이벤트를 처리한 날짜와 시간입니다.
Message 결제 캡처, 구독 업데이트, 오류 상세 등 처리 메시지입니다.

Signature

Signature 필드는 Provider에서 전달한 Webhook Signature 값을 보여줍니다. 이 값은 요청이 실제 결제 제공업체에서 온 것인지 검증하는 데 사용됩니다.

Signature 검증은 Webhook 보안에서 매우 중요합니다. Signature가 없거나 올바르지 않으면 해당 Webhook은 신뢰하지 않는 것이 좋습니다.

Headers

Headers 필드는 Webhook 요청과 함께 수신된 HTTP Header 정보를 보여줍니다. Host, Content-Type, Signature, Forwarding 정보, Trace ID 등 HTTP 메타데이터가 포함될 수 있습니다.

Headers는 Webhook 전달 문제, Signature 검증 문제, Reverse Proxy 동작, Provider 통신 문제를 확인할 때 유용합니다.

Raw Body

Raw Body 필드는 결제 제공업체에서 수신한 원본 JSON Payload를 보여줍니다. 이 데이터는 Billing Event로 파싱하고 정규화하는 기준 데이터입니다.

{
    "notificationId": "provider-event-id",
    "eventType": "net.authorize.payment.authcapture.created",
    "webhookId": "provider-webhook-id",
    "payload": {
        "responseCode": 1,
        "authCode": "ABC123",
        "authAmount": 4.00,
        "invoiceNumber": "codeattack",
        "entityName": "transaction",
        "id": "120080997728"
    }
}

Normalized Data

Normalized Data 영역은 iBoard가 Provider의 Raw Payload를 내부 Billing Event 구조로 변환한 결과를 보여줍니다.

항목 설명
BillingEventId Webhook 로그에서 생성된 내부 Billing Event ID입니다.
Category 정규화된 Billing 카테고리입니다.
Status 정규화된 내부 이벤트 상태입니다.
Date 정규화된 이벤트 날짜입니다.
Customer Token Provider Payload에서 추출한 고객 토큰입니다.
Subscription Token Provider Payload에서 추출한 정기 구독 토큰입니다.
Invoice Token Payload에서 추출한 인보이스 토큰 또는 인보이스 번호입니다.
Transaction Token Provider Payload에서 추출한 거래 토큰입니다.
Failure Reason 처리 실패 시 정규화된 실패 사유입니다.

권장 작업 순서

  1. Admin > Billing > Payment Logs 메뉴를 엽니다.
  2. Provider를 선택하거나 All 상태로 둡니다.
  3. 특정 Webhook 이벤트를 확인하려면 Event Type을 입력합니다.
  4. SUCCESS 또는 FAILED 같은 Process Status를 선택합니다.
  5. FromTo로 날짜 범위를 설정합니다.
  6. Search 버튼을 클릭합니다.
  7. 이벤트 목록에서 고객 매핑, 상태, 메시지를 확인합니다.
  8. Detail 버튼을 클릭하여 Webhook 로그를 상세 확인합니다.
  9. Signature, Headers, Raw Body, Normalized Data를 확인합니다.
  10. Back 버튼으로 목록으로 돌아갑니다.

자주 사용하는 작업

상황 권장 작업
Webhook 수신 여부 확인 Event Type, Event ID 또는 날짜 범위로 검색합니다.
Webhook 처리 실패 조사 FAILED 상태로 필터링한 뒤 Detail 화면을 엽니다.
정기 구독 업데이트 확인 net.authorize.customer.subscription.updated로 검색합니다.
결제 캡처 이벤트 확인 net.authorize.payment.authcapture.created로 검색합니다.
Webhook Signature 확인 Detail 화면에서 Signature와 Headers 영역을 확인합니다.
매핑되지 않은 고객 이벤트 찾기 Customer가 unmap으로 표시된 로그를 찾고 Raw Body와 Normalized Data를 확인합니다.

문제 해결

문제 가능한 원인 해결 방법
로그가 표시되지 않음 날짜 범위에 Webhook 이벤트가 없거나 검색 조건이 너무 제한적일 수 있습니다. 날짜 범위를 넓히고 필터를 초기화한 뒤 다시 검색합니다.
로그 상태가 FAILED임 Webhook은 수신되었지만 파싱, 매핑, 저장, 정규화 과정에서 실패했을 수 있습니다. Detail 화면에서 Message, Raw Body, Normalized Data를 확인합니다.
Customer가 unmap으로 표시됨 Provider 이벤트를 iBoard 고객 기록과 연결하지 못했을 수 있습니다. Customer Token 값을 확인하고 필요한 경우 매핑 정보를 수정합니다.
Signature가 없거나 올바르지 않음 Provider가 유효한 Signature를 보내지 않았거나 Webhook Secret이 잘못되었을 수 있습니다. Provider Webhook 설정과 Payment Configs의 Webhook Secret을 확인합니다.
Raw Body를 읽기 어려움 Provider Payload가 원본 JSON 형태로 표시되기 때문입니다. JSON Formatter에 복사하거나 Normalized Data 영역을 함께 확인합니다.
Normalized Data가 비어 있음 Raw Payload에 필요한 값이 없거나 해당 Event Type에 대한 파싱 규칙이 없을 수 있습니다. Event Type을 확인하고 필요한 경우 파싱 또는 매핑 로직을 수정합니다.

주의사항

  • Payment Logs는 Webhook 및 이벤트 처리 이력을 확인하는 화면입니다.
  • 이 페이지에서는 결제 거래나 정기 구독을 생성하지 않습니다.
  • PROCESSED 상태는 iBoard가 이벤트를 처리했다는 의미입니다.
  • FAILED 상태는 Webhook은 수신되었지만 내부 처리 과정에서 실패했다는 의미입니다.
  • Raw Body에는 Provider의 원본 Payload가 포함되므로 문제 해결 시 신중하게 확인해야 합니다.
  • Webhook Signature와 Secret 설정은 보안상 중요한 정보로 관리해야 합니다.
  • Provider 이벤트가 자동으로 고객과 연결되지 않는 경우 고객 매핑이 필요할 수 있습니다.

관리 권장 사항

  • Webhook 이력이 많을 경우 날짜 필터를 먼저 설정하세요.
  • 처리 문제를 조사할 때는 FAILED 상태부터 확인하세요.
  • 특정 Provider 이벤트를 확인할 때는 Event Type으로 검색하세요.
  • Webhook 전달 또는 보안 문제를 조사할 때는 Signature와 Headers를 확인하세요.
  • 파싱 또는 매핑 로직을 변경하기 전에는 Raw Body를 먼저 확인하세요.
  • Webhook Raw Payload나 Secret 정보를 권한 없는 사용자에게 노출하지 마세요.
Payment Logs는 결제 제공업체가 무엇을 보냈고 iBoard가 그것을 어떻게 처리했는지 확인하는 기술적 근거입니다. 결제 이벤트, 정기 구독 업데이트, Webhook 전달, 고객 매핑 문제를 조사할 때 이 화면을 사용하세요.