Xsolla-logo
  • 문서화
  • 계정 생성

구매용 결제 토큰 생성하기Server-side

post/v3/project/{project_id}/admin/payment/token

주문과 이에 대한 결제 토큰을 생성합니다. 주문은 요청 본문에서 전달한 아이템을 기반으로 생성됩니다.

알림

user.country.value 매개 변수는 주문에 사용할 통화를 선택하는 데 사용됩니다. 사용자의 국가를 알 수 없는 경우 X-User-Ip 헤더에 사용자의 IP를 제공하는 것이 대체 옵션입니다.
이 메소드가 올바르게 작동하려면 이 두 가지 옵션 중 하나가 필요합니다.
선택한 통화는 페이 스테이션의 결제 방식에 사용됩니다.
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

프로젝트 ID. 이 매개 변수는 관리자 페이지의 프로젝트 이름 옆에서 확인할 수 있습니다.

Example: 44056
Request Body schema: application/json
required
object
required
object
value
string [ 1 .. 255 ] characters

사용자 ID. 테스트 목적으로 어떤 값이나 전달할 수 있습니다. 실제 결제를 수락하려면 시스템의 사용자 ID 값을 사용해야 합니다. 이 ID는 유효성 검사 웹훅에서 전달됩니다.

age
integer

사용자 나이.

attributes
object [ 1 .. 100 ] items

게임유저 특성 데이터와 관련된 객체로서 아이템 목록을 필터링하는데 사용됩니다. 키값 쌍을 가진 올바른 JSON 해시여야 합니다.

object
allow_modify
boolean
Default: false

결제 UI에서 사용자가 국가를 변경할 수 있는지 여부입니다.

value
string

ISO 3166-1 alpha-2 standard에 따른 두 자리 대문자의 국가 코드를 사용합니다. X-User-Ip 헤더에서 IP 주소가 전달되지 않은 경우 매개 변수가 필요합니다.

object
value
string <email> [ 3 .. 255 ] characters

사용자 이메일입니다. RFC 822 프로토콜에 따라 유효해야 합니다.

is_legal
boolean

사용자가 법인인지 여부를 나타냅니다.

object

법인 세부 정보가 있는 오브젝트. user.is_legaltrue인 경우 오브젝트와 이에 해당하는 모든 매개변수는 필수입니다.

address
string

법인 전체 주소.

country
string

기업이 속한 국가. ISO 3166-1 alpha-2 standard에 따른 2자로 된 대문자 국가 코드를 사용합니다.

name
string

법인 전체 이름.

vat_id
string

개별 납세자 식별자.

object
value
string [ 1 .. 255 ] characters

사용자 화면 이름입니다.

object
value
required
string

사용자 전화번호입니다.

allow_modify
boolean
Default: false

사용자가 결제 UI에서 전화번호를 변경할 수 있는지 여부입니다. phone.value가 토큰에서 전달되면 기본값은 false입니다.

hidden
boolean
Default: true
object
value
required
string = 17 characters ^\d{17}$

Steam ID입니다.

object
value
required
string = 32 characters ^[A-Za-z0-9]{32}$

고유 추적 ID(마케팅 캠페인에 사용됨)입니다.

object

트래픽 속성입니다.

utm_campaign
string

캠페인 제목. 이 항목은 음차한 캠페인 제목이나 영어로 번역한 캠페인 제목을 포함해야 합니다.

utm_content
string

캠페인 콘텐츠입니다.

utm_medium
string

트래픽 채널(맥락 이해 광고, 언론 광고, 이메일 목록 메시지)입니다.

utm_source
string

트래픽 소스입니다.

utm_term
string

캠페인 키워드입니다. 이 항목을 지정할 경우 광고 캠페인 목표 설정에 사용된 키워드 데이터에 기반하여 통계가 만들어집니다. Google Analytics에서는 utm_term 라벨 콘텐츠가 검색어를 포함한 일반 보고서의 일부가 됩니다.

