환불 처리

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

소개

수익 창출을 사용하면 '구매 거래'에 대한 환불을 개발자에게 게시할 수 있습니다. 개발자가 이동통신사이고 애플리케이션 내의 애플리케이션 또는 콘텐츠 구매에 대한 모바일 정기 결제 사용자에게 요금을 청구하는 결제 API를 제공한다고 가정해 보겠습니다. 구독자가 API를 사용하여 구매할 때마다 구매 거래입니다.

구매 거래로 인해 환불될 수 있습니다. 예를 들어 콘텐츠가 전송되지 않았거나 서드 파티가 구매에 대한 불만족을 느낄 수 있습니다. 이러한 경우 개발자는 서드 파티에 환불을 처리합니다. 수익 창출을 통해 유사한 환불을 받으실 수 있습니다. 이는 특히 수익 공유 계획과 관련이 있습니다.

모바일 구독자에게 환불을 지급한 개발자가 API 제품의 수익 배분 요금제를 구매했다고 가정해 보겠습니다. 계획에서 개발자가 구매 거래의 순 가격/총 가격의 70% 를 받도록 되어 있다고 가정해 보겠습니다. 환불을 게시하면 사실상 구매 거래를 취소하게 됩니다. 즉, 환불이 적용된 달의 개발자에 대한 결제 금액에서 70% 가 공제됩니다. 해당 월은 실제 구매 거래가 발생한 달과 다를 수 있습니다.

기존 Edge UI를 사용하여 환불 게시하기 (Private Cloud용 Edge만 해당)

'성공한' 구매 거래, 즉 API를 통해 서드 파티에 요금이 청구되었지만 아직 전액 환불을 처리하지 않은 경우 환불을 게시할 수 있습니다. 환불을 게시하면 상위 거래 ID로 환불 거래가 생성됩니다. 여기서 거래 ID는 구매 거래의 ID입니다.

원래 구매 거래의 전체 금액 또는 일부 금액에 대한 환불을 게시할 수 있습니다. 부분 환불을 여러 번 게시할 수도 있지만 총 환불 금액이 원래 구매 금액을 초과할 수 없습니다.

환불을 게시하려면 다음 단계를 따르세요.

  1. '수익 창출' 탭에서 '환불'을 선택합니다.

    그러면 환불 페이지가 열립니다.

  2. 결제 월 드롭다운 메뉴에서 구매 거래가 발생한 월을 선택합니다. 그런 다음 '+ 환불'을 클릭합니다.

    선택한 달에 성공한 모든 구매 거래 목록이 표시됩니다.

    개발자 이름을 기준으로 또는 실제 거래를 검색하여 환불 목록을 필터링할 수 있습니다.

    개발자를 기준으로 필터링하려면 개발자 드롭다운 메뉴에서 개발자를 선택합니다. 선택한 개발자와 관련된 거래 목록만 표시됩니다.

    거래 ID로 필터링하려면 환불하려는 원래 구매의 거래 ID를 입력합니다. 이렇게 하면 해당 ID의 거래가 반환됩니다.

  3. 환불하려는 거래 행에서 선택 체크박스를 선택합니다.
  4. 유형 드롭다운 메뉴에서 합계 또는 일부를 선택합니다.

    총액을 선택하면 구매 총액이 환불됩니다. 부분 환불을 선택하면 구매 금액의 일부만 환불됩니다.

    부분 환불을 선택하는 경우 금액 입력란에 부분 환불 금액을 입력합니다. 총 구매액까지만 환불할 수 있습니다. 이미 부분 환불을 게시했다면 구매에 남아 있는 금액까지만 입력할 수 있습니다. 또한 원래 구매 거래에 총 가격과 순 가격이 모두 있는 경우 환불할 부분 금액이 총 가격인지 순 가격인지 명시해야 합니다.

  5. 환불을 처리하려면 저장을 클릭하고 취소하려면 취소를 클릭합니다.

    청구 월이 아직 남아 있는 경우 환불은 원래 구매의 월에 게시되고, 그렇지 않은 경우 환불은 현재 날짜에 게시됩니다.

    부분 환불의 경우 부분 환불은 환불이 처리되며 전체 금액에서 부분 금액의 비율에 따라 수익 배분이 차감됩니다. 위의 부분 환불 예에서 부분 금액은 총 가격의 0.50/1.12 = 총 가격의 45% 이므로 개발자의 수익 공유 금액 중 45% 가 공제됩니다.

