콘텐츠로 건너뛰기

개요

  • 버전: 2.0.0
  • 서버:
    • https://api.xsolla.com/api

페이 스테이션을 통해 파트너가 사용자에게 게임 스토어에서 인게임 구매를 결제하도록 돕는 편리한 UI를 제공하고 수익을 창출할 수 있습니다. 결제 UI를 열도록 설정하려면 다음 지침을 참조해 주세요.

페이 스테이션 API는 다음과 같은 호출 그룹을 제공합니다.

  • 토큰 - 결제 UI를 통해 추후 결제 처리에 사용하는 임의 사용자 매개 변수로 토큰을 생성하는 API 호출을 포함합니다.
  • 토큰화 - 결제 UI를 열지 않고 사용자의 개입이 없어도 안전하게 결제를 처리하는 API 호출을 포함합니다.
  • 보고서 - 사용자 트랜잭션 데이터를 반환하고, 보고서를 생성하고, 통화별 지급액 내역을 확인할 수 있는 API 호출을 포함합니다.
  • 환불 - 전액 및 부분 환불을 요청하는 API 호출을 포함합니다.
  • 테스트 - 지불 거절 프로세스를 테스트하는 API 호출을 포함합니다.

결제 UI 구성에 대한 자세한 정보는 결제 솔루션 연동 가이드에서 확인할 수 있습니다.

참고

또한 포스트맨 컬렉션Xsolla Base API 섹션을 참조하여 연동에 사용되는 API 호출을 테스트할 수 있습니다.

OpenAPI 설명 다운로드
언어
서버
Mock server
https://xsolla.redocly.app/_mock/ko/api/pay-station/
https://api.xsolla.com/merchant/v2/
작업
작업

요청

지정된 데이터 범위의 재무 보고서 목록을 가져옵니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

쿼리
datetime_fromstring(datetime)필수

기간은 YYYY-MM-DD 형식으로 시작합니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:

  • transfer_id
  • report_id

예제: datetime_from=2023-02-08
datetime_tostring(datetime)필수

기간은 YYYY-MM-DD 형식으로 끝납니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:

  • transfer_id
  • report_id
datetime_from와(과) datetime_to 사이의 차이는 92일을 초과할 수 없습니다.

예제: datetime_to=2023-03-08
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports?datetime_from=2023-02-08&datetime_to=2023-03-08'

응답

OK.

본문application/json
응답
application/json
[ { "agreement_document_id": "Organization Inc_RUB", "currency": "RUB", "is_direct_payout": false, "is_draft_by_agreement": true, "month": "January", "report_id": 57613, "year": 2019 }, { "agreement_document_id": "Organization Inc_EUR", "currency": "USD", "is_direct_payout": false, "is_draft_by_agreement": true, "month": "January", "report_id": 57619, "year": 2019 } ]

요청

지정된 기간 동안의 성공 및 취소된 트랜잭션에 대한 세부 정보 목록을 반환합니다. 이에 대한 응답으로 수수료, 세금, 주문 및 사용자에 대한 데이터를 포함한 결제 관련 정보를 얻을 수 있습니다. JSON 또는 CSV 형식으로 목록을 가져올 수 있습니다. 이 API 호출을 사용하여 재정 조정을 수행할 수 있습니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

formatstring필수

데이터 형식

열거형"json""csv""xls"
쿼리
datetime_fromstring(datetime)필수

기간은 YYYY-MM-DD 형식으로 시작합니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:

  • transfer_id
  • report_id

예제: datetime_from=2023-02-08
datetime_tostring(datetime)필수

기간은 YYYY-MM-DD 형식으로 끝납니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:

  • transfer_id
  • report_id
datetime_from와(과) datetime_to 사이의 차이는 92일을 초과할 수 없습니다.

예제: datetime_to=2023-03-08
in_transfer_currencyinteger필수

모든 재무 데이터를 지급 통화로 변환합니다(기본적으로 지급 통화가 사용됨). 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:

  • transfer_id
  • report_id

show_totalboolean

보고서에 총 거래 금액을 포함할지 여부입니다. CSV 형식으로만 내보낼 수 있습니다. 기본값은 true입니다.

merchant_of_recordsstring or null

머천트 오브 레코드. xsolla 혹은 merchant 이거나 명시되지 않음. merchant인 경우, 파트너의 게이트웨이를 통한 거래를 반환합니다. xsolla인 경우에는, 파트너의 게이트웨이를 거치지 않은 거래를 반환합니다. 명시되지 않은 경우에는, 모든 거래를 반환합니다.

열거형 값설명
merchant

파트너의 게이트웨이를 통한 거래를 반환합니다.

