在接google play的充值渠道,用户购买和支付都在客户端完成操作,用户支付完成后,客户端会下发支付信息给充值平台(php开发的),充值平台需要验证这些信息的合法性。请教有开发过的同学,如何使用php验证支付信息。

订单相关信息

"nonce" : 1836535032137741465,

"orders" :

[{ "notificationId" : "android.test.purchased",

"orderId" : "transactionId.android.test.purchased",

"packageName" : "com.example.dungeons",

"productId" : "android.test.purchased",

"developerPayload" : "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",

"purchaseTime" : 1290114783411,

"purchaseState" : 0,

"purchaseToken" : "rojeslcdyyiapnqcynkjyyjh" }]

}

得到高人的指点。可以这么验证。

$signture_data='{"nonce":2923936465474897294,"orders":[{"notificationId":"android.test.purchased","orderId":"transactionId.android.test.purchased","packageName":"com.kunlun.fysg.test","productId":"android.test.purchased","purchaseTime":1346916115611,"purchaseState":0}]}';

$signture='';

//google app 提供的public key

$public_key="";

$public_key=chunk_split($public_key,64,"\n")."-----END PUBLIC KEY-----";

$public_key_handle=openssl_get_publickey($public_key);

$result=openssl_verify($signture_data,base64_decode($signture),$public_key_handle,OPENSSL_ALGO_SHA1);

if($result==1)

{

echo"good";

}

elseif($ok==0)

{

echo"bad";

}

else

{

echo"ugly, error checking signature";

}

google play 内购回调 php,google play支付如何用php验证订单完成的合法性相关推荐

  1. Google play内购 Iab

    Google Play 内购 In-App-Billing在Android项目或者Cocos2dx/Unity项目中的集成. 最近在做一个游戏的海外版,需要加内购,碰到一些坑,这里记录下来,希望能对大 ...

  2. GooglePlay内购接入错误Google Play In-app Billing API version is less than 3

    接入谷歌内购时,代码部分接入好了,于是打算开始测试,但是打开应用后初始化时一直提示错误:Google Play In-app Billing API version is less than 3.看名 ...

  3. java集成Google Pay内购

    挺简单的直接上代码: api入参 @Data @ApiModel("google支付表单信息") public class GooglePayForm {/*** 包名*/@Api ...

  4. 苹果内购、支付宝微信app支付H5支付、退款

    /*** @author: tjr* @Date: 2021/4/20 15:11* @Description: 支付接口*/ @Slf4j @RestController @RequestMappi ...

  5. PHP苹果内购回调处理

    public function notify(){$response = file_get_contents( "php://input");$result = json_deco ...

  6. 为什么苹果内购总是失败_IOS用户支付失败 购买无法完成解决教程

    格斗江湖iOS系统用户玩家,最近在充值的时候出现无法完成或者充值失败提示. 这是怎么回事呢?出现上面的提示时,我们首先需要从自己"可控"的范围内查找原因. 一.未越狱系统 1.检查 ...

  7. Google内购--封装版

    最近老大提出了一个需求,在应用里面加一个内购.由于之前没做过这块,所以百度一番.网上都是讲的使用一大堆的utils.还要加一个aidl文件.感觉挺麻烦的.最终让我找到了:com.android.bil ...

  8. google内购In-App Billing

    本帖地址:http://blog.csdn.net/jinjian2009/article/details/9140891 这周做了google的内购,没搞过google的内购还是觉得比较繁琐的 go ...

  9. GooglePlay内购In-app SDK接入

    文章转载自:https://gitee.com/tjbaobao/GoogleBuillingUtil/blob/master/GoogleBillingUtil.java README.md: 基于 ...

最新文章

  1. 【Qt】QtCreator导入cmake工程
  2. python有序字典_python 学习 有序字典
  3. 51CTO采访Cisco专家何凌:实现整体虚拟化
  4. 三插头内部结构图_10寸三防加固平板电脑 条码数据采集器 工业级耐摔防爆 高清屏幕带网口串口 支持航空插头...
  5. Codeforces 813B The Golden Age(数学+枚举)
  6. 牛逼!Docker遇到Intellij IDEA,再次解放了生产力~
  7. win10win键无反应_最新Science:强烷基CH键的无定向硼化作用
  8. java xmlrpc2.0 实现_简单的java xmlrpc
  9. 主流的计算机电源,主流电源评测
  10. 用python为喜欢的人写一个程序,每天发送贴心的消息
  11. leetcode - 376. 摆动序列
  12. 弹出无边框网页的Javscrpt代码
  13. 【Java TCP/IP Socket】 — close()/shutdownOutput()/shutdownInput() 分析
  14. 解决浏览器拦截弹出窗口问题
  15. 写给初学者的话---linux使用说明
  16. opencv实现xld_halcon学习网
  17. 晶闸管触发电路的基本要求
  18. understand 代码解析工具的使用
  19. java画太极加图片_使用Java 2D绘制黑白太极图案
  20. mysql gtid 1236错误_错误1236

热门文章

  1. 两种方式可获得2022年工程师职称
  2. 扫雷C语言(包括拓展和雷点标记)
  3. 4种方法教你如何用动态影像提升网页魅力
  4. 为什么安监控需要公网ip_视频监控系统分布式集中监控对宽带有何要求?带宽得多大?...
  5. 鸿蒙系统息屏显示动画,魅族Flyme 9:支持息屏显示 Alive壁纸
  6. 不是吧阿sir,十月一都在吃吃吃?不趁假期来复习java?
  7. 房地产营销19讲之读书笔记
  8. 霍尼韦尔携手天地互联为中国航司提供机上高速互联解决方案;思享无限正式开启数字艺术品试点计划 | 全球TMT...
  9. Word添加页眉的方法
  10. Linux命令date 日期时间和Unix时间戳互转