php打开qq进行支付,PHP QQ小游戏支付签名

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:08   2905   0

小游戏支付提供玩家在小游戏中购买道具的能力

以下代码是实现预下单与回调时的签名,具体可以查看QQ小游戏支付

/**qq小游戏预下单签名

* @param array $data

* @param string $session_key

* @return string

*/

public function setPrePaySign(array $data,string $session_key){

unset($data['sig']);

//1.请求方法: POST

$str='POST&';

//2.下单url中的path(/api/json/openApiPay/GamePrePay)部分,做标准的url Encoding,

$path=urlencode('/api/json/openApiPay/GamePrePay');

//3.请求参数按字典排序,并用"&"拼接, 注意空字段不参与排序

$data=array_filter($data);

ksort($data);

$query=http_build_query($data);

//4.拼接session_key,用户登录时开发者后台可以通过code2session接口获取到

$last_str=$str.$path.'&'.$query.'&session_key='.$session_key;

$h= hash_hmac('sha256', $last_str, $session_key,true);

return bin2hex($h);

}

/**回调签名

* @param array $data

* @param string $session_key

* @return string

*/

public function setCallbackSign(array $data,string $session_key){

unset($data['sig']);

//1.请求方法: POST

$str='POST&';

//2.下单url中的path(/api/json/openApiPay/GamePrePay)部分,做标准的url Encoding,

$path=urlencode('/pay/callback');

//3.请求参数按字典排序,并用"&"拼接, 注意空字段不参与排序

$data=array_filter($data);

ksort($data);

$query=http_build_query($data);

//4.拼接session_key,用户登录时开发者后台可以通过code2session接口获取到

$last_str=$str.$path.'&'.$query.'&AppSecret='.$session_key;

$h= hash_hmac('sha256', $last_str, $session_key,true);

return bin2hex($h);

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP