> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 웹훅 이벤트 가이드

> 결제, 환불, 구독, 분쟁, 라이선스 키, 권한 부여, 크레딧, 복구, 차징 활동 중 Dodo Payments에서 트리거되는 다양한 웹훅 이벤트를 이해합니다

Dodo Payments는 거래, 구독, 환불, 분쟁 및 라이선스 키 관리와 관련된 중요한 이벤트에 대한 실시간 웹훅 알림을 제공합니다. 아래는 이러한 이벤트에 대한 자세한 가이드로, 명확성을 위해 분류되어 있으며, 구현 팁과 고려 사항이 포함되어 있습니다.

## **결제 이벤트**

| **Event Name**         | **Event Type**       | **Description**                         |
| ---------------------- | -------------------- | --------------------------------------- |
| **Payment Succeeded**  | `payment.succeeded`  | 결제가 성공적으로 처리되면 트리거됩니다.                  |
| **Payment Failed**     | `payment.failed`     | 오류, 거절된 카드 또는 기타 문제로 결제 시도가 실패하면 발생합니다. |
| **Payment Processing** | `payment.processing` | 결제가 현재 처리 중임을 나타냅니다.                    |
| **Payment Cancelled**  | `payment.cancelled`  | 결제가 완료되기 전에 취소되면 트리거됩니다.                |

## **환불 이벤트**

| **Event Name**       | **Event Type**     | **Description**                    |
| -------------------- | ------------------ | ---------------------------------- |
| **Refund Succeeded** | `refund.succeeded` | 환불이 성공적으로 처리되면 트리거됩니다.             |
| **Refund Failed**    | `refund.failed`    | 처리 오류 또는 기타 문제로 환불 시도가 실패하면 발생합니다. |

## **분쟁 이벤트**

| **Event Name**         | **Event Type**       | **Description**               |
| ---------------------- | -------------------- | ----------------------------- |
| **Dispute Opened**     | `dispute.opened`     | 고객이 분쟁을 시작하면 트리거됩니다.          |
| **Dispute Expired**    | `dispute.expired`    | 분쟁이 해결 없이 만료되었음을 나타냅니다.       |
| **Dispute Accepted**   | `dispute.accepted`   | 가맹점이 분쟁을 수락하면 트리거됩니다.         |
| **Dispute Cancelled**  | `dispute.cancelled`  | 고객 또는 시스템에 의해 분쟁이 취소되면 발생합니다. |
| **Dispute Challenged** | `dispute.challenged` | 가맹점이 분쟁에 이의를 제기하면 트리거됩니다.     |
| **Dispute Won**        | `dispute.won`        | 가맹점이 분쟁에서 승소했음을 나타냅니다.        |
| **Dispute Lost**       | `dispute.lost`       | 가맹점이 분쟁에서 패배하면 발생합니다.         |

## **구독 이벤트**

| **Event Name**                | **Event Type**              | **Description**                             |
| ----------------------------- | --------------------------- | ------------------------------------------- |
| **Subscription Active**       | `subscription.active`       | 구독이 이제 활성화되어 반복 청구가 예정되어 있음을 나타냅니다.         |
| **Subscription Updated**      | `subscription.updated`      | 구독 필드가 업데이트되면(폴링 없이 실시간 동기화) 트리거됩니다.        |
| **Subscription On Hold**      | `subscription.on_hold`      | 갱신 실패로 인해 구독이 일시 중지되면 트리거됩니다.               |
| **Subscription Renewed**      | `subscription.renewed`      | 구독이 성공적으로 갱신되면 발생합니다.                       |
| **Subscription Plan Changed** | `subscription.plan_changed` | 구독이 업그레이드, 다운그레이드되거나 다른 애드온으로 수정되면 트리거됩니다.  |
| **Subscription Cancelled**    | `subscription.cancelled`    | 가맹점 또는 고객이 구독을 취소하면 트리거됩니다.                 |
| **Subscription Failed**       | `subscription.failed`       | 구독 실패를 나타냅니다. 이는 mandate를 생성할 수 없었음을 의미합니다. |
| **Subscription Expired**      | `subscription.expired`      | 구독이 기간 종료로 만료되면 트리거됩니다.                     |

## **라이선스 키 이벤트**

| **Event Name**          | **Event Type**        | **Description**               |
| ----------------------- | --------------------- | ----------------------------- |
| **License Key Created** | `license_key.created` | 제품에 대한 새 라이선스 키가 생성되면 트리거됩니다. |

## **권한 부여 이벤트**