xsolla

파트너의 게이트웨이를 거치지 않은 거래를 반환합니다.

project_idinteger

프로젝트 ID.

show_dry_runboolean

테스트 트랜잭션을 포함할지 여부를 나타냅니다.

transfer_idinteger

트랜잭션 전송 ID입니다.

report_idinteger

재무 보고서 ID입니다.

offsetinteger

목록이 생성된 요소 개수(개수는 0부터 시작함).

limitinteger

페이지에 표시되는 트랜잭션 수에 대한 제한. 이 매개 변수가 전달되면 datetime_fromdatetime_to 매개 변수를 전달할 필요가 없습니다.

statusstring

트랜잭션의 상태입니다.

열거형"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transactions/registry.{format}?datetime_from=2023-02-08&datetime_to=2023-03-08&in_transfer_currency=0&show_total=true&merchant_of_records=xsolla&project_id=0&show_dry_run=true&transfer_id=0&report_id=0&offset=0&limit=0&status=done'

응답

거래 목록이 성공적으로 반환되었습니다.

본문application/jsonArray [
payment_detailsobject

결제 세부 정보입니다.

purchaseobject

구매 세부 정보.

transactionobject

거래 데이터.

userobject

사용자 세부 정보.

user_balanceobject

사용자 잔액.

]
응답
application/json
[ { "payment_details": {}, "purchase": {}, "transaction": {}, "user": {}, "user_balance": {} } ]

요청

특정 검색 매개 변수를 기준으로 트랜잭션 목록을 반환합니다. 이에 대한 응답으로 성공적으로 완료되지 않았더라도 게임에서 이루어진 모든 결제에 대한 데이터를 얻을 수 있습니다. 트랜잭션 기간뿐만 아니라 특정 사용자 또는 특정 결제 상태의 거래를 검색하는 등 다른 매개 변수도 지정할 수 있습니다. JSON 또는 CSV 형식으로 목록을 가져올 수 있습니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

formatstring필수

데이터 형식

열거형"json""csv""xls"
쿼리
datetime_fromstring(datetime)

날짜 범위의 시작입니다.

datetime_tostring(datetime)

날짜 범위의 끝입니다.

project_idinteger

프로젝트 ID.

transaction_idinteger

트랜잭션 ID.

typestring

검색 결과에 표시되는 거래 유형:

열거형 값설명
all

모든 거래.

canceled

취소된 거래(테스트 거래 제외).

test

테스트 거래.

transferred

성공한 거래(테스트 거래 제외).

phonestring

게임유저 전화 번호입니다(국제 형식).

user_idstring

귀하 측에 저장된 게임 내 고유 사용자 ID입니다. 기존 사용자 ID여야 합니다. 오류가 발생하면 자주 묻는 질문에 대한 답변을 참조해 주세요.

user_namestring

사용자 이름.

user_customstring

게임유저 식별을 위한 파라미터를 사용자 지정합니다.

emailstring<= 100 characters

사용자 이메일.

external_idstring

게임의 트랜잭션 ID 입니다. 각 사용자 결제별로 고유해야 합니다.

order_idinteger

주문 ID. 주문 ID를 사용하여 주문 가져오기 API 메서드를 호출할 수 있습니다.

예제: order_id=1234
offsetinteger

목록이 생성된 요소 개수(개수는 0부터 시작함).

limitinteger

페이지 요소 개수 제한.

statusstring(status.enum)

트랜잭션 상태입니다.

열거형 값설명
awaitingRefund

트랜잭션 환불 결정을 기다리고 있습니다. 사용자가 환불을 요청하면 엑솔라 고객 지원팀에서 요청을 수동으로 처리하고 환불을 결정합니다.

canceled

가능한 사례는 다음과 같습니다.

  • 결제 시스템 측에서 거래를 취소했습니다. 예를 들어, 사용자 계정에 잔액이 부족한 경우입니다.
  • 사용자에게 결제 금액이 환불되었습니다.
created

사용자가 트랜잭션을 시작했지만 아직 처리되지 않았습니다.

done

트랜잭션을 성공적으로 처리했습니다.

error

트랜잭션을 처리하는 동안 오류가 발생했습니다. 오류가 발생한 결제 금액은 엑솔라 고객 지원팀에 연락하여 환불받을 수 있습니다.

partiallyRefunded

사용자가 부분 환불을 받았습니다.

processing

트랜잭션을 처리하고 있습니다.

refunded

사용자의 엑솔라 잔액으로 환불이 이루어졌습니다.

review