required
object
required
Array of objects non-empty
Array (non-empty)
sku
required
string non-empty

고유 아이템 ID입니다. SKU에는 소문자 라틴 영숫자, 마침표, 대시 및 밑줄만 사용할 수 있습니다.

quantity
required
number >= 1

아이템의 수량입니다.

object or null [ 1 .. 200 ] properties

사용자 지정 매개변수는 키-값 쌍의 유효한 JSON 집합으로 표시됩니다.
이 필드를 통해 추가 매개변수를 전달하여 부정 결제 방지 필터를 구성할 수 있습니다. 페이 스테이션 설명서를 참조해주세요.

additional property
string or integer or number or boolean
One of:
string
sandbox
boolean
Default: false

결제 프로세스를 테스트하기 위해 true 값으로 설정합니다. 이 경우 테스트 결제 UI에 액세스하기 위해 https://sandbox-secure.xsolla.com을 사용합니다.

object

사용자의 결제 프로세스와 결제 UI를 구성하는 설정입니다.

currency
string

선호하는 결제 통화입니다. ISO 4217에 따른 세 자리 통화 코드입니다.

external_id
string [ 1 .. 255 ] characters

거래 외부 ID 입니다.

language
string

인터페이스 언어입니다. 두 자리의 소문자 언어 코드입니다.

payment_method
integer >= 1

결제 방식 ID입니다.

object
delay
integer

지연 후 사용자가 자동으로 반환 URL로 리디렉션됩니다.

redirect_button_caption
string

현지화된 리디렉션 버튼 캡션입니다.

redirect_conditions
string

사용자를 반환 URL로 리디렉션하도록 트리거하는 결제 상태입니다.

Enum: "none" "successful" "successful_or_canceled" "any"
status_for_manual_redirection
string

사용자를 반환 URL로 리디렉션하는 버튼 클릭 표시를 트리거하는 결제 상태입니다.

Enum: "none" "vc" "successful" "successful_or_canceled" "any"
return_url
string <uri> <= 1000 characters

결제 후 사용자를 리디렉션하는 페이지입니다. 매개변수 user_id, foreigninvoice, invoice_id, status가 자동으로 링크에 추가됩니다.

object

인터페이스 설정입니다.

currency_format
string

결제 UI에 3자리 ISO 4217 통화 코드를 표시하려면 code로 설정합니다. 기본적으로는 3자리 통화 코드 대신 통화 기호가 표시됩니다.

object

데스크톱 버전용 인터페이스 설정입니다.

object

헤더 설정입니다.

close_button
boolean
Default: false

데스크톱 결제 UI에 닫기 버튼을 표시할지 여부입니다. 이 버튼은 결제 UI를 닫고 사용자를 settings.return_url매개 변수에 지정된 URL로 리디렉션합니다. 기본적으로 false로 설정되어 있습니다.

is_visible
boolean

결제 UI에 헤더를 표시할지 여부입니다.

type
string
Default: "normal"

헤더를 표시하는 방식입니다. compact(프로젝트 이름 및 사용자 ID 표시 안 함) 또는 normal (기본값)일 수 있습니다.

Enum: "compact" "normal"
visible_logo
boolean

true일 경우 로고가 헤더에 표시됩니다(먼저 계정 관리자에게 로고 파일을 제공해야 함).

visible_name
boolean

프로젝트 이름을 헤더에 표시할지 여부를 나타냅니다.

visible_purchase
boolean
Default: true

헤더에 구매 설명(purchase.description.value)을 표시할지 여부입니다. 기본값은 true입니다.

object
visible_virtual_currency_balance
boolean
Default: true

결제 UI에서 이 요소를 숨길 수 있는지 여부입니다.

is_cart_open_by_default
boolean
Default: false

모바일 버전으로 결제 UI를 열 때 장바구니에 있는 아이템 목록을 표시할지 여부입니다. true이면 목록이 확장된 보기로 표시됩니다. false(기본값)이거나 매개 변수가 전달되지 않으면 목록이 축소된 보기로 표시됩니다.

