java服务端验证谷歌支付Google Pay

翻阅大半个谷歌,对服务器验证账单,讲的少之又少,还TM没有看懂
查阅整个百度,发现几乎所有demo都是用世界上最好的语言php写的,这我
在此坐下记录希望能帮到有需要的人

支付流程

  1. 前端支付完成,谷歌返回一串明文的json,和一个签名
  2. 将这个两个交给自己服务端
  3. 服务端验证
  4. 服务端验证是不要请求谷歌的,这个梗我也纠结了很久,但是它就是这样,只是在本地通过谷歌后台提供的publicKey验证

前端返回数据长的样子

signtureData:
{"orderId":"1111111111.111111111111","packageName":"com.abc.item","productId":"com.abc.item.1","purchaseTime":1423197856877,"purchaseState":0,"purchaseToken":"dccfjnioeeojanngnfspekea.AO-J1OzsBdFJhqhLtvtybnQbBMxELYL4M-wClITbJFd-rpnPzYWCOlHyK69xgXBYN8lx99XfMBhD8JPg6u3SsgNvPt2hhbvogszRxjtA15rP-qWBYv_Rytw"}

signture:XCtoXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXy2Nyp047DV0f1VZ39CV7dCmLXouSFrYBxoS7NAVejgmHU+WXLLI61M4GjRrBMtEuW2HnUye8hfbsjlGfqI+MZDqAbfAi+3i6fPwIOwDS+tdAAU+VUz3cDyBubJhL+tZIa1uT6H0ifHN0KXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7xpsZTctzf09XGKdqNktrFbNm4pqHqDttEg98xmiP/oKyitZpLoNyvrk7nEXxUstGJhKejPt9wyn3il+s7cT3TD4xyEznxeBuD+zVa/sCXAZw==

验证代码

`
//result=true的话就成功了
boolean result = RSASignature.doCheck(signtureData, signture, publicKey);
`

工具类 :(其实就是普通的RSASignature类,代码来自网上)

下载地址:http://download.csdn.net/download/gege87417376/9990360
还有一个Base64的类,没有上传,你们就用你们自己的就行了

你可能感兴趣的:(java第三方集成,java,谷歌,支付,后端)