월드 서버에서 영수증 검증

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 베이스/채팅/데이터베이스/월드 SDK 버전 : 5.18.17 / 월드 0.2.6
  • 프로젝트명 : MiningMaster
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

월드 서버 시작 시 서버용 게스트 계정으로 로그인합니다. 이후 클라이언트에서 받은 구매 영수증을 월드 서버에서 검증합니다.

var param = new ReceiptParam(receiptType, receipt)
    .SetProductId(productId)
    .SetGamerId(purchaserGamerId)
    .AddDetail("mk_account", purchaserGamerId);

// receiptType: "apple" 또는 "google"
// purchaserGamerId: 실제 구매자의 GetUserInfoV2 응답 row["gamerId"]
// iOS receipt: PendingOrder.Info.Apple.jwsRepresentation

Backend.Receipt.ValidateReceipt(param, result =>
{
    // 검증 성공 후 월드에서 실제 구매자에게 보석 지급
});

오류

statusCode: 403
errorCode: ForbiddenException
message: Forbidden Invalid access, 금지된 Invalid access
IsTooManyRequestError(): false

클라이언트에서 월드 서버로 구매 요청이 전달되는 것은 확인했습니다. 오류 반환하면서 구매를 Pending으로 유지하고 있습니다. 이 에러가 발생하는 조건은 뭐고 월드 Linux 서버에서 영수증 검증하는 권장 방식이 있나요? (서버 펑션 등)

또한 데이터베이스 [테이블에 클라이언트의 읽기/쓰기 권한을 제한할 수 있습니다. 서버 환경(콘솔, 월드, 펑션 등)에서는 항상 모든 접근이 허용됩니다.] 라고 명시되어 있는데 실제 월드 서버에서 호출하면 접근 권한의 영향을 받습니다.

  1. 월드 서버에서 뒤끝 Base SDK 초기화 → 서버용 게스트 로그인 → DB 클라이언트 초기화 후 조회·저장
    • 게스트 로그인 전: db_not_initialized
    • 게스트 로그인 및 DB 초기화 후, 테이블의 클라이언트 읽기/쓰기 권한 OFF: client_access_denied
      접근을 잘못한걸까요?

두가지 확인 부탁드립니다. 항상 감사합니다.

뒤끝 개발팀을 통한 별도의 기술지원이 작업이 필요한 요청은 help@backnd.com 으로 문의해주시기 바랍니다.

안녕하세요 개발자님,
문의 주신 두 가지 내용에 대해 안내드립니다.

1. 월드 서버에서의 영수증 검증
현재 월드 서버에서의 영수증 검증은 지원하지 않습니다.
영수증 검증은 구매를 진행한 유저의 클라이언트에서, 해당 유저로 로그인한 상태로 뒤끝 베이스 기능을 통해 진행해 주시기 바랍니다.

2. 데이터베이스 접근 권한
말씀해 주신 내용은 상세 확인이 필요하여 담당 부서에서 확인을 진행하고 있습니다.
내일 예정된 서버 점검 작업으로 인해 확인 및 안내에 다소 시일이 소요될 것으로 예상됩니다.
답변이 늦어지는 점 양해 부탁드리며, 확인되는 대로 추가 회신을 통해 안내드리겠습니다.