SampleTest.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. /**
  3. * YSDK PHP SDK调用示例代码,基于OpenAPI V3 PHP SDK改造
  4. *
  5. */
  6. require_once '../ysdks/Api.php';
  7. require_once '../ysdks/Ysdk.php';
  8. require_once '../ysdks/Payments.php';
  9. // 应用基本信息,需要替换为应用自己的信息,必须和客户端保持一致
  10. // 需要登录腾讯开放平台 open.qq.com,注册开发者,并创建移动应用,审核通过后可以获得APPID和APPKEY
  11. $appid = '1104936059';
  12. $appkey = 'i0o7LppGJSpNVGRE';
  13. // 应用支付基本信息,需要替换为应用自己的信息,必须和客户端保持一致
  14. // 需要登录腾讯开放平台管理中心 http://op.open.qq.com/,选择已创建的应用进入,然后进入支付结算,完成支付的接入配置
  15. $pay_appid = 1104936059;
  16. $pay_appkey = 'i0o7LppGJSpNVGRE';
  17. // YSDK后台API的服务器域名
  18. // 调试环境: ysdktest.qq.com
  19. // 正式环境: ysdk.qq.com
  20. // 调试环境仅供调试时调用,调试完成发布至现网环境时请务必修改为正式环境域名
  21. $server_name = 'ysdktest.qq.com';
  22. // 用户的OpenID,从客户端YSDK登录返回的LoginRet获取
  23. $openid = '1B3C4822236840403571E30922A8F088';
  24. // 用户的openkey,从客户端YSDK登录返回的LoginRet获取
  25. $openkey = '9F2806884C8703F7FEA1490B474940F4';
  26. // 支付接口票据, 从客户端YSDK登录返回的LoginRet获取
  27. $pay_token='CC3CB5E77BDA623016CFA3162DA3EFA8';
  28. // 支付接口票据, 从客户端YSDK登录返回的LoginRet获取
  29. $pf='desktop_m_qq-73213123-android-73213123-qq-100703379-0EF80D52AE52324D51958FE6EDC3DBF3';
  30. // 支付接口票据, 从客户端YSDK登录返回的LoginRet获取
  31. $pfkey= '94d7e9a1f441b69f26b113214760100e';
  32. // 支付分区, 需要先在open.qq.com接入支付结算,并配置了分区
  33. // 注意是分区ID,默认为1,如果在平台配置了分区需要传入对应的分区ID!
  34. $zoneId=1;
  35. //
  36. $wx_openid = 'opWlHuN5MPswXCKIt_rslK3rVzhY';
  37. $wx_accesstoken = 'OezXcEiiBSKSxW0eoylIeHt0vm7XnDERywoT8nPtKwlPeqSpnNNSptvs4gDKDUF7F9RkD2Mw4RKvDt3iZaaVwWcOUPRGPZz71XtIOLWUvz6ROv-_GELuQcL9PXc4Ngj_f-gXQoL0eFludWU86-lg1w';
  38. $wx_appid = 'wxfcefed3f366fa606';
  39. /// 当前UNIX时间戳
  40. $ts=time();
  41. // 用户的IP,可选,默认为空
  42. $userip = '';
  43. //支付相关参数
  44. $zoneid=1;
  45. // 创建YSDK实例
  46. $sdk = new Api($appid, $appkey);
  47. // 设置支付信息
  48. $sdk->setPay($pay_appid, $pay_appkey);
  49. // 设置YSDK调用环境
  50. $sdk->setServerName($server_name);
  51. if ($argc != 2) {
  52. echo_help();
  53. }
  54. $fun = $argv[1];
  55. if($fun == 'help'){
  56. echo_help();
  57. }
  58. if($fun == 'qq_check_token'){
  59. $params = array(
  60. 'appid' => $appid,
  61. 'openid' => $openid,
  62. 'openkey' => $openkey,
  63. 'userip' => $userip,
  64. 'sig' => md5($appkey.$ts),
  65. 'timestamp' => $ts,
  66. );
  67. $ret = qq_check_token($sdk, $params);
  68. print_r("============== qq_check_token ================\n");
  69. print_r($ret);
  70. }
  71. elseif($fun == 'wx_check_token'){
  72. $params = array(
  73. 'appid' => $wx_appid,
  74. 'openid' => $wx_openid,
  75. 'userip' => $userip,
  76. 'sig' => md5($appkey.$ts),
  77. 'access_token' => $wx_accesstoken,
  78. 'timestamp' => $ts,
  79. );
  80. $ret = wx_check_token($sdk, $params);
  81. print_r("============== wx_check_token ================\n");
  82. print_r($ret);
  83. }
  84. elseif($fun == 'get_balance_m'){
  85. $params = array(
  86. 'openid' => $openid,
  87. 'openkey' => $openkey,
  88. 'pay_token' => $pay_token,
  89. 'ts' => $ts,
  90. 'pf' => $pf,
  91. 'pfkey' => $pfkey,
  92. 'zoneid' => $zoneid,
  93. );
  94. $accout_type='qq';
  95. $ret = get_balance_m($sdk, $params,$accout_type);
  96. print_r("============== get_balance_m ================\n");
  97. print_r($ret);
  98. }
  99. elseif($fun == 'pay_m'){
  100. $amt = 10;
  101. $params = array(
  102. 'openid' => $openid,
  103. 'openkey' => $openkey,
  104. 'pay_token' => $pay_token,
  105. 'ts' => $ts,
  106. 'pf' => $pf,
  107. 'pfkey' => $pfkey,
  108. 'zoneid' => $zoneid,
  109. 'amt' => $amt,
  110. );
  111. $accout_type='qq';
  112. $ret = pay_m($sdk, $params, $accout_type);
  113. print_r("============== pay_m ================\n");
  114. print_r($ret);
  115. }
  116. elseif($fun == 'present_m'){
  117. $discountid = '';
  118. $giftid = '';
  119. $presenttimes = 50;
  120. $params = array(
  121. 'openid' => $openid,
  122. 'openkey' => $openkey,
  123. 'pay_token' => $pay_token,
  124. 'ts' => $ts,
  125. 'pf' => $pf,
  126. 'pfkey' => $pfkey,
  127. 'zoneid' => $zoneid,
  128. 'discountid' => $discountid,
  129. 'giftid' => $giftid,
  130. 'presenttimes' => $presenttimes
  131. );
  132. $accout_type='qq';
  133. $ret = present_m($sdk, $params, $accout_type);
  134. print_r("============== present_m ================\n");
  135. print_r($ret);
  136. }
  137. else{
  138. print_r("=============fun参数缺失或者输入参数错误==============\n");
  139. echo_help();
  140. }
  141. function echo_help(){
  142. print_r("============YSDK PHP SDK测试帮助===============\n");
  143. print_r("============php SampleTest.php qq_check_token 验证手Q的登录态==================\n");
  144. print_r("============php SampleTest.php wx_check_token 验证微信的登录态===============\n");
  145. print_r("============php SampleTest.php get_balance_m 获取用户游戏币余额===============\n");
  146. print_r("============php SampleTest.php pay_m 扣除游戏币接口===============\n");
  147. }
  148. // end of script