부정 결제 방지 시스템에 의해 트랜잭션 처리가 일시 중지되었으며 현재 추가로 거래를 확인하고 있습니다.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transactions/search.{format}?datetime_from=string&datetime_to=string&project_id=0&transaction_id=0&type=all&phone=string&user_id=string&user_name=string&user_custom=string&email=string&external_id=string&order_id=1234&offset=0&limit=0&status=created'

응답

OK.

본문application/json
응답
application/json
[ { "payment_details": {}, "payment_system": {}, "purchase": {}, "transaction": {}, "user": {} } ]

요청

몇 초 내에 특정 검색 매개변수를 기반으로 트랜잭션 목록을 구합니다. 이는 모든 트랜잭션 검색 API 호출을 대체할 수 있는 기능으로 JSON, CSV 또는 XLS 형식으로 데이터를 반환합니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

쿼리
transaction_idinteger

트랜잭션 ID입니다. 이 값 또는 external_id 중 하나만 제공해야 하며 둘 다 제공하면 안 됩니다.

external_idstring

게임의 트랜잭션 ID입니다. 각 결제마다 고유합니다. 이 값 또는 transaction_id 중 하나만 제공해야 하며 둘 다 제공하면 안 됩니다.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transactions/simple_search?transaction_id=0&external_id=string'

응답

거래 목록이 성공적으로 반환되었습니다.

본문application/jsonArray [
payment_detailsobject

결제 세부 정보입니다.

transactionobject

트랜잭션 세부 정보입니다.

userobject

사용자에 대한 데이터가 포함된 개체입니다.

]
응답
application/json
[ { "payment_details": {}, "transaction": {}, "user": {} } ]

요청

통화로 지불금 내역을 받습니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

쿼리
datetime_fromstring(datetime)

날짜 범위의 시작입니다.

datetime_tostring(datetime)

날짜 범위의 끝입니다.

legal_entity_idinteger

개발자 법인 엔터티 ID

statusstring

트랜잭션의 상태입니다.

열거형"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transactions/summary/transfer?datetime_from=string&datetime_to=string&legal_entity_id=0&status=done'

응답

OK.

본문application/json
응답
application/json
[ { "DirectTaxesOfPayments": 0.46, "IsoCurrency": "RUB", "PaymentsAmount": 223679.84, "SumCommissionAgent": 11329.58, "SumCommissionUserTaxes": 153.67, "SumItems": 571325.13, "SumNominalSum": 214792.98, "SumOutProject": 551096.13, "SumPayoutSum": 193316.71, "TaxesOfPayments": 171.56 }, { "DirectTaxesOfPayments": 0.14, "IsoCurrency": "USD", "PaymentsAmount": 482.58, "SumCommissionAgent": 77.51, "SumCommissionUserTaxes": 0.07, "SumItems": 243777.62, "SumNominalSum": 493.09, "SumOutProject": 241787.62, "SumPayoutSum": 462.62, "TaxesOfPayments": 0.14 }, { "DirectTaxesOfPayments": 0.07, "IsoCurrency": "EUR", "PaymentsAmount": 608.2, "SumCommissionAgent": 55.71, "SumCommissionUserTaxes": 90.94, "SumItems": 156238.62, "SumNominalSum": 607.26, "SumOutProject": 156158.62, "SumPayoutSum": 460.8, "TaxesOfPayments": 90.94 } ]

요청

ID별로 전체 트랜잭션 정보를 가져옵니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

transaction_idinteger필수

트랜잭션 ID.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transactions/{transaction_id}/details'

응답

트랜잭션 정보를 성공적으로 반환했습니다.

본문application/jsonArray [
customer_detailsobject
finance_detailsobject
payment_detailsobject
subscription_detailsobject
transaction_detailsobject
]
응답
application/json
[ { "customer_details": {}, "finance_details": {}, "payment_details": {}, "subscription_details": {}, "transaction_details": {} } ]

요청

일정 기간 동안의 모든 지불금을 나열합니다.

주의

이 API 호출에는 project_id 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.

보안
basicAuth
경로
merchant_idinteger필수

판매자 ID입니다.

쿼리
datetime_fromstring(datetime)

날짜 범위의 시작입니다.

datetime_tostring(datetime)

날짜 범위의 끝입니다.

legal_entity_idinteger

개발자 법인 엔터티 ID

statusstring

지불 상태.

열거형 값설명
hold

요청이 진행되기를 기다리는 중.

paid

지불이 완료됨.

ready

지불이 진행 중.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ko/api/pay-station/merchants/{merchant_id}/reports/transfers?datetime_from=string&datetime_to=string&legal_entity_id=0&status=hold'

응답

OK.

본문application/json
응답
application/json
[ { "canceled": 0, "payout": {}, "rate": 1, "transfer": {} } ]
작업
작업