Created.
Pay Station API (2.0)
- 버전: 2.0.0
- 서버:
https://api.xsolla.com/api
페이 스테이션을 통해 파트너가 사용자에게 게임 스토어에서 인게임 구매를 결제하도록 돕는 편리한 UI를 제공하고 수익을 창출할 수 있습니다. 결제 UI를 열도록 설정하려면 다음 지침을 참조해 주세요.
페이 스테이션 API는 다음과 같은 호출 그룹을 제공합니다.
- 토큰 - 결제 UI를 통해 추후 결제 처리에 사용하는 임의 사용자 매개 변수로 토큰을 생성하는 API 호출을 포함합니다.
- 토큰화 - 결제 UI를 열지 않고 사용자의 개입이 없어도 안전하게 결제를 처리하는 API 호출을 포함합니다.
- 보고서 - 사용자 트랜잭션 데이터를 반환하고, 보고서를 생성하고, 통화별 지급액 내역을 확인할 수 있는 API 호출을 포함합니다.
- 환불 - 전액 및 부분 환불을 요청하는 API 호출을 포함합니다.
- 테스트 - 지불 거절 프로세스를 테스트하는 API 호출을 포함합니다.
결제 UI 구성에 대한 자세한 정보는 결제 솔루션 연동 가이드에서 확인할 수 있습니다.
참고
또한 포스트맨 컬렉션의 Xsolla Base API 섹션을 참조하여 연동에 사용되는 API 호출을 테스트할 수 있습니다.
요청
임의의 사용자 매개변수로 토큰을 생성할 수 있습니다. 토큰을 받을 때 이러한 매개변수를 전송하고, 결제가 성공적으로 완료된 후 전송했던 매개변수를 다시 받습니다. 토큰에는 이 문서에 설명되어 있거나 미리 정의한 매개변수만 포함할 수 있습니다.
매개변수가 잘못된 형식으로 전송되거나 잘못된 유형인 경우 토큰이 발급되지 않습니다. JSON 본문으로 오류 설명이 포함된 422 HTTP 코드를 받게 됩니다. extended_message로 정확히 어떤 매개변수가 잘못 전송되었는지에 대한 정보를 받게 됩니다.
기본적으로 토큰의 수명은 24시간입니다. 이 값을 변경하려면 계정 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내주세요. 새 값은 관리자 페이지에서 생성한 회사의 모든 프로젝트에서 활성화됩니다.
주의
이 API 메소드를 호출한 후 획득한 토큰은 다른 요청을 인증하는 용도로만 사용할 수 있습니다. 이 토큰은 정기 결제 제품을 연동한 경우에만 결제 UI를 여는 데 사용할 수 있습니다.
결제 UI를 새 창에서 열려면 https://secure.xsolla.com/paystation4/?token={token} 링크를 사용합니다. 여기서 {token} 은 수신한 토큰입니다.
테스트를 진행할 때에는 https://sandbox-secure.xsolla.com/paystation4/?token={token} URL을 사용합니다.
주의
이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.
이 개체에는 부정 결제 방지 필터를 구성하는 매개 변수가 포함되어 있습니다. 매개 변수 목록은 아래와 같습니다. 사용자 정의 매개 변수를 추가하려면 계정 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내 주세요.
구매 데이터 관련 값입니다.
정기결제 데이터 관련 값입니다.
구독권에 대한 데이터가 있는 배열입니다. 오직 이러한 구독권만 결제 UI에 보여집니다.
사용자의 구독 플랜에 적용되는 작업 유형. 구독 플랜을 변경하려면 change_plan 값을 전달합니다. purchase.subscription.plan_id 매개변수에서 새 플랜 ID를 지정해야 합니다.
사용자의 결제 프로세스와 결제 UI를 구성하는 설정입니다.
선호하는 결제 통화입니다. 통화의 3자리 정의가 ISO 4217에 따라 사용됩니다.
게임 내 트랜잭션 ID. 각 사용자 결제마다 고유해야 합니다. 자세한 정보는 문서 자료를 참조하세요.
인터페이스 언어입니다. 2자리 소문자 언어 코드입니다.
결제 프로세스를 테스트하기 위한 sandbox 값을 설정합니다. 참고로 결제 UI의 URL은 https://sandbox-secure.xsolla.com 이 됩니다.
결제 위젯. '페이바이캐쉬(paybycash)' 혹은 '기프트카드(giftcard)'일 수 있습니다. 한도가 설정되면, 사용자는 각각 페이바이캐쉬(Pay by Cash) 혹은 기프트 카드(Gift Cards) 위젯으로 다시 보내집니다.
재지정 정책 설정(객체).
페이 스테이션 동작은 닫기 버튼 또는 게임으로 돌아가기 버튼을 사용자가 클릭하면 트리거됩니다. redirect(기본값) 및 postmessage가 될 수 있습니다. redirect로 설정되었다면 사용자는 토큰에서 전달되었거나 게시자 계정에서 지정된 URL로 리디렉션 됩니다. postmessage로 설정되었다면 사용자는 다른 페이지로 리디렉션되지 않습니다. 닫기 아이콘 버튼을 클릭하면 close 이벤트 보내기 및 clicking the 게임으로 돌아가기 버튼 클릭(return 이벤트)이 초기화됩니다.
복귀 URL로 사용자 재지정 시 지불 상태. 이는 none, successful, successful_or_canсeled, 혹은 any일 수 있습니다.
결제 상태 페이지에 리디렉션 카운트다운 타이머를 표시할지 여부. 카운트다운 시간은 settings.redirect_policy.delay 매개 변수에 전달된 값으로 결정됩니다.
결제 후 사용자가 리디렉션되는 페이지의 URL입니다. 리디렉션 구성에 대한 자세한 내용은 이 문서를 참조하세요.
인터페이스 설정 데이터와 관련된 값입니다.
결제 UI 화면을 열었을 때 표시되는 대체 화면. 예를 들어, 우선순위가 지정된 결제 수단을 표시할 수 있습니다.
apple-pay로 설정된 경우, 다른 결제 수단 목록으로 연결되는 링크와 함께 Apple Pay 버튼이 주요 결제 옵션으로 표시됩니다. 이 로직은 Android 기기에는 적용되지 않습니다.
지원 장치의 결제 UI 상단에 있는 Apple Pay를 통해 신속 결제를 위한 버튼 표시 여부. 기본적으로 true입니다. false인 경우, PayRank 알고리즘에 따라 결제 방식 목록에 Apple Pay가 표시됩니다.
참고
Android 장치 및 Apple Pay 결제를 지원하지 않는 기타 장치에서는 매개 변수 값에 관계없이 이 결제 방식이 사용 가능한 결제 방식 목록에서 숨겨집니다.
모듈 메뉴 설정 데이터와 관련된 값입니다.
정기 결제 모듈 설정 데이터와 관련된 값입니다.
게임머니 모듈 설정 데이터와 관련된 값입니다.
게임 아이템 모듈 설정 데이터와 관련된 값입니다.
모듈 메뉴에 게임 아이템을 표시하는지 여부를 나타냅니다.
결제 UI에 3자리 ISO 4217 통화 코드를 표시하려면 code로 설정합니다. 기본적으로는 3자리 통화 코드 대신 통화 기호가 표시됩니다.
PC 버전의 인터페이스 설정 데이터와 관련된 값입니다.
헤더 설정 데이터와 관련된 값입니다.
결제 UI에 닫기 버튼을 표시할지 여부입니다. 이 버튼은 결제 UI를 닫고 사용자를 settings.return_url 매개 변수에 지정된 URL로 리디렉션합니다. 기본값은 false입니다.
결제 UI의 닫기 버튼 아이콘.
| 열거형 값 | 설명 |
|---|---|
| arrow | 결제 UI 헤더 왼쪽에 있는 ← 아이콘. |
| cross | 결제 UI 헤더 오른쪽에 있는 × 아이콘. |
헤더를 표시하는 설정 방식입니다. compact(프로젝트 이름 및 사용자 ID 표지 안 함) 또는 normal (기본값)을 설정할 수 있습니다.
true인 경우, 로고가 헤더에 표시됩니다. 이미지를 업로드하려면 관리자 페이지에서 프로젝트를 열고 Pay Station > 설정 섹션으로 이동하십시오.
정기 결제 목록 설정 데이터와 관련된 값입니다.
Google Pay 결제 방식을 표시되는 방법. true인 경우 사용자의 장치 및 브라우저에 관계없이 Google Pay를 통한 빠른 결제 버튼이 결제 UI 상단에 표시됩니다. false인 경우 PayRank 알고리즘에 따라 결제 방식 목록에 Google Pay가 표시됩니다. 매개 변수가 전달되지 않으면 사용자의 모든 장치 및 브라우저(Safari 제외)의 결제 UI 상단에 Google Pay가 표시됩니다. Safari에서는 결제 방식 목록에 표시됩니다.
결제 UI에 장바구니 아이템 목록과 결제 세부 정보를 표시합니다. true이면 정보가 확장 보기로 표시됩니다. false(기본값)이거나 매개 변수가 전달되지 않을 경우 정보가 축소된 보기로 표시됩니다.
구매 시 사용자를 임베디드 런처의 브라우저(WebView)에서 기본 브라우저로 리디렉션할지 여부입니다. 기본값은 false입니다.
결제 페이지에서 언어 선택기가 숨겨져 있는지 여부. false(기본값)인 경우 선택기가 표시됩니다.
결제 UI를 열 때 사용자의 국가에서 사용할 수 있는 결제 방식목록이 표시되는지 여부입니다. false(기본값)인 경우 settings.payment_method 매개변수에서 전달된 결제 방식이나 PayRank 알고리즘으로 선택한 결제 방식이 표시됩니다.
외부 리소스로 링크 리디렉션 여부가 비활성화되었습니다.false가 기본값입니다. 외부 링크를 클릭하면external-link-open이벤트가postMessage메커니즘을 통해 전송됩니다. 리디렉션 링크용 주소는url매개 변수에서 전달됩니다.
결제 UI에 결제 방식 검색창을 표시할지 여부입니다. true이면 검색창이 숨겨집니다. 기본값은 false입니다.
결제 페이지를 닫기 전에 × 아이콘 위에 트랜잭션 처리에 대한 경고를 표시할지 여부입니다. false가 전달되거나 매개변수가 전달되지 않으면 경고가 표시되지 않습니다. 기본값은 true입니다.
3D 보안 인증을 새 브라우저 창에서 열지 여부를 선택합니다. 설정에 따라 콘텐츠 보안 정책(CSP)을 적용하는 경우 true로 설정합니다.
결제 UI의 주요 요소 위치. 게임 내부에서 결제 UI를 열거나 주문 및 결제 방식에 대한 정보로 열을 바꿀 수 있습니다. 자세한 내용은 사용자 정의 지침을 참조해 주세요.
페이 스테이션 모바일에서 닫기 버튼을 표시할지 여부. 이 버튼을 누르면 페이 스테이션이 종료되고settings.return_url 매개 변수에 지정된 URL로 사용자를 리디렉션합니다(기본값: false).
저장된 결제 수단 관리를 위한 결제 UI의 표시 모드입니다. user_account로 설정하거나 생략할 수 있습니다. 이 모드에서 사용자는 언어 변경, 새 결제 수단 추가, 기존 결제 수단 삭제만 가능합니다.
참고
이 매개 변수가 전달되면 리디렉션 버튼이 표시되지 않습니다. 결제 수단 저장 후 사용자를 리디렉션하려면 자동 리디렉션을 구성하십시오.
결제 UI 테마. 라이트 테마(기본값)의 경우 63295a9a2e47fab76f7708e1, 다크 테마의 경우 63295aab2e47fab76f7708e3일 수 있습니다. 사용자 정의 테마를 생성하고 이 매개 변수의 해당 ID를 전달할 수도 있습니다.
사용자 계정에 관한 데이터가 담긴 객체.
저장된 결제 방식 섹션입니다.
사용자 세부 정보.
게임유저 특성 데이터와 관련된 객체로서 아이템 목록을 필터링하는데 사용됩니다. 키값 쌍을 가진 올바른 JSON 해시여야 합니다.
ISO 3166-1 alpha-2 standard에 따른 2자로 된 국가 코드를 사용합니다.
user.email 개체는 부정 결제 방지 모델 만들기의 정수 부분이며 수락률을 높여줍니다. 해당 개체는 엑솔라와 결제 시스템 양쪽 모두의 요구 사항입니다. 매개 변수가 전달되지 않으면 이메일 입력용 필수 필드가 결제 페이지에 나타납니다. 사용자는 매개 변수에서 전달되었거나 결제 페이지에 입력된 이메일로 구매 영수증을 받습니다.
결제 UI에서 사용자가 자신의 이메일을 입력할 수 있는지 여부. user.email.value 매개변수가 토큰에서 전달되는 경우 기본값은 false입니다.
사용자 이메일. RFC 822 프로토콜에 따라 유효해야 합니다.
귀하 측에 저장된 게임 내 고유 사용자 ID입니다. 기존 사용자 ID여야 합니다. 오류가 발생하면 자주 묻는 질문에 대한 답변을 참조해 주세요.
법인 세부 정보가 있는 오브젝트.
기업이 속한 국가. ISO 3166-1 alpha-2 standard에 따른 2자로 된 대문자 국가 코드를 사용합니다.
트래픽 성향을 나타내는 데이터를 포함한 오브젝트.
- https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token
- Mock serverhttps://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/token
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token' \
-H 'Content-Type: application/json' \
-d '{
"settings": {
"currency": "USD",
"language": "en",
"project_id": 16184,
"ui": {
"size": "medium"
}
},
"user": {
"email": {
"value": "email@example.com"
},
"id": {
"value": "user_2"
},
"name": {
"value": "John Smith"
}
}
}'