서버 측 통합

이 통합 유형은 자체 서버에서 권한 부여, 인게임 스토어, 플레이어 인벤토리의 게임 로직을 이미 구현하고 엑솔라 페이 스테이션을 사용하려는 파트너에게 적합합니다. 페이 스테이션 액세스 토큰을 가져오고 웹훅 처리를 구성해야 합니다.

서버 통합 동안 구현되는 결제 처리 로직:

  1. 결제 인터페이스를 열기 위해 클라이언트가 요청을 애플리케이션 서버로 전송합니다.
  2. 애플리케이션 서버가 통화 및 결제액에 대한 정보를 엑솔라 서버로 전송합니다.
  3. 엑솔라 서버가 구매 세부 정보 및 페이 스테이션 매개 변수가 있는 토큰을 반환합니다.
  4. 애플리케이션 서버가 받은 토큰을 클라이언트에게 전송합니다.
  5. 클라이언트가 SDK를 사용해 브라우저에서 페이 스테이션을 엽니다.
  6. 구매에 대한 결제를 한 후, 결제 상태가 있는 웹훅이 애플리케이션 서버로 전송됩니다.

Discord 서버
엑솔라 제품을 사용하는 엑솔라 팀 및 개발자와 연결합니다.

통합 절차

Payments 라이브러리 통합 방법:

  1. Android Studio를 다운로드설치합니다.
  2. 새 프로젝트를 생성합니다.
  3. 인게임 스토어 및 제품 카탈로그를 귀하의 서버 측에서 설정합니다.
  4. 게시자 계정에서 프로젝트를 설정합니다.
  5. 라이브러리를 설치합니다.
  6. 반환 URL을 구성합니다.
  7. 토큰을 가져옵니다.
  8. 결제 UI를 엽니다.
  9. 웹훅 처리를 설정합니다.

통합 완료 후 지불 프로세스를 테스트 합니다.

Note
본 가이드에는 모듈을 빠르게 시작하기 위해 필요한 최소 설정에 대한 설명이 제공되어 있습니다. 질문이 있을 경우, 계정 관리자에게 문의하십시오.

게시자 계정의 프로젝트 설정

  1. 게시자 계정을 등록합니다.
  2. 게시자 계정 프로젝트를 구성합니다. 계정 등록을 한 후 첫 번째 프로젝트는 자동으로 생성됩니다.
    1. 프로젝트 섹션에서 프로젝트를 선택한 다음 프로젝트 설정으로 이동합니다.
    2. 일반 설정 탭에서 다음을 추가합니다:
      • 이미지(선택 사항)
      • 프로젝트 언어(기본적으로 영어로 설정되어 있습니다)
      • 지정한 모든 언어에 대한 프로젝트 이름
      • 게임 웹 사이트(선택 사항)
      • 프로젝트 설명(선택 사항)
    3. 저장을 클릭합니다.

통합하려면 다음 매개 변수가 필요합니다:

  • 판매자 ID, 이는 프로젝트 설정 > 웹훅에서 찾을 수 있습니다.

  • API 키, 이는 회사 설정 > API 키섹션에서 찾을 수 있습니다.

  • 프로젝트 ID, 이는 프로젝트 설정 > 프로젝트 ID에서 찾을 수 있습니다.

  • 비밀 키, 이는 프로젝트 설정 > 웹훅 섹션에서 찾을 수 있습니다.

라이브러리 설치

라이브러리는 Maven Central에서 이용 가능합니다.

라이브러리 설치 방법:

  1. Android Studio를 시작합니다.
  2. 여러분 애플리케이션의 build.gradle 파일을 엽니다.
  3. 종속성 섹션에 다음 행을 추가합니다, 여기서 <version_number>는 필요한 Payments library 버전입니다:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:payments:<version_number>'

복귀 URL 구성

다음 문자열을 프로젝트 문자열 리소스 파일에 추가하여 게시자 계정복귀 URL을 지정합니다.

Copy
Full screen
Small screen
<string name="xsolla_payments_redirect_scheme">https</string>
<string name="xsolla_payments_redirect_host">example.com</string>
<string name="xsolla_payments_redirect_path_prefix">/payment</string>

