# 주문 취소(결제 및 거래 세부 정보 없음)

사용자, 파트너 또는 자동으로 결제가 취소된 경우 엑솔라 측에서 지정된 URL로 order_canceled 웹훅을 
전송합니다. 웹훅에는 반품된 아이템 정보와 취소된 주문의 세부 정보가 포함되어 있습니다.

결제에 실패할 경우 웹훅이 전송되지 않습니다. 예:
* 결제 UI가 열렸지만 사용자가 주문을 결제하지 않은 경우
* 결제 UI가 열렸지만 결제 중 오류가 발생한 경우

권장되는 웹훅 처리 시간은 3초 이내입니다.

Endpoint: POST order-cancellation-separate
Version: 1.0

## Request fields (application/json):

  - `custom_parameters` (object)
    추가 정보입니다.

  - `items` (array, required)
    사용자가 구매한 아이템 목록입니다.

The set of parameters included in the array depends on the webhook version. 
Version 2 includes additional parameters: is_free, is_bonus, and 
is_bundle_content. To switch the version, pass its number in the version 
parameter in the [Update webhook version](/ko/api/catalog/common-webhooks/update-webhook-version/) API call.

  - `notification_type` (string, required)
    알림 유형.

  - `order` (object, required)
    주문에 대한 정보입니다.

  - `order.amount` (string, required)
    선택한 통화를 기준으로 한 장바구니의 총 비용입니다.

  - `order.comment` (string,null, required)
    주문에 대한 사용자의 코멘트.

  - `order.coupons` (array)
    적용된 쿠폰. 쿠폰을 적용되지 않았으면 배열이 돌아오지 않습니다.

  - `order.coupons.code` (string)
    적용된 쿠폰 코드.

  - `order.coupons.external_id` (string)
    외부 ID.

  - `order.currency` (string, required)
    주문 통화. 가상 화폐는 SKU를 사용하고 실제 화폐는 3글자 [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 코드를 사용합니다.

  - `order.currency_type` (string, required)
    결제 통화 유형. 무료 주문의 경우 unknown 값이 지정됩니다.
    Enum: "real", "virtual", "unknown", "loyalty_point"

  - `order.id` (integer, required)
    엑솔라 측에서 사용자 주문의 고유 식별자입니다.

  - `order.invoice_id` (string,null, required)
    실질 화폐 결제 인보이스 ID. 인게임 재화 결제 또는 무료 아이템은 null 값을 사용합니다.

  - `order.mode` (string, required)
    결제 모드. 실제 결제에는 default를 사용합니다. 테스트 결제에는 sandbox를 사용합니다.
    Enum: "default", "sandbox"

  - `order.platform` (string,null, required)
    결제 플랫폼. 엑솔라를 통한 결제에 xsolla 값을 사용합니다. 다른 결제의 경우 playstation_network, xbox_live, pc_standalone, nintendo_shop, google_play, app_store_ios, android_standalone, ios_standalone, android_other, ios_other, pc_other와 같이 게임 퍼블리싱 플랫폼의 이름에 해당하는 값을 사용합니다.
    Enum: "xsolla", "playstation_network", "xbox_live", "pc_standalone", "nintendo_shop", "google_play", "app_store_ios", "android_standalone", "ios_standalone", "android_other", "ios_other", "pc_other"

  - `order.promocodes` (array)
    적용된 프로모션 코드. 프로모션 코드가 적용되지 않았으면 배열이 돌아오지 않습니다.

  - `order.promocodes.code` (string)
    적용된 프로모션 코드의 코드.

  - `order.promocodes.external_id` (string)
    외부 ID.

  - `order.promotions` (array, required)
    전체 주문에 프로모션을 적용했습니다.
배열은 다음의 경우에 반환됩니다.
  - 프로모션이 총 구매 금액에 영향을 미치는 경우(예: 구매 할인 설정이 적용된 프로모션 코드).
  - 구매에 할인이 적용되지 않지만, 보너스 아이템이 주문에 추가된 경우. 이 경우, 할인이 적용된 가격([amount_with_discount](/ko/webhooks/#operation/order-cancellation!path=order/promotions/amount_with_discount&t=request)) 및 할인이 적용되지 않은 가격([amount_without_discount](/ko/webhooks/#operation/order-cancellation!path=order/promotions/amount_without_discount&t=request))은 할인이 적용되지 않으므로 반환되고 동일하게 유지됩니다.

주문 수준 프로모션이 적용되지 않으면 빈 배열이 반환됩니다.

  - `order.promotions.amount_with_discount` (string)
    할인이 적용된 아이템의 총 비용.

  - `order.promotions.amount_without_discount` (string)
    할인이 미적용된 아이템의 총 비용.

  - `order.promotions.sequence` (integer)
    프로모션 신청 순서입니다.

  - `order.status` (string, required)
    주문 상태.

  - `user` (object, required)
    사용자 정보.

  - `user.country` (string)
    사용자의 국가. [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)에 따른 2자로 된 국가 코드를 사용합니다.

  - `user.email` (string, required)
    사용자 이메일 주소.

  - `user.external_id` (string, required)
    사용자 ID.


## Response 200 fields

## Response 400 fields
