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

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

以下代码是实现预下单与回调时的签名,具体可以查看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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值