복귀 URL은 세 부분으로 구성되어 있어야 합니다. https://example.com/payment와 같은 형식이어야 합니다.

토큰 가져오기

토큰을 얻으려면 Create payment token by server API 호출을 사용합니다. 귀하의 서버는 엑솔라 서버에 요청을 다음 데이터와 함께 전송해야 합니다.

  • 구매한 사용자의 ID
  • 결제액
  • 결제 통화
  • 구매 세부 정보(선택 사항)
  • 페이 스테이션 매개 변수(선택 사항)

구매 정보를 전달하는 방법:

  • item 매개 변수를 통해 아이템 목록으로
  • description 매개 변수를 통해 구매 설명으로

페이 스테이션 매개 변수(예: 현지화 언어, 인터페이스 속성, 테마)는 settings 개체에서 전달됩니다. 샌드박스 모드를 활성화/비활성화하려면 토큰 받기 요청에서 sandbox 매개 변수 값을 변경하고 SDK 설정을 변경합니다. 나머지 페이 스테이션 인터페이스 설정을 변경하려면 토큰 요청 매개 변수를 변경해야 합니다.

Note
추가 정보를 custom_parameters 매개 변수를 사용하여 전달할 수 있습니다. 이 정보는 구성된 웹훅에서도 전달될 수 있습니다.

결제 UI 열기

페이 스테이션 인텐트 생성하기

결제 UI를 열려면 전 단계에서 얻은 토큰을 XPayments.createIntentBuilder SDK 메소드로 전달합니다.

Copy
Full screen
Small screen
val intent = XPayments.createIntentBuilder(getContext())
            .accessToken(AccessToken(token))
            .isSandbox(BuildConfig.IS_SANDBOX)
            .build()

생성한 인텐트를 사용하여 활동 시작

Copy
Full screen
Small screen
startActivityForResult(intent, RC_PAYSTATION)

파싱 활동 결과

Copy
Full screen
Small screen
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
       super.onActivityResult(requestCode, resultCode, data)
       if (requestCode == RC_PAYSTATION) {
           val result = XPayments.Result.fromResultIntent(data)
       }
   }

웹훅 설정

  1. 게시자 계정에서 프로젝트로 이동합니다.
  2. 프로젝트 설정 > 웹훅으로 이동해 웹훅 URL을 지정하고 프로젝트 웹훅에 서명할 비밀 키를 생성합니다.

  1. 설정을 저장합니다.
  2. 페이 스테이션에 구현할 웹훅:

  1. 체크아웃 탭으로 이동하여 연결을 클릭합니다.

  1. 웹훅 처리기를 테스트합니다.

Note
웹훅 수신 확인을 할 때 귀하의 서버는 반드시 다음과 함께 응답해야 합니다.
  • 메시지 본문 없이 HTTP 코드 204
  • 지정된 사용자를 찾을 수 없거나 잘못된 서명이 전달된 경우 문제를 설명하는 HTTP 코드 400
API 레퍼런스에서 예시를 포함해 웹훅에 대해 더 자세히 알아볼 수 있습니다.

  1. 페이 스테이션을 사이드 메뉴에서 클릭하여 설정으로 이동하세요.
  2. 체크아웃 토글을 켜짐으로 설정하세요.

  1. 저장을 클릭합니다.

결제 처리 테스트

성공적으로 라이브러리 구성을 마친 후, 지불 프로세스를 테스트합니다. 기본적으로, 모든 지불은 샌드박스 모드 내에 있으며 신용 카드 테스트를 사용하여 성공적인 지불 프로세스를 시뮬레이션해볼 수 있습니다.

실제 지불로 지불 처리 테스트하는 방법:

  • 엑솔라와 계약했음을 확인합니다.
  • Paystation Intent 구축하는 동안 .isSandbox(false)를 설정합니다.
  • 토큰 요청에서 sandbox 매개 변수를 false로 설정합니다.

이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
이 페이지 평가
이 페이지 평가
개선해야 할 점이 있을까요?

답하기 원하지 않습니다

의견을 보내 주셔서 감사드립니다!
마지막 업데이트: 2021년 6월 17일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누릅니다.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!