2.订单认证部分
仅仅对客户端收到的订单进行真伪认证,订单重复认证需要游戏服务器做。游戏服务器可使用googleOrderId和MD5(ios收据信息)作为唯一主键来防重复。
验证服务器地址
测试服内网地址(测试环境使用): http://47.74.6.73:8445
测试服外网地址(测试环境使用): https://sdkdevelop.cydonia.jp:8445
正式服内网地址(正式环境使用):http://192.168.41.198:8445
重要!!! 上线之前切换到正式版的SDK之后服务器端一定要使用正式环境的验证地址!
2.1 Google收据认证
说明
在玩家客户端调用充值接口拿到SDK返回数据之后,游戏客户端将数据传递给游戏服务器处理。游戏服务器可以利用此接口验证客户端传递过来的收据是否合法。正式服此验证走正式服的内网进行验证,上线之前一定要确认是否切换了地址。
接口
/verify/googlebilling
参数说明
cyGameId:游戏ID (字符串类型 String)
userId:客户端传过来的SDK的玩家ID (字符串类型 String)
userLevel: 玩家目前等级 (数字类型 Integer)
chargeAmount: 充值金额 (数字类型 Integer)
productId: 购买的商品ID (字符串类型 String)
googleOrderId:google订单ID (字符串类型 String)
packageName: 游戏包名 (字符串类型 String)
receiptData:收据内容 (字符串类型 String)
signature: 签名 (字符串类型 String)
purchaseToken: 购买Token (字符串类型 String)
【注意】userLevel和chargeAmount请使用数字类型传值
【注意】userId:Cydonia SDK生成的玩家ID
请求方式
示例
curl -k -X POST -H "Content-Type: application/json" -d "{\"cyGameId\":\"1111\",\"userId\":\"249265325139296256\",\"userLevel\":1,\"chargeAmount\":120,\"productId\":\"[Your ProductId]\",\"googleOrderId\":\"GPA.3378-4739-1503-49113\",\"packageName\":\"[Your Package]\", \"receiptData\": \"eyJvcmRlcklkIjoiR1BBLjMzNzgtNDczOS0xNTAzLTQ5MTEzIiwicGFja2FnZU5hbWUiOiJjb20ubW9ybmluZ3RlYy5zaGlubmF6dWtpIiwicHJvZHVjdElkIjoiY29tLm1vcm5pbmd0ZWMuc2hpbm5henVraS5nZW5zZWtpNjBfc2hva2FpIiwicHVyY2hhc2VUaW1lIjoxNTM5NjU3NjcyNzkxLCJwdXJjaGFzZVN0YXRlIjowLCJwdXJjaGFzZVRva2VuIjoiampsYWFibWFwY2RwaWZlaGtqbXBtamRqLkFPLUoxT3dJb1dSVGw2Yjg1dUQ4Z25lcGNSSDdDVk5NaEFlMDJmYWRLcldHaUtYTVVvMVBwM2dudHNZQVRCR3c5akxyam16LWlXY2pKX0hLNDhuNnMtcEtUekhTX2NjczdkcUVFUnRNTTI3U3NxRVRBSXlWTFVFV2ZnOHIyNXdnRVI5c19MSjJEREpQbGwtTGZQaFJQQnV4Znh0cEpITGtEMjR2MGNSelRvVHQ4WVJlMWs1ZzRQdyJ9\",\"signature\":\"ok/5qUVr8Jq+D8o1Voh3y3xvJjBQ1Cvm+eFXDc3AyjqhvFs35IRWpC62iCh3tFlhsbzZl3yCn6lI1ZseSYTrCsql9PByzZzSyQNwB7iY/F0vbyOf6iApf3Mh5habyxg2+yg/dvJSCvLNs8LkK5G2Cec/pQRxrWAVtC/ieOWa+WMYcHa6ZPCZFR9nchY7btg4d+gHn0MyO9j3cAmRS9b9/Um1luldF47xGfGGbJBX4RybTbeJjg1aBE1Gz0H1A5O0AUUPc4OLJXsQ3TQ2r6BXG0omn2g+NS5KJaejiHwcHd52S9z8y6MixfxfVJyOBkIYaptqV1JYLZwHp+uLh3n5Pg==\",\"purchaseToken\":\"jjlaabmapcdpifehkjmpmjdj.AO-J1OwIoWRTl6b85uD8gnepcRH7CVNMhAe02fadKrWGiKXMUo1Pp3gntsYATBGw9jLrjmz-iWcjJ_HK48n6s-pKTzHS_ccs7dqEERtMM27SsqETAIyVLUEWfg8r25wgER9s_LJ2DDJPll-LfPhRPBuxfxtpJHLkD24v0cRzToTt8YRe1k5g4Pw\"}" http://47.74.6.73:8445/verify/googlebilling
返回值:
验证成功:
{"status":200,"cydoniaBillingId":"XXXXXX","orderId":"XXXXX","productId":"XXXXXX"}
验证失败:
{"status":400}
2.2 Apple收据认证
说明
在玩家客户端调用充值接口拿到SDK返回数据之后,游戏客户端将数据传递给游戏服务器处理。游戏服务器可以利用此接口验证客户端传递过来的收据是否合法。正式服此验证走正式服的内网进行验证,上线之前一定要确认是否切换了地址。
接口
参数说明
userId:客户端传过来的Cydonia SDK玩家ID
【注意】userLevel和chargeAmount请使用数字类型传值
【注意】userId:Cydonia SDK生成的玩家ID
请求方式
示例
curl -k -X POST -H "Content-Type: application/json" -d "{\"cyGameId\": \"游戏ID\",\"userId\": \"玩家ID\",\"userLevel\":玩家等级,\"chargeAmount\":充值金额, \"productId\": \"购买的商品ID\",\"receiptData\": \"Apple购买返回的Base64加密的字符串\"}" http://XXX.XX.XX.XX:8445/verify/applebilling
验证成功:
{"status":200,"cydoniaBillingId":"XXXXXX","orderId":"XXXXX","productId":"XXXXXX"}
验证失败:
{"status":400}