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

请求方式

  • POST

示例

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返回数据之后,游戏客户端将数据传递给游戏服务器处理。游戏服务器可以利用此接口验证客户端传递过来的收据是否合法。正式服此验证走正式服的内网进行验证,上线之前一定要确认是否切换了地址。

接口

/verify/applebilling

参数说明

  • cyGameId:游戏ID

  • userId:客户端传过来的Cydonia SDK玩家ID

  • userLevel: 玩家目前等级

  • chargeAmount: 充值金额

  • productId: 购买的商品ID

  • receiptData:收据内容

【注意】userLevel和chargeAmount请使用数字类型传值

【注意】userId:Cydonia SDK生成的玩家ID

请求方式

  • POST

示例

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}  

Last updated