IAP v4 영수증 검증
영수증 검증 API는 인앱 구매된 영수증에 대해 검증을 수행 후 영수증의 정상여부를 검증 결과로 응답합니다. 응답값의 hiveiap_transaction_id
는 영수증별로 유니크하게 발급되는 ID이기 때문에 이 값을 게임서버에 저장하고 영수증이 중복되었는지 체크 후 아이템을 지급합니다. Hive IAP v4 영수증 검증 API를 사용하여 검증하고 모든 Request Parameter의 모든값을 전송하면 매출정보 및 매출에 대한 게임정보의 애널리틱스 전송을 Hive IAP 서버에서 대행하며, 또한 Hive One 통합조회의 결제조회를 위한 API를 게임에서 따로 개발할 필요가 없습니다.
Request URL¶
상용 URL | https://hiveiap-verify.qpyou.cn/api_v4/verify | |
---|---|---|
Sandbox URL | https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify | |
HTTP Method | POST | |
HTTP Header | Content-Type | text/html |
Authorization | Bearer (선택사항)
| |
Data Format | JSON |
- Request
필드명 설명 타입 필수여부 purchase_bypass_info Hive SDK에서 추출한 구매 유저, 단말과 영수증 정보. Hive IAP v4 인앱 구매 시, Hive SDK v4 IAPV4 클래스의 Purchase()
또는Restore()
메서드에서 콜백한 IAPV4Receipt 객체의 bypassInfo(Base64로 인코딩한 JSON 형태의 값)를 Hive SDK v4 → 게임 클라이언트 → 게임서버 → Hive IAP v4 영수증 검증 서버 순으로 전달 (게임팀에서 애널리틱스 필수 정보 추출에 필요한 공수를 줄이고, 영수증 JSON 직렬화 오류로 인한 문제 발생을 줄이기 위해 추가)String Y client_ip Client IP (애널리틱스 전송용) String N game_info 게임로그. 매출로그와 같이 게임에 전달할 로그가 있을 때 이 값을 게임에 추가해서 전달하면 Hive IAP가 애널리틱스 서버에 전송을 대행한다. 영수증 검증 단계에서는 아이템 지급 완료(itemsendok) 여부를 알 수 없으므로, 이 부분은 별도 구현하여 추가 정보로 제공해야 한다. (IAP v4 아이템 지급 결과 전송) server_uid 게임서버에서 발급하는 user_id. 없으면 0 bigint giftee_uid null: 선물이 아닌 본인 사용하려고 결제
0: 선물 받은 사람이 있으나 UID 확인 불가bigint level 유저의 게임 내 레벨(레벨이 없을 경우는 불필요) 없으면 0 int character_id 서버 내에서 유니크한 캐릭터 구분 값. 캐릭터 구분이 없는 경우 0을 입력. bigint character_type_id 캐릭터 타입 구분 값. 캐릭터 개념이 없는 게임은 0을 입력 int character_level 캐릭터 타입 구분 값. 캐릭터 개념이 없는 게임은 0을 입력 int is_emulator 블루스택 등 PC용 에뮬로 접속했으면 1, 아니면 0 int server_type 게임 서버 환경 구분 값. 예: qa, dev, staging, production (Hive 애널리틱스 v2에 구매 로그를 보낼 때 `server_type`이 `production` 이외의 값을 전달하면 `env` 열이 `"TEST"`로 전달) String Object N
Response¶
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
result | 응답 코드.
| Integer | Y |
result_msg | 응답 메시지 | String | Y |
hiveiap_transaction_id | 검증 성공한 영수증 별로 생성되는 트랜잭션 ID. 이 값을 게임 서버에 저장해서 게임이 영수증 중복 체크를 수행함. 응답코드가 0(검증 성공)일 때만 값을 전달함 | String | N |
hiveiap_receipt | String으로 생성된 영수증을 object로 변환한 값. 애플 앱스토어만 Object로 생성할 수 없어 String으로 전달됨. 응답코드가 0(검증 성공)일 때만 값을 전달함 | 애플 앱스토어: String 그 외 마켓: Object | N |
hiveiap_market_transaction_id | 마켓의 영수증에서 생성된 주문번호. 값이 공백일 경우도 있어 이값으로 중복체크 하면 안되며 결제 참고용 데이터로만 사용 응답코드가 0(검증 성공)일 때만 값을 전달함 | String | N |
hiveiap_receipt_verify_result | 마켓 검증 서버에서 전달한 영수증 검증 결과. 응답코드가 0(검증 성공)일 때만 값을 전달함 ※ 해당 정보는 마켓 검증 서버의 추가 및 변경 등에 따라 결과 값이 달라질 수 있음. 해당 결과 값은 참고 용도로만 사용하여야 하며, 재화 또는 아이템의 지급 성공/실패를 판단하는 용도로 사용 금지. | Object | N |
hiveiap_market_pid | 영수증 또는 영수증 검증결과에서 추출한 MARKET PID. hiveiap_market_pid 필드값으로 지급할 아이템을 판단하여 지급함, SDK에서 콜백으로 전달한 MARKET PID는 메모리 변조의 위험이 있어 그 값으로 사용하면 안됨. 응답코드가 0(검증 성공)일 때와 1000503 에러일때 값을 전달함. | String | N |
hiveiap_market_id | 결제된 마켓의 구분코드 1: 애플 앱스토어 2: 구글 플레이스토어 3: 러비 4: 원스토어 응답코드가 0(검증 성공)일 때만 값을 전달함 | Integer | N |
hiveiap_purchase_cancel_state | 구매 취소여부 (0: 구매상태, 1: 취소상태) 마켓이 애플 앱스토어나 원스토어일 경우에만 취소 상태 판별 가능. 응답코드가 0(검증 성공)일 때만 값을 전달함 | Integer | N |
hiveiap_quantity | 구매한 상품 수량 | Integer | N |
hiveiap_iap_payload | 게임사에서 정의한 구매 메타 정보 | String | N |
hiveiap_account_uuid_compare | 영수증 검증 API로 전달한 계정 정보와, 영수증 검증을 할때 로그인한 Hive 계정 정보의 일치 여부입니다. 마켓 계정이 동일한 Hive 계정은 여럿일 수 있습니다. 1: 일치 2: 미일치 9: 미지원 | Integer | N |
hiveiap_purchase_test | 테스트 여부 (Y:테스트, N:실결제) 애플, 원스토어, 아마존, 갤럭시 스토어 인 경우만 테스트 여부 구분 가능 | String | N |
hiveiap_price | 결제 금액 * PG 할인 유형 사용 시 어뷰징 방지를 위해 검증키(gameserver_price_verify_key)로 조회한 게임서버의 금액 정보와 비교 검증 필수 | String | N |
hiveiap_currency | 결제 통화 * PG 할인 유형 사용 시 어뷰징 방지를 위해 검증키(gameserver_price_verify_key)로 조회한 게임서버의 통화 정보와 비교 검증 필수 | String | N |
gameserver_price_verify_key | 게임서버 할인 금액 검증키 * PG 할인 유형 사용 시 검증키(gameserver_price_verify_key)로 게임서버의 통화 및 가격 정보를 조회하여 검증 필수 | String | N |
Result codes¶
Code | Message | Comment |
---|---|---|
0 | Success, Duplicate receipt | 검증 성공 |
1000001 | No requested parameter | 전송된 파라미터가 없을 때 |
1000003 | DB Connection Error | DB Connection이 안 될 때 |
1000005 | Internal Server Error | 내부 서버 에러 |
1000006 | The required parameter info is missing | 필수 파라미터 값이 없을 때 |
1000503 | Failed to authenticate the receipt | 영수증 검증 실패 또는 영수증 해킹된 경우(스푸핑 해킹) 아이템 지급이 필요없는 환불 재결제 영수증이 리스토어 내역에 포함될 경우 |
1000504 | The Google public key hasn’t been registered | 구글 영수증 검증을 위한 licence key가 등록되지 않았을 때 |
1000505 | The ONE Store appid hasn’t been registered | 원스토어 영수증 검증을 위한 market appid가 등록되지 않았을 때 |
1000507 | Failed to save the purchase info | 구매 이력 저장에 실패하였을 때 |
1000512 | Failed to authenticate the productId. | 상품 검증 실패 (구매한 상품정보와 마켓 영수증의 정보가 일치하지 않거나 존재하지 않을 경우) |
1000516 | The receipt verify server is abnormal. | 마켓 영수증 검증 서버에 이상이 있을 경우 |
1000519 | Pending state Receipt. | 느린 결제(예. 편의점 결제) 시도 시 결제 대기(Pending) 상태로 전송되는 영수증. 결제 전 영수증이기 때문에 어떠한 처리도 하지 않음 |
1000520 | Failed to authenticate the API Key. | 앱센터에서 발급한 Bearer 토큰 검증 실패 |
1000522 | The Galaxy Store secret hasn't been registered. | 갤럭시 스토어 secret key 미등록 상태인 경우 |
1000523 | Failed to authenticate the receipt. (unexpected system error from Samsung IAP Server) | 영수증 검증 실패 (삼성 IAP 서버의 예상치 못한 시스템 에러) |
1000524 | Failed to authenticate the receipt. (not exist order) | 영수증 검증 실패 (존재하지 않는 주문) |
1000525 | Failed to authenticate the receipt. (wrong param) | 영수증 검증 실패 (파라미터 오류) |
1000535 | Market API response was answered as failed. | 마켓 API 응답결과가 실패인 경우 |
1000540 | App Store Connect information not found. | App Store Connect API 키 정보가 등록되지 않은 경우 |
Request example¶
curl -L -v \
-d '{"purchase_bypass_info":"eyJ1aWQiOiIiLCJhbmFseXRpY3Nfa...","game_info":"","item_type":"consumable","client_ip":"220.70.82.110"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
curl -L -v \
-d '{"purchase_bypass_info":"eyJoaXZlX3RpbWV6b25lIjp7Inp...QiOjB9fQ==","game_info":{"server_uid":7965861,"giftee_uid":0,"level":50,"character_id":0,"character_type_id":0,"character_level":0,"is_emulator":0}}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
curl -L -v \
-d '{"purchase_bypass_info":"eyJtYXJrZXRfaW..iOm51bGx9fQ==","game_info":"","item_type":"consumable","client_ip":"220.70.82.100"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
curl -L -v \
-d '{"purchase_bypass_info":"eyJtYXJrZXRfaW...I6bnVsbH19","game_info":"","item_type":"consumable","client_ip":"220.70.82.231"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
curl -L -v \
-d '{"purchase_bypass_info": "eyJtYXJrZ...Gx9fQ==","game_info": "","item_type": "consumable","client_ip": "220.70.82.100"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
요청
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> Content-Length: 10503
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> Content-Length: 12379
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 2551
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 2159
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 2229
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 2637
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 2975
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 1285
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 1241
> POST /api_v4/verify HTTP/2
> Host: sandbox-hiveiap-verify.qpyou.cn
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc
> content-length: 1134
Response example¶
< HTTP/2 200 OK
< Server: nginx
< Date: Fri, 31 Mar 2023 10:09:01 GMT
< Content-Type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"AP_23309","hiveiap_market_id":1,"hiveiap_market_pid":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"2000000305678493","hiveiap_receipt":"MIIUhQYJKoZIhvcNAQ...HTdn1QSkTCYng==","hiveiap_receipt_verify_result":{"receipt":{"receipt_type":"ProductionSandbox","adam_id":0,"app_item_id":0,"bundle_id":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal","application_version":"4.16.3.1","download_id":0,"version_external_identifier":0,"receipt_creation_date":"2023-03-31 10:08:56 Etc\/GMT","receipt_creation_date_ms":"1680257336000","receipt_creation_date_pst":"2023-03-31 03:08:56 America\/Los_Angeles","request_date":"2023-03-31 10:09:01 Etc\/GMT","request_date_ms":"1680257341038","request_date_pst":"2023-03-31 03:09:01 America\/Los_Angeles","original_purchase_date":"2013-08-01 07:00:00 Etc\/GMT","original_purchase_date_ms":"1375340400000","original_purchase_date_pst":"2013-08-01 00:00:00 America\/Los_Angeles","original_application_version":"1.0","in_app":[{"quantity":"1","product_id":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01","transaction_id":"2000000305678493","original_transaction_id":"2000000305678493","purchase_date":"2023-03-31 10:08:56 Etc\/GMT","purchase_date_ms":"1680257336000","purchase_date_pst":"2023-03-31 03:08:56 America\/Los_Angeles","original_purchase_date":"2023-03-31 10:08:56 Etc\/GMT","original_purchase_date_ms":"1680257336000","original_purchase_date_pst":"2023-03-31 03:08:56 America\/Los_Angeles","is_trial_period":"false","in_app_ownership_type":"PURCHASED"}]},"environment":"Sandbox","latest_receipt_info":[{"quantity":"1","product_id":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01","transaction_id":"2000000305678493","original_transaction_id":"2000000305678493","purchase_date":"2023-03-31 10:08:56 Etc\/GMT","purchase_date_ms":"1680257336000","purchase_date_pst":"2023-03-31 03:08:56 America\/Los_Angeles","original_purchase_date":"2023-03-31 10:08:56 Etc\/GMT","original_purchase_date_ms":"1680257336000","original_purchase_date_pst":"2023-03-31 03:08:56 America\/Los_Angeles","is_trial_period":"false","in_app_ownership_type":"PURCHASED","app_account_token":"107d9aed-5a90-3211-a34e-c2bdc2d1fbef"}],"latest_receipt":"MIIUgwYJKoZI...ttAdNvtrE=","status":0},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"Y","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200 OK
< Server: nginx
< Date: Fri, 31 Mar 2023 10:03:34 GMT
< Content-Type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"AP_23307","hiveiap_market_id":1,"hiveiap_market_pid":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"2000000305665856","hiveiap_receipt":"eyJ2ZXJp...cyJ9fQ==","hiveiap_receipt_verify_result":{"status":0,"receipt":{"transactionId":"2000000305665856","originalTransactionId":"2000000305665856","bundleId":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal","productId":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01","purchaseDate":1680256486000,"originalPurchaseDate":1680256486000,"quantity":1,"type":"Consumable","appAccountToken":"9b29dd5c-a7b5-33df-9948-1abf96297dc6","inAppOwnershipType":"PURCHASED","signedDate":1680256495205,"environment":"Sandbox"}},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"Y","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"GO_2","hiveiap_market_id":2,"hiveiap_market_pid":"item02","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"GPA.3369-7334-6895-68540","hiveiap_receipt":{"purchase_data":{"orderId":"GPA.3369-7334-6895-68540","packageName":"com.com2us.hivesdk.normal.freefull.google.global.android.common","productId":"item02","purchaseTime":1504087484989,"purchaseState":0,"developerPayload":{"vid":"10000001215","vid_type":"v4","uid":"771362","market_currency":"KRW","market_price":2000000000,"game_currency":"KRW","game_price":2200,"server_id":"kr","additionalInfo":null},"purchaseToken":"pemfppelaeeckhggkldahmoe.AO-J1OwAik8ek5XEZDwH7zj6PhQXKPNzQ-_BTadZlJiJRDOr8r9cx-YhEj79AAyWR8CQkXFwomocfeOpPu67CNCF3XTeqQuys9kXM_RKjuNZyXFEQfxI-lqYPsloeSRAzHg2pf8v0gzmCA-X0YyqLnGSw-c4EfbVf0gda4i2jmLC_UHm24cYrdE"},"signature":"P7hAAUhMdH67ILBhwl12MI2o2WHy+LODpj9XX0UUZME5J\/a0L2h8CdR3lXCOJi0VlKrHVKdvGZ5sb0QfQNvkcutfKLgS3t5D\/u7xZE1sHYvuch398I7m8ex5rjUe9M1yDsTcKOs8rLWljv2zUe5s0BMONut5KHlK1WqmPNcC9b5mWcTwgrMJ0PL3kwJf3uOmZuUt\/EpJsDP4kZ4aj09h4AplVTKM39ZtX9FPhttJx0gExScxJmwEumY1LU21xOh9Vh8uX67OWfGM3Eg5q\/1ZnIIgwpCq23WMadtRneZqHADd+yeqJnjQ+yLWaj890yX+7o2zR6d1Mpujx\/t38WIKHQ=="},"hiveiap_receipt_verify_result":null,"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"OS_2075","hiveiap_market_id":4,"hiveiap_market_pid":"com.com2us.probaseball3d.android.onestore.global.normal.pack87","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"ONESTORE7_000000000000000000000001554988","hiveiap_receipt":{"purchase_data":{"orderId":"ONESTORE7_000000000000000000000001554988","packageName":"com.com2us.probaseball3d.android.onestore.global.normal","productId":"com.com2us.probaseball3d.android.onestore.global.normal.pack87","purchaseTime":1647412842086,"purchaseId":"SANDBOX3000001556986","purchaseToken":"SANDBOXT000001556986","developerPayload":{"price":"11000","additionalInfo":null}},"signature":"z7vfOWNB+4mFp3Mk93xFR8bSEr6iV+1dvHRrFLSo5SE6shWKS5ZbTmX3nJos+T2jXzYqFyB0PrIrlJeaQm+zUnEvmpL1QZMLiuh\/lECqsvNryo2ktjAPAQfVq77ej44UTnur8dTK\/VMusatWsJSreNcDgzZnef3hCB4lu9tP0w4="},"hiveiap_receipt_verify_result":null,"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"GX_111","hiveiap_market_id":6,"hiveiap_market_pid":"item01","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"P20211014KR64446965","hiveiap_receipt":{"purchaseData":"{\"mItemId\":\"item01\",\"mItemName\":\"item01\",\"mItemDesc\":\"item01 desc\",\"mItemPrice\":1135,\"mItemPriceString\":\"\uffe61,135\",\"mType\":\"item\",\"mConsumableYN\":\"Y\",\"mCurrencyUnit\":\"\uffe6\",\"mCurrencyCode\":\"KRW\",\"mItemImageUrl\":\"https:\/\/img.samsungapps.com\/appsitem\/itemDefaultImage.jpg\",\"mItemDownloadUrl\":\"\",\"mReserved1\":\"\",\"mReserved2\":\"\",\"mOrderId\":\"P20211014KR64446965\",\"mPaymentId\":\"TPMTID20211014KR64446965\",\"mPurchaseId\":\"6fafcef1d643da4bc1360fa0c4ef76cdee4e254d52d4032549e3013a1308ae92\",\"mPassThroughParam\":\"\",\"mVerifyUrl\":\"https:\/\/iap.samsungapps.com\/iap\/getPurchaseReceipt.as?protocolVersion=5.0\",\"mUdpSignature\":\"\",\"mPurchaseDate\":\"2021-10-14 14:58:08\"}","purchaseId":"6fafcef1d643da4bc1360fa0c4ef76cdee4e254d52d4032549e3013a1308ae92"},"hiveiap_receipt_verify_result":null,"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"Y","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"FB_211","hiveiap_market_id":14,"hiveiap_market_pid":"com.com2us.smon.android.facebook.global.normal.pack115","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"4967110790072556","hiveiap_receipt":{"purchase_data":{"developerPayload":20684677,"isConsumed":false,"paymentActionType":"charge","paymentID":"4967110790072556","productID":"com.com2us.smon.android.facebook.global.normal.pack115","purchasePlatform":"FB","purchasePrice":{"amount":"29.99","currency":"USD"},"purchaseTime":1647575470,"purchaseToken":"1116066465906633","signedRequest":"o2ncNDv5dGGqualFf1PYlbN2o7WFELD7VnDTvHKcSnU.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImFwcF9pZCI6IjE0OTMwMzgwMjQyNDE0ODEiLCJkZXZlbG9wZXJfcGF5bG9hZCI6IjIwNjg0Njc3IiwiaXNfY29uc3VtZWQiOmZhbHNlLCJpc3N1ZWRfYXQiOjE2NDc1NzU0ODIsInBheW1lbnRfYWN0aW9uX3R5cGUiOiJjaGFyZ2UiLCJwYXltZW50X2lkIjoiNDk2NzExMDc5MDA3MjU1NiIsInByb2R1Y3RfaWQiOiJjb20uY29tMnVzLnNtb24uYW5kcm9pZC5mYWNlYm9vay5nbG9iYWwubm9ybWFsLnBhY2sxMTUiLCJwdXJjaGFzZV9wbGF0Zm9ybSI6IkZCIiwicHVyY2hhc2VfcHJpY2UiOnsiYW1vdW50IjoiMjkuOTkiLCJjdXJyZW5jeSI6IlVTRCJ9LCJwdXJjaGFzZV90aW1lIjoxNjQ3NTc1NDcwLCJwdXJjaGFzZV90b2tlbiI6IjExMTYwNjY0NjU5MDY2MzMifQ"}},"hiveiap_receipt_verify_result":{"id":"4967110790072556","actions":[{"type":"charge","status":"completed","currency":"USD","amount":"29.99","time_created":"2022-03-18T03:51:14+0000","time_updated":"2022-03-18T03:51:17+0000","risk":{"fraud_status":"succeeded"}}],"items":[{"type":"IN_APP_PURCHASE","product":"com.com2us.smon.android.facebook.global.normal.pack115","quantity":1}],"country":"US","tax":"tax_remitted_usmpf","tax_country":"US","created_time":"2022-03-18T03:51:14+0000"},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"HW_254035","hiveiap_market_id":7,"hiveiap_market_pid":"com.com2us.smon.android.huawei.global.normal.huawei.pack541","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"DCB2C202203180709056166E8EBF15","hiveiap_receipt":{"purchase_data":{"autoRenewing":false,"orderId":"2022031806085611142f0c88a7.102298415","packageName":"com.com2us.smon.android.huawei.global.normal.huawei","applicationId":102298415,"kind":0,"productId":"com.com2us.smon.android.huawei.global.normal.huawei.pack541","productName":"Dimensionsloch Paket D","purchaseTime":1647583747000,"purchaseTimeMillis":1647583747000,"purchaseState":0,"developerPayload":62252009,"purchaseToken":"0000017f9ba4dc8458dfe4ccd3fa461b558f00bfdd4170c2d79b7d9cdd82dc7e808906b538fd2d30x4445.7.102298415","consumptionState":0,"confirmed":0,"currency":"EUR","price":2999,"country":"DE","payOrderId":"DCB2C202203180709056166E8EBF15","payType":"6","sdkChannel":"1"},"signature":"EJ9ET0Qs\/u+exLzVU+PEVYTFAmYqyH2G7eucx9kXNbym+ul8qt7rh3WAgcXcKKJf+R+ocL+BIXnWY7sLNer2JTpwyC\/cwU5zTecOERp\/nEhksskvOWyJFhkJHTNRnkaegxPvah0f0A21baZiyYZc6dm5WN3P0tUdkBL34pihqyhkIi5hnH4JLFWE6R9uhsUlHft2CPRUEGXxR95Dre2XWXR3r27NeG2Qv+IkBCDmT8YK8tMjmRaQKXLIyhiXhx+an1Gyhwc2iCSGj\/8YGnOqxIYogFWkJ48jGG\/PLSHGn7cTC1aV+\/QOWZFAphRsctpYhZpy+XOHPZcpbEqi+HhumLPmpTw3R3VilJ9KIn+hV7Bft8bFZ1NRrH8OKxW+Z7+I+DvzL5dOAsjtN02kGr4ApsVG\/odkVxa4lpAE0puEe08cXt5s6ajeBBZTdUogAoD\/lsRNYa8f+vCnCYX8hrN5xKv4eM692XyT\/uRWvmkv+NBoAqDcV6Wkje8bcn6yTY3Y"},"hiveiap_receipt_verify_result":{"responseCode":"0","purchaseTokenData":{"autoRenewing":false,"orderId":"2022031806085611142f0c88a7.102298415","packageName":"com.com2us.smon.android.huawei.global.normal.huawei","applicationId":102298415,"kind":0,"productId":"com.com2us.smon.android.huawei.global.normal.huawei.pack541","productName":"Dimensionsloch Paket D","purchaseTime":1647583747000,"purchaseTimeMillis":1647583747000,"purchaseState":0,"developerPayload":"62252009","purchaseToken":"0000017f9ba4dc8458dfe4ccd3fa461b558f00bfdd4170c2d79b7d9cdd82dc7e808906b538fd2d30x4445.7.102298415","responseCode":"0","consumptionState":1,"confirmed":1,"currency":"EUR","price":2999,"country":"DE","payOrderId":"DCB2C202203180709056166E8EBF15","payType":"6","sdkChannel":"1"},"dataSignature":"P56dXDN9HP1IYeMTj2Q\/Zhvt2uepF4ws9\/xZ9mPijEQVcoN3iGFOwPqO1pXlMPOA8lAIrD3yEqj3IIoZe7pPkirUq+cUaQVoC7p7ZbYfdME36AmSAVyTeQd3XflYF0CgFQDG0yX6nvp2MXt3fpXGvxM2uDg1eFUUonOWw9yCx9+oaGAZtM3RuVY59uU9lRKUAVJtSoOS6MdrkTmeHKd9kCkgg27K19M1IDVQ9GhOSRgDZ\/\/\/8PXD4zHLnGCSxgG0HSrmHg9s341IFn1apAsWiMNToMseMLajKvkukuIbfdocavmiISeUBGNeEz5OLXg0cJ8c1Pi2K+Fa7NlGteOY\/44QjC5JelEcbYFFOjSL\/kljGyaAR\/pJyA1vnwcq9DZACPZRc7WeMp0qdcB742QV+PlgaJkaZTyao7ml1gmY4BPixbskcF6boYsQrn6pEwaIvKfaFnKjpLuSZV2uwi802\/Y2Tp\/RIRQ\/9EsKnsdXcPjveX7SME4ywSBzUxJQHrkD","signatureAlgorithm":"SHA256WithRSA"},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"VI_10","hiveiap_market_id":10,"hiveiap_market_pid":"com.com2us.hivesdk.android.vivo.global.normal.vivo.test1","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"2b0da7d2-516c-4287-bb07-b4ec9bb203f2","hiveiap_receipt":{"transNo":"2021070615274948500013716390","uid":"230319471","vid":null,"productId":"com.com2us.hivesdk.android.vivo.global.normal.vivo.test1","cpOrderNumber":"2b0da7d2-516c-4287-bb07-b4ec9bb203f2","productPrice":"1","is_reorder":false},"hiveiap_receipt_verify_result":{"orderNumber":"2021070615274948500013716390","payTime":"20210706152822","signature":"d1ab6329f319dedd30ab1a75b0d8b291","cpId":"ac83f61628c7b70678dc","cpOrderNumber":"2b0da7d2-516c-4287-bb07-b4ec9bb203f2","extInfo":"com.com2us.hivesdk.android.vivo.global.normal.vivo.test1","uid":"d2545fe46e1d4523","orderAmount":"1","tradeStatus":"0000","appId":"105479058","respMsg":"\u67e5\u8be2\u6210\u529f","respCode":"200","tradeType":"01","market_pid":"com.com2us.hivesdk.android.vivo.global.normal.vivo.test1"},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Fri, 18 Mar 2022 01:38:41 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"OP_6","hiveiap_market_id":9,"hiveiap_market_pid":"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter.test1","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"3406744a-7cea-498e-a477-bb3edf75c9ee","hiveiap_receipt":{"orderId":"3406744a-7cea-498e-a477-bb3edf75c9ee","uid":"230281604","vid":null,"productId":"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter.test1","oppoUid":"724131521"},"hiveiap_receipt_verify_result":{"productDesc":"\u00a50.01 test1","partnerOrder":"3406744a-7cea-498e-a477-bb3edf75c9ee","price":"1","count":"1","notifyId":"GC202107061507146670701900000","attach":"{\"market_pid\":\"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter.test1\",\"oppoUid\":\"724131521\",\"appId\":\"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter\"}","productName":"test1","productId":"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter.test1","market_pid":"com.com2us.hivesdk.android.oppo.global.normal.nearme.gamecenter.test1","verifyStatus":"SUCCESS","signature":"huYbUAy1gPJkRbMxfJYpoY7C3hGdRjJRMc65cJNZcsobdZk7SBa8H5XyeYcOcE+hgkv\/VjIyEZJgCvB53UcGGKj9jOAyjlDuOdLx"},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}
< HTTP/2 200
< server: nginx
< date: Mon, 21 Mar 2022 07:03:10 GMT
< content-type: text/html; charset=utf-8
{"result":0,"result_msg":"success","hiveiap_transaction_id":"XI_6","hiveiap_market_id":12,"hiveiap_market_pid":"com.com2us.hivesd.mi.10002","hiveiap_quantity": 1,"hiveiap_market_transaction_id":"7096c47b-af04-45ca-a59b-f79dccb4486d","hiveiap_receipt":{"cpOrderId":"7096c47b-af04-45ca-a59b-f79dccb4486d","uid":"229028754","vid":"null","productCode":"com.com2us.hivesd.mi.10002","xiaomiUid":"2021040203347007"},"hiveiap_receipt_verify_result":{"appId":"2882303761519022470","cpOrderId":"7096c47b-af04-45ca-a59b-f79dccb4486d","orderId":"20210427155358360164migc","orderStatus":"TRADE_SUCCESS","payFee":"10","payTime":"2021-04-27 15:54:06","productCode":"com.com2us.hivesd.mi.10002","productCount":"1","productName":"\u6d4b\u8bd501","uid":"2021040203347007","market_pid":"com.com2us.hivesd.mi.10002","signature":"ff438bfa4392c328a5a043bd323a47689cffabce"},"hiveiap_purchase_cancel_state":0,"hiveiap_purchase_test":"N","hiveiap_iap_payload": null,"hiveiap_account_uuid_compare": 1,"hiveiap_price":"1200","hiveiap_currency":"KRW","gameserver_price_verify_key":null}