정기 결제 정보 가져오기
정기 결제 활동 정보 수신 방법:
- API 호출을 사용하여 정보 요청(서버리스 통합용으로 적합)
- 웹훅을 사용하여 자동으로 정기 결제 상태가 변경될 때 정보 수신(서버 통합용으로 적합)
API 호출을 통한 설정
애플리케이션의 클라이언트 측에서 HTTP GET 요청을 사용하여 사용자 정기 결제 정보 가져오기를 구현합니다.
엑솔라 API는 HTTP 액세스 인증을 사용합니다. 요청은 반드시 헤더Authorization: Bearer <client_user_jwt>
를 포함해야 하며, <client_user_jwt>
는 Base64 표준에 따라 인코딩된 고유 토큰이어야 합니다. 이를 얻으려면:
- 로그인 및 암호로 인증하는 경우 Register new user 밒 Auth by username and password API 호출을 사용합니다.
- 소셜 네트워크를 통해 인증하는 경우 Auth via social network API 호출을 사용합니다.
프로젝트 ID를 매개 변수 projectId
로 지정합니다. 이 매개 변수는 관리자 페이지의 프로젝트 이름 옆에서 찾을 수 있습니다.
쿼리 매개 변수로 지정:
limit
— 페이지의 요소 개수에 대한 제한(기본적으로 15개의 요소가 표시됩니다).offset
— 목록이 생성된 요소의 개수(0부터 카운트됩니다).locale
— 인터페이스 언어(기본적으로 영어로 설정됩니다). ISO 639-1 표준에 따른 값을 수락합니다.
Copy
- curl
curl -X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
Copy
- javascript
{
"items": [
{
"id": 11111111,
"plan_id": 11111,
"plan_external_id": "TestChangePlanBase",
"plan_name": "package_recurrent_name_66053",
"plan_description": "package_recurrent_description_66053",
"product_id": null,
"product_external_id": null,
"product_name": null,
"product_description": null,
"status": "active",
"date_create": "2021-03-11T13:50:11+03:00",
"date_next_charge": "2031-04-11T13:51:02+03:00",
"date_last_charge": "2021-03-11T13:51:02+03:00",
"charge": {
"amount": "0.2500",
"currency": "USD"
},
"period": {
"value": 1,
"unit": "day"
}
}
],
"has_more": true
}
웹훅 설정
정기 결제 솔루션은 다음 이벤트에 대한 웹훅을 지원합니다.
- 정기 결제 결제:
- 정기 결제 갱신:
- 정기 결제 취소: 취소된 정기결제(관리자 페이지에서 정기 결제이 취소되었거나 유효한 모든 기간에 대한 결제가 취소되었습니다)
알림
정기 결제을 취소하려면 마지막 결제가 반드시 취소되어야 합니다. 사용자가 자신의 정기 결제을 수동으로 갱신했고 여러 기간에 대해 결제를 했다면 사용자는 모든 결제를 반드시 취소해야 합니다.
- 환불:
- 환불(결제가 관리자 페이지에서 취소되었습니다)
- 업데이트된 정기결제(결제가 취소되었으나 정기 결제은 활성화 상태입니다. 사용자가 실수로 정기 결제을 두 번 결제한 다음 마지막 결제만 취소한 경우 가능한 상황입니다.)
- 취소된 정기결제(게시자 게정에서 결제가 취소되었거나 모든 유효한 기간에 대한 모든 결제가 취소되었습니다)
알림
API 설명서에서 웹훅에 대해 더 자세히 알아볼 수 있습니다.
- 관리자 페이지에서 프로젝트 설정 > 웹훅으로 이동합니다.
- 웹훅 블록의 토글을 켜짐으로 설정합니다.
- 웹훅 URL을 지정합니다. 설정 저장을 클릭합니다.
관리자 페이지에서 웹훅 테스트
- 관리자 페이지 > 프로젝트 설정 > 웹훅에서 정기 결제 탭으로 이동합니다.
- 웹훅을 테스트하려면 프로젝트의 값을 지정하여(사용자 ID, 청구서 ID)귀하께서 제공한 웹훅 URL로 요청에서 전공합니다. 실제 값의 부재한 경우 임의의 값을 입력할 수 있습니다. 다음 양식 필드를 완료합니다.
- 사용자 ID
- 엑솔라 청구서 ID
- 금액
- 통화
- 플랜 ID
- 정기 결제 제품(선택 사항)
- 청구서 ID — 내부 주문 번호(선택 사항)
- 무료 체험 기간(샌드박스 모드에서 정기 결제 구매 테스트 또는 정기 결제 갱신 테스트를 하려면
0
값을 설정합니다.)
알림
관리자 페이지에서는 기본 게임유저 유효성 검사 및 결제 웹훅만 테스트할 수 있습니다. 다른 웹훅 유형을 테스트하려면 다음으로 이동합니다.
- 테스트를 클릭합니다.
- 테스트 성공 메시지를 받았는지 확인합니다. 테스트가 성공적이면 귀하의 서버가 204 HTTP 상태 코드를 반환합니다. 성공적이지 않다면 귀하의 서버는 400 또는 500 HTTP 상태 코드를 오류 설명과 함께 반환합니다.
정기 결제 구매 테스트
결제를 테스트할 때 게임유저 유효성 검사, 결제, 정기결제 생성 웹훅이 웹훅 설정 단계에서 지정한 URL로 보내집니다. 결제 처리 테스트에 사용할 수 있는 항목:- 샌드박스 모드 사용(무료 체험 기간이 0일인 정기 결제)
- 실제로 결제한 다음 관리자 페이지을 통해 환불 개시(무료 체험 기간이 0일 이상인 정기 결제)
알림
무료 체험 기간이 있는 정기 결제 테스트는 실제 결제용으로만 가능합니다. 이는 샌드박스 모드에서 정기 결제에 청구 계정을 연결할 수 없기 때문입니다.
샌드박스 모드
- 샌드박스 모드 토큰을 가져옵니다.
0
값을 무료 체험 기간(trial_days
) 매개 변수에 전달합니다. - 결제 방법의 신용/직불 카드 그룹을 선택합니다.
- 은행 카드 테스트 세부 정보를 입력합니다. 남은 필드에 임의의 값이나 입력합니다. 올바르지 않은 세부 정보(카드 번호, 만료 날짜 또는 CVV)를 지정하여 오류를 생성할 수도 있습니다.
알림
샌드박스 모드에서는 테스트 은행 카드만 사용할 수 있습니다. 샌드박스 은행 카드 결제를 할 수 있는 통화: USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.
- 웹훅 단계 설정에서 지정한 URL에서 게임유저 유효성 검사, 결제, 업데이트된 정기결제 웹훅을 받습니다.
실제 결제
무료 체험 기간에 정기 결제를 테스트하려면 실제 결제 방식을 사용해야 합니다.- 관리자 페이지에서 웹훅 테스트를 완료하고 정기 결제 모듈을 활성화합니다.
- 라이선스 계약을 체결합니다.
알림
실제 정기 결제 판매를 활성화하는 라이선스 계약에 서명합니다.
- 실제 지불을 위해 토큰을 가져옵니다.
주의
실제 결제를 받기 전에 토큰 요청에서
“mode”:“sandbox”
매개 변수를 제거합니다.- 다음 링크가 있는 결제 UI 열기:
https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
(조건:ACCESS_TOKEN
은 전 단계에서 받은 토큰입니다. - 결제 방법의 신용/직불 카드 그룹을 선택합니다.
- 유효한 은행 카드 세부 정보를 입력합니다.
알림
은행 카드 테스트는 샌드박스 모드에서만 적합합니다. Visa 및 MasterCard 카드를 사용해 실제 결제를 테스트하는 것이 좋습니다.
- 웹훅 단계 설정에서 제공하신 웹훅에서게임유저 유효성 검사, 결제, 업데이트된 정기결제 웹훅을 받습니다.
- 결제한 금액을 환불받습니다. 이를 수행하려면 관리자 페이지 > 지원 > 거래 검색으로 이동합니다.
- 테스트 거래를 선택하고 더 보기(•••) 메뉴 버튼을 클릭합니다. 팝업 메뉴의 환불을 클릭합니다(거래는 완료 상태여야 합니다). 그러면 취소된 정기결제 및 환불 웹훅이 전송됩니다.
정기 결제 갱신 테스트
주의
무료 체험 기간이 없는 정기 결제용으로만 사용할 수 있습니다.
- 샌드박스 모드 토큰을 가져옵니다.
0
값을 무료 체험 기간(trial_days
) 매개 변수에 전달합니다. - 원하는 결제 방법으로 정기 결제 결제를 합니다.
- 샌드박스 모드에서 결제 인터페이스를 다시 엽니다.
- 원하는 결제 방법으로 결제하여 정기 결제을 갱신합니다.
- 게임유저 유효성 검사, 결제, 업데이트된 정기결제 웹훅을 웹훅 설정 단계에서 지정한 웹훅 URL에서 받습니다.
정기 결제 취소 테스트
정기 결제 취소 테스트에 사용할 항목:정기 결제으로 검색
- 관리자 페이지에서 지원 > 정기 결제으로 이동합니다.
- 취소하려는 정기 결제을 찾습니다.
- 정기 결제 상태 메뉴를 열고 선택할 수 있는 항목:
최근 거래로 검색
- 관리자 페이지에서 지원 > 거래 검색으로 이동합니다.
- 취소할 최근 거래를 찾습니다.
- 더 보기(•••) 아이콘을 클릭합니다. 팝업 메뉴의 환불을 클릭하여 취소된 정기결제 및 환불 웹훅을 받습니다.
알림
정기 결제을 여러 번 결제했다면 모든 결제를 반드시 취소해야 합니다.
API 호출 사용
정기결제 업데이트 API 호출을 사용하여 정기 결제 상태를 취소됨으로 변경하여 취소된 정기결제 웹훅을 받습니다.샌드박스 모드의 결제 UI 열기
샌드박스 결제 UI를 열려면sandbox
모드에서 토큰을 가져옵니다. 필요한 토큰이 있는 링크를 가져오는 방법:관리자 페이지 사용
- 관리자 페이지의 웹훅을 테스트합니다. 무료 체험 기간 필드의
0
값을 지정하여 무료 체험 기간이 없는 정기 결제을 테스트합니다. 성공적인 테스트 확인 메시지를 받은 후 필요한 토큰이 있는 링크가 샌드박스 URL 머리글 아래 나타납니다.
- 샌드박스 URL 링크를 클릭합니다.
API 호출 사용
"settings":{"mode":"sandbox"}
매개 변수를 토큰 생성 메소드에 전달합니다."purchase": {"subscription":{"trial_days": 0}}
매개 변수를 전달하여 무료 체험 기간이 없는 정기 결제을 테스트합니다.- 사용할 링크:
https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
(조건:ACCESS_TOKEN
은 전 단계에서 받은 토큰입니다.)
이 기사가 도움이 되었나요?
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.