PHP 微信支付V3

7

PHP 微信支付V3

微信支付V3 PHP 接口

微信支付V3 是微信支付平台提供的第三代支付接口,支持多种支付方式和场景。下面是关于微信支付V3 PHP 接口的详细描述。

1. 支付接口概述

微信支付V3 支持以下支付接口:

* 统一下单接口:用于生成预付款订单,支持多种支付方式。

* 付款接口:用于完成支付,支持多种支付方式。

* 退款接口:用于退还用户的支付金额。

2. 支付接口参数

以下是微信支付V3 支付接口所需参数:

统一下单接口

| 参数名称 | 必须 | 类型 |说明 |

| --- | --- | --- | --- |

| `appid` | 是 | string | 公众号或小程序的 appid |

| `mch_id` | 是 | string | 商户 ID |

| `nonce_str` | 是 | string | 随机字符串,32 位 |

| `body` | 是 | string | 商品描述 |

| `notify_url` | 是 | string | 回调 URL |

| `trade_type` | 是 | string | 支付类型(JSAPI、NATIVE、APP) |

| `spbill_create_ip` | 是 | string | IP 地址 |

| `total_fee` | 是 | int |金额,分 |

| `openid` | 否 | string | 用户 openid |

付款接口

| 参数名称 | 必须 | 类型 |说明 |

| --- | --- | --- | --- |

| `appid` | 是 | string | 公众号或小程序的 appid |

| `mch_id` | 是 | string | 商户 ID |

| `nonce_str` | 是 | string | 随机字符串,32 位 |

| `body` | 是 | string | 商品描述 |

| `notify_url` | 是 | string | 回调 URL |

| `trade_type` | 是 | string | 支付类型(JSAPI、NATIVE、APP) |

| `spbill_create_ip` | 是 | string | IP 地址 |

| `total_fee` | 是 | int |金额,分 |

| `openid` | 否 | string | 用户 openid |

退款接口

| 参数名称 | 必须 | 类型 |说明 |

| --- | --- | --- | --- |

| `appid` | 是 | string | 公众号或小程序的 appid |

| `mch_id` | 是 | string | 商户 ID |

| `nonce_str` | 是 | string | 随机字符串,32 位 |

| `out_trade_no` | 是 | string |交易单号 |

| `refund_fee` | 是 | int |退款金额,分 |

| `op_user_id` | 否 | string | 操作员 ID |

3. 支付接口返回

以下是微信支付V3 支付接口返回的数据:

统一下单接口

| 参数名称 | 类型 |说明 |

| --- | --- | --- |

| `appid` | string | 公众号或小程序的 appid |

| `mch_id` | string | 商户 ID |

| `nonce_str` | string | 随机字符串,32 位 |

| `prepay_id` | string | 预支付交易会话ID |

| `package` | string | 包名 |

| `sign` | string | 签名 |

付款接口

| 参数名称 | 类型 |说明 |

| --- | --- | --- |

| `appid` | string | 公众号或小程序的 appid |

| `mch_id` | string | 商户 ID |

| `nonce_str` | string | 随机字符串,32 位 |

| `prepay_id` | string | 预支付交易会话ID |

| `package` | string | 包名 |

| `sign` | string | 签名 |

退款接口

| 参数名称 | 类型 |说明 |

| --- | --- | --- |

| `appid` | string | 公众号或小程序的 appid |

| `mch_id` | string | 商户 ID |

| `nonce_str` | string | 随机字符串,32 位 |

| `refund_fee` | int |退款金额,分 |

| `return_code` | string | 返回状态码 |

| `return_msg` | string | 返回信息 |

4. 支付接口示例

以下是微信支付V3 支付接口的示例:

统一下单接口

```php

// 商户 ID$mch_id = 'your_mch_id';

// 随机字符串,32 位$nonce_str = uniqid('', true);

// 商品描述$body = '测试商品';

// 回调 URL$notify_url = ' 支付类型(JSAPI、NATIVE、APP)

$trade_type = 'JSAPI';

// IP 地址$spbill_create_ip = $_SERVER['REMOTE_ADDR'];

//金额,分$total_fee =100;

// 用户 openid$openid = 'your_openid';

// 统一下单接口 URL$url = ' 请求参数$params = [

'appid' => $appid,

'mch_id' => $mch_id,

'nonce_str' => $nonce_str,

'body' => $body,

'notify_url' => $notify_url,

'trade_type' => $trade_type,

'spbill_create_ip' => $spbill_create_ip,

'total_fee' => $total_fee,

'openid' => $openid,

];

// 请求接口$response = $params);

// 输出结果print_r($response);

function $data)

{

$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, curl_setopt($ch, CURLOPT_HEADER,0);

curl_setopt($ch, CURLOPT_HTTPHEADER, [

'Content-Type: application/x-www-form-urlencoded',

]);

$output = curl_exec($ch);

curl_close($ch);

return json_decode($output, true);

}

?>

```

付款接口

```php

// 商户 ID$mch_id = 'your_mch_id';

// 随机字符串,32 位$nonce_str = uniqid('', true);

// 商品描述$body = '测试商品';

// 回调 URL$notify_url = ' 支付类型(JSAPI、NATIVE、APP)

$trade_type = 'JSAPI';

// IP 地址$spbill_create_ip = $_SERVER['REMOTE_ADDR'];

//金额,分$total_fee =100;

// 用户 openid$openid = 'your_openid';

//付款接口 URL$url = ' 请求参数$params = [

'appid' => $appid,

'mch_id' => $mch_id,

'nonce_str' => $nonce_str,

'body' => $body,

'notify_url' => $notify_url,

'trade_type' => $trade_type,

'spbill_create_ip' => $spbill_create_ip,

'total_fee' => $total_fee,

'openid' => $openid,

];

// 请求接口$response = $params);

// 输出结果print_r($response);

function $data)

{

$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, curl_setopt($ch, CURLOPT_HEADER,0);

curl_setopt($ch, CURLOPT_HTTPHEADER, [

'Content-Type: application/x-www-form-urlencoded',

]);

$output = curl_exec($ch);

curl_close($ch);

return json_decode($output, true);

}

?>

```

退款接口

```php

// 商户 ID$mch_id = 'your_mch_id';

// 随机字符串,32 位$nonce_str = uniqid('', true);

//交易单号$out_trade_no = 'your_out_trade_no';

//退款金额,分$refund_fee =100;

//退款接口 URL$url = '

支付php微信

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

上一篇 微信小程序require报错

下一篇 微信内页面调用微信登录