환불이 처리되었는지 UI 확인

환불 페이지 상단에서 결제 월을 선택하여 환불이 처리되었는지 확인할 수 있습니다. 결제 월이 아직 남아 있는 경우 구매의 월이고, 결제 월이 마감된 경우 현재 달입니다. 그러면 해당 월에 게시된 모든 환불 목록이 표시됩니다.

API를 사용하여 환불 게시하기

환불을 게시하려면 /organizations/{org_name}/monetization-packages/{package_id}/refund-transactions에 POST 요청을 전송합니다. 여기서 {package_id}는 환불이 적용되는 API 패키지의 ID입니다.

요청을 실행할 때 쿼리 매개변수로 지정해야 합니다.

  • 환불되는 구매 거래의 ID입니다.
  • 구매 거래의 수익 유형 (GROSS 또는 NET)입니다.
  • 환불 금액입니다.
  • 환불 이유를 설명하는 메모

선택적으로 환불이 적용되는 API 패키지를 URL 매개변수로 식별할 수 있습니다.

환불 요청에서 지정할 수 있는 URL 매개변수의 전체 목록은 환불 구성 설정을 참조하세요.

예를 들어 다음 요청은 구매 거래의 환불을 처리합니다. 환불 금액은 구매 거래 총액의 50% 입니다.

$ curl -H "Content-Type:application/json" -X POST \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment/refund-transactions?revenueType=GROSS&refundAmount=0.5&parentTxId=abf50909-2492-4bf5-8704-ade05f4d43b3&transactionNote=Refund for purchase transaction" \
-u email:password

응답은 다음과 같아야 합니다(응답의 일부만 표시됨).

{
  "application" : {
    ...
    },
    "product" : [ {
      ...
      
     {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "Status=='200 OK'"
    } ],
    ...
  },
  "currency" : "USD",
  "developer" : {
    ...
    "legalName" : "DEV ONE",
    "name" : "Dev One",
    "organization" : {
      ...
    },
    ...
  },
  "endTime" : "2013-09-01 21:59:59",
  "environment" : "PROD",
  "euroExchangeRate" : 0.8123,
  "gbpExchangeRate" : 0.6910,
  "grossPrice" : 0.5,
  "id" : "61f7eb88-f8cc-4cda-afd8-4a61fba3dd33",
  "isRevOnGrossOrNet" : "NET",
  "isVirtualCurrency" : false,
  "notes" : "Refund for purchase transaction",
  "itemDesc" : "test application",
  "netPrice" : 0.4464,
  "orgRevenueShareAmount" : 0.1339,
  "parentId" : "abf50909-2492-4bf5-8704-ade05f4d43b3",
  "pkgId" : "myorg@@@payment",
  "pkgRatePlanProductName" : "Payment",
  ...
  },
  "ratePlanLevel" : "STANDARD",
  "revenueShareAmount" : 0.3125,
  "startTime" : "2013-09-01 21:59:59",
  "status" : "SUCCESS",
  "tax" : 0.0536,
  "taxModel" : "UNDISCLOSED",
  "txProviderStatus" : "SUCCESS",
  "type" : "REFUND",
  "usdExchangeRate" : 1.0724,
  "utcEndTime" : "2013-09-01 21:59:59",
  "utcStartTime" : "2013-09-01 21:59:59"
}

API 환불 구성 설정

다음 쿼리 매개변수를 환불 요청에 지정할 수 있습니다.

이름 설명 기본 계정 필수 여부
monetizationPackageId

환불이 적용되는 API 패키지입니다.

N/A No
parentTxId

환불할 구매 거래입니다.

N/A 지원됨
revenueType

구매 거래의 수익 유형 (GROSS 또는 NET)입니다.

N/A 지원됨
refundAmount

환불 금액입니다.

N/A 지원됨
transactionNote

환불 사유를 설명하는 텍스트 메모

N/A 지원됨

다음 단계

수익 창출 작업 예약에서 수익 창출 관련 작업을 예약하는 방법과 자동으로 예약되는 작업을 알아보세요.