| **이벤트 이름**          | **이벤트 유형**                    | **설명**                                                                                                          |
| ------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Grant Created**   | `entitlement_grant.created`   | 고객에게 새로운 권한 부여가 생성됩니다. 라이선스 키 부여는 `delivered`에서 도착합니다. OAuth 기반 부여(Discord, GitHub, Notion)는 `pending`에서 도착합니다. |
| **Grant Delivered** | `entitlement_grant.delivered` | 권한 이행이 완료되었습니다 — 라이선스 키 발급, 파일 링크 해결, 또는 플랫폼 접근이 허가되었습니다.                                                       |
| **Grant Failed**    | `entitlement_grant.failed`    | 권한 이행에 실패했습니다; `error_code` 및 `error_message`를 확인하십시오.                                                          |
| **Grant Revoked**   | `entitlement_grant.revoked`   | 접근이 철회 되었습니다; `revocation_reason`를 확인하십시오 (구독 상태, 환불, 계획 변경, 또는 수동).                                            |

자세한 페이로드 스키마, 샘플 이벤트 및 전체 `revocation_reason` 참조는 [Entitlement Grant Webhooks](/developer-resources/webhooks/intents/entitlement-grant)를 참조하세요.

## **크레딧 이벤트**

| **이벤트 이름**  | **이벤트 유형**                  | **설명**                                         |
| ----------- | --------------------------- | ---------------------------------------------- |
| **크레딧 추가됨** | `credit.added`              | 고객에게 크레딧이 부여될 때 트리거됩니다(구독, 일회성, 추가 기능 또는 API). |
| **크레딧 차감됨** | `credit.deducted`           | 사용량 또는 수동 차감으로 크레딧이 소비될 때 발생합니다.               |
| **크레딧 만료됨** | `credit.expired`            | 설정된 만료 기간 후에 사용되지 않은 크레딧이 만료되면 트리거됩니다.         |
| **크레딧 이월됨** | `credit.rolled_over`        | 사용되지 않은 크레딧이 주기 종료 시 새로운 부여로 이월될 때 발생합니다.      |
| **이월 몰수됨**  | `credit.rollover_forfeited` | 최대 이월 횟수에 도달하여 크레딧이 몰수되면 트리거됩니다.               |
| **초과 청구됨**  | `credit.overage_charged`    | 잔액이 0 이하로 떨어진 사용량에 대해 초과 요금이 부과될 때 발생합니다.      |
| **초과 리셋됨**  | `credit.overage_reset`      | 누적된 초과 요금이 리셋될 때 트리거됩니다(예: 새 청구 주기 시작 시).      |
| **수동 조정**   | `credit.manual_adjustment`  | 수동으로 크레딧이나 차감 조정이 이루어질 때 트리거됩니다.               |
| **잔액 부족**   | `credit.balance_low`        | 크레딧 잔액이 설정된 임계값 이하로 떨어질 때 트리거됩니다.              |

## **복구 이벤트**

| **이벤트 이름**                       | **이벤트 유형**                     | **설명**                               |
| -------------------------------- | ------------------------------ | ------------------------------------ |
| **Abandoned Checkout Detected**  | `abandoned_checkout.detected`  | 60분 후 완료되지 않거나 실패한 결제가 감지될 때 트리거됩니다. |
| **Abandoned Checkout Recovered** | `abandoned_checkout.recovered` | 고객이 복구 링크를 통해 결제를 완료할 때 발생합니다.       |

상세한 페이로드 스키마, 필드 설명 및 핸들러 예제는 [복구 웹훅](/developer-resources/webhooks/intents/recovery)을 참조하세요.

## **차징 이벤트**

| **이벤트 이름**            | **이벤트 유형**          | **설명**                                   |
| --------------------- | ------------------- | ---------------------------------------- |
| **Dunning Started**   | `dunning.started`   | 보류되거나 취소된 구독에 대해 차징 시도가 시작될 때 트리거됩니다.    |
| **Dunning Recovered** | `dunning.recovered` | 고객이 결제 방법을 업데이트하고 그에 따른 청구가 성공할 때 발생합니다. |

자세한 페이로드 스키마, 필드 설명 및 처리기 예제는 [Recovery Webhooks](/developer-resources/webhooks/intents/recovery)를 참조하세요.

이 웹훅 이벤트는 상인에게 효과적인 운영 관리를 위한 중요한 업데이트를 제공하도록 설계되었습니다. 원활하고 안정적인 기능을 보장하기 위해 귀하의 웹훅 통합에 각 관련 이벤트에 대한 강력한 처리기를 구현하십시오.
