아이템 환불 (refundItem)

 function refundItem(
        uint256 purchaseId,
        address buyer,
        string memory uuid
) external onlyOwner nonReentrant whenNotPaused {
    emit RefundItemSuccess(
        refundInfo.buyer,
        refundInfo.refundId,
        refundInfo.purchaseId,
        refundInfo.refundedItemPrice
    );
}

  • Parameters

TypeValueDescription

uint256

purchaseId

  • 환불할 아이템 ID

address

buyer

  • 사용자 eoa

string

uuid

  • 사용자 uuid

  • Errors

MessageCause

FandomShop: Purchase id should be less than purchase id

  • 유효하지 않은 Purchase ID (가장 최신 구매 IDX를 초과)

FandomShop: UUID should not be empty

  • uuid가 비었음

FandomShop: Purchase id should be valid

  • 구매내역이 히스토리에 존재하지 않음.

FandomShop: Buyer should be the message sender

  • 구매 때 사용자가 Refund할 사용자와 일치하지 않음.

FandomShop: UUID should be valid

  • 구매 때 uuid와 refund할 uuid값이 일치하지 않음

FandomShop: Payment token transfer failed

  • 환불 전송 후 출금이 정상적으로 이루어지지 않음.

  • Event

  struct RefundHistory {
        uint256 refundId; // 환불한 ID
        uint256 refundTime; // 환불 시각
        uint256 refundedItemPrice; // 환불한 아이템 가격 (wei)
        uint256 purchaseId; // 환불한 Purchase ID
        address buyer; // 구매자 EOA
        string uuid; // 구매자 UUID
        string itemId; // 환불한 Item ID
    }

Last updated