什么是php demo,PHP Demo

### [示例参考] PHP Demo

### PHP 获取Openid

~~~

$param = [

'appid'=>'123456',

'mchid'=>'123456',

'redirect_url'=>urlencode('http://dasda.test')

];

$key = '8BDF48C6519425';

$url = 'http://dasda.test/api/openid';

ksort($param);

$sign = '';

foreach ($param as $k => $v) {

$sign.=$k.'='.$v.'&';

}

$sign = trim($sign,'&');

$sign = md5($sign.$key);

$url = $url.'?appid='.$param['appid'].'&redirect_url='.$param['redirect_url'].'&mchid='.$param['mchid'].'&sign='.$sign;

echo $url;

~~~

### PHP 拉起JsPay案例

~~~

$param = [

'appid'=>'123456',

'name'=>'cs',

'type'=>'jsapi',

'money'=>'0.01',

'out_trade_no'=>'15732093209338',

'notify_url'=>'http://dasda.test',

'mchid'=>'123456',

'openid'=>'通过Openid接口获取',

];

$key = '8BDF48C65144C7A309425';

$url = 'http://dasda.test/api/payment';

ksort($param);

$sign = '';

foreach ($param as $k => $v) {

$sign.=$k.'='.$v.'&';

}

$sign = trim($sign,'&');

$param['sign'] = md5($sign.$key);

$row_curl = curl_init();

curl_setopt($row_curl, CURLOPT_URL, $url);

curl_setopt($row_curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($row_curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($row_curl, CURLOPT_CONNECTTIMEOUT , 30);

curl_setopt($row_curl, CURLOPT_TIMEOUT, 30);

curl_setopt($row_curl, CURLOPT_POST, 1);

curl_setopt($row_curl, CURLOPT_POSTFIELDS, $param);

curl_setopt($row_curl, CURLOPT_ENCODING, "gzip");

curl_setopt($row_curl, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($row_curl);

curl_close($row_curl);

$packge = json_decode($data,true)['data']['packge'];

?>

//调用微信JS api 支付

function jsApiCall()

{

WeixinJSBridge.invoke(

'getBrandWCPayRequest',

<?php echo $packge;?>,

function(res){

console.log('这里可写检测是否支付完成代码')

}

);

}

function callpay()

{

if (typeof WeixinJSBridge == "undefined"){

if( document.addEventListener ){

document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);

}else if (document.attachEvent){

document.attachEvent('WeixinJSBridgeReady', jsApiCall);

document.attachEvent('onWeixinJSBridgeReady', jsApiCall);

}

}else{

jsApiCall();

}

}

window.onload = callpay();

~~~

### PHP 支付宝(获取支付链接)

~~~

$param = [

'appid'=>'123456',

'name'=>'cs',

'type'=>'alipay',

'money'=>'0.01',

'out_trade_no'=>'123456',

'notify_url'=>'http://dasda.test',

'mchid'=>'123456',

];

$key = '123456';

$url = 'http://dasda.test/api/payment';

ksort($param);

$sign = '';

foreach ($param as $k => $v) {

$sign.=$k.'='.$v.'&';

}

$sign = trim($sign,'&');

$param['sign'] = md5($sign.$key);

$row_curl = curl_init();

curl_setopt($row_curl, CURLOPT_URL, $url);

curl_setopt($row_curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($row_curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($row_curl, CURLOPT_CONNECTTIMEOUT , 30);

curl_setopt($row_curl, CURLOPT_TIMEOUT, 30);

curl_setopt($row_curl, CURLOPT_POST, 1);

curl_setopt($row_curl, CURLOPT_POSTFIELDS, $param);

curl_setopt($row_curl, CURLOPT_ENCODING, "gzip");

curl_setopt($row_curl, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($row_curl);

curl_close($row_curl);

$json = json_decode($data,true);

if(isset($json['data']['code_url'])){

echo $json['data']['code_url']; // OK 支付链接

}else{

echo $json['msg']; // 失败 显示错误信息

}

~~~

### PHP 支付宝(收银台H5)案例 ,微信收银台同理 更改Type参数为Cashier即可

~~~

$param = [

'appid'=>'123456',

'name'=>'cs',

'type'=>'alipay',

'money'=>'0.01',

'out_trade_no'=>'123456',

'notify_url'=>'http://dasda.test',

//收银台必须传入return_url参数

'return_url'=>'http://dasda.test',

'mchid'=>'123456',

];

$key = '123456';

$url = 'http://dasda.test/api/payment';

ksort($param);

$sign = '';

foreach ($param as $k => $v) {

$sign.=$k.'='.$v.'&';

}

$sign = trim($sign,'&');

$param['sign'] = md5($sign.$key);

?>

foreach ($param as $k => $v) {

echo "";

}

?>

~~~

### PHP 回调验签

~~~

$data = $_POST;

$sign = '';

ksort($data);

foreach ($data as $k => $v) {

if($v && $k !== 'sign') $sign .= $k . '=' . $v . '&';

}

$sign = md5(rtrim($sign, '&') . '你的KEY');

if($sign == $data['sign']) {

// 验签成功!可再次挑起查询接口二次验证 省略...

}

~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值