php微信支付

12

php微信支付

PHP微信支付详细描述

使用场景

在现今的移动互联网时代,微信已经成为人们日常生活中的重要工具之一。在微信中,用户可以通过消息或扫描二维码打开网页进行各种操作。其中一个非常重要的功能就是微信支付。商户已有H5商城网站,可以利用微信内置浏览器的优势,让用户在微信内直接完成下单购买。

说明

1. 用户打开图文消息或者扫描二维码,在微信内置浏览器打开网页进行的支付:当用户收到商户发送的图文消息或扫描二维码时,会自动在微信内置浏览器中打开网页。这个过程中,用户可以直接在微信内完成下单购买。

2. 商户提供H5商城网站:商户需要准备一个H5商城网站,这个网站需要支持微信支付功能。这样,当用户在微信内打开网页时,可以直接进行支付。

PHP微信支付流程

1. 用户点击图文消息或扫描二维码:用户收到商户发送的图文消息或扫描二维码后,会自动在微信内置浏览器中打开网页。

2. 微信内置浏览器打开网页:微信内置浏览器打开网页后,用户可以直接在网页上进行下单购买。

3. 用户选择商品并添加到购物车:用户在网页上选择需要购买的商品,并将其添加到购物车中。

4. 用户点击结算按钮:用户点击结算按钮后,系统会自动跳转到微信支付页面。

5. 微信支付页面显示:微信支付页面显示给用户,用户可以在此页面选择支付方式(如微信余额、银行卡等)。

6. 用户完成支付:用户完成支付后,系统会自动返回商户的H5商城网站,并显示支付成功信息。

PHP微信支付接口

1. 统一下单接口:这个接口用于生成预付款订单,需要传入相关参数,如商户ID、商品名称、金额等。

2. 查询订单状态接口:这个接口用于查询订单的状态,需要传入相关参数,如商户ID、订单号等。

3. 关闭订单接口:这个接口用于关闭订单,需要传入相关参数,如商户ID、订单号等。

PHP微信支付示例代码

```php

$url = ' $data = array(

'appid' => $params['appid'],

'mch_id' => $params['mch_id'],

'nonce_str' => $params['nonce_str'],

'body' => $params['body'],

'total_fee' => $params['total_fee'],

'trade_type' => $params['trade_type']

);

$data = json_encode($data);

$sign = sign($data, $params['key']);

$data .= '&sign=' . $sign;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch, CURLOPT_POST,1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

return json_decode($response, true);

}

//查询订单状态接口function orderQuery($params) {

$url = ' $data = array(

'appid' => $params['appid'],

'mch_id' => $params['mch_id'],

'nonce_str' => $params['nonce_str'],

'out_trade_no' => $params['out_trade_no']

);

$data = json_encode($data);

$sign = sign($data, $params['key']);

$data .= '&sign=' . $sign;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch, CURLOPT_POST,1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

return json_decode($response, true);

}

//关闭订单接口function closeOrder($params) {

$url = ' $data = array(

'appid' => $params['appid'],

'mch_id' => $params['mch_id'],

'nonce_str' => $params['nonce_str'],

'out_trade_no' => $params['out_trade_no']

);

$data = json_encode($data);

$sign = sign($data, $params['key']);

$data .= '&sign=' . $sign;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch, CURLOPT_POST,1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

return json_decode($response, true);

}

//签名函数function sign($data, $key) {

$sign = '';

foreach (explode('&', $data)) {

if (!empty($sign)) {

$sign .= '&';

}

$sign .= explode('=', explode('=', explode('=', $GLOBALS['HTTP_RAW_POST_DATA'])[0])[0])[1];

}

return md5($key . $sign);

}

?>

```

以上是PHP微信支付的详细描述和示例代码。

支付

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信小程序支付流程(前端)

下一篇 Andorid微信刷脸支付使用过程解析