is_independent_windows
boolean
Default: false

삽입된 런처의 브라우저(WebView)에서 기본 브라우저로 사용자를 리디렉션하여 구매할지 여부입니다.

is_payment_methods_list_mode
boolean
Default: false

결제 UI를 열 때 사용자의 국가에서 사용할 수 있는 결제 방식 목록이 표시되는지 여부입니다. false(기본값)인 경우 settings.payment_method 매개 변수에서 전달된 결제 방식이나 PayRank 알고리즘으로 선택한 결제 방식이 표시됩니다.

is_prevent_external_link_open
boolean
Default: false

외부 자원에 대한 링크를 리디렉션할지 여부입니다. 외부 링크를 클릭하면 postMessage 메커니즘을 통해 external-link-open 이벤트가 전송됩니다. 리디렉션된 링크 주소는 url 매개 변수에 전달됩니다 .

is_show_close_widget_warning
boolean
Default: true

결제 페이지를 닫기 전에 × 아이콘 위로 마우스를 가져갔을 때 거래 처리에 대한 경고를 표시할지 여부입니다. false가 전달되거나 매개 변수가 전달되지 않으면 경고가 표시되지 않습니다.

is_three_ds_independent_windows
boolean
Default: false

새 브라우저 창에서 3-D 보안 검사를 열지 여부입니다. CSP(콘텐츠 보안 정책)를 사용하는 경우 true를 전달합니다.

layout
string

결제 UI의 주요 요소 위치. 게임 내부에서 결제 UI를 열거나 주문 및 결제 방식에 대한 정보로 열을 바꿀 수 있습니다. 자세한 내용은 사용자 정의 지침을 참조해 주세요.

Enum: "embed" "column_reverse" "embed_column_reverse"
object
object
close_button
boolean
Default: false

모바일 결제 UI에 닫기 버튼을 표시할지 여부입니다. 이 버튼은 결제 UI를 닫고 사용자를 settings.return_url매개 변수에 지정된 URL로 리디렉션합니다.

mode
string

결제 UI의 인터페이스 모드. user_account만 가능합니다. 헤더에는 계정 탐색 메뉴만 포함되며 사용자는 제품을 선택하거나 결제할 수 없습니다. 이 모드는 데스크톱에서만 사용할 수 있습니다.

Value: "user_account"
theme
string
Default: "63295a9a2e47fab76f7708e1"

결제 UI 테마. 라이트 테마(기본값)의 경우 63295a9a2e47fab76f7708e1, 다크 테마의 경우 63295aab2e47fab76f7708e3일 수 있습니다. 사용자 정의 테마를 생성하고 이 매개 변수의 해당 ID를 전달할 수도 있습니다.

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

사용자 계정 세부 정보입니다.

object

내 계정 페이지입니다.

enable
required
boolean
Default: false

하위 메뉴를 표시할지 여부입니다. 기본값은 false입니다.

order
required
integer >= 1

메뉴에서 하위 메뉴의 위치입니다.

object

내 결제 계정의 하위 메뉴입니다.

enable
required
boolean
Default: false

하위 메뉴를 표시할지 여부입니다. 기본값은 false입니다.

object

구독 관리의 하위 메뉴입니다.

enable
required
boolean
Default: false

하위 메뉴를 표시할지 여부입니다. 기본값은 false입니다.

order
required
integer >= 1

메뉴에서 하위 메뉴의 위치입니다.

Responses
200

결제 토큰 및 주문을 생성했습니다.

401

기본 인증이 전달되지 않았거나 잘못되었습니다. 기본 인증 또는 올바른 자격 증명을 사용했는지 확인해야 합니다.

422

요청 본문 및 장바구니 유효성 검사 오류입니다.

  • 전달된 아이템에서 생성된 유효하지 않은 장바구니입니다. 장바구니가 비어 있지 않은지, 모든 아이템이 무료가 아닌지 확인해야 합니다.
  • 잘못된 요청 본문입니다.
Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}