PHP微信支付(JSAPI)接入

14

PHP微信支付(JSAPI)接入

PHP微信支付(JSAPI)接入详细描述

一、申请相关配置1. 微信公众号配置在微信公众平台中,需要创建一个公众号,并且配置appid和secret。

* 步骤:

* 登录微信公众平台( * 创建或选择一个公众号 * 进入"设置"-"基本信息"中,找到"AppID"和"AppSecret"

* 复制appid和secret,用于后续配置2. 微信商户配置在微信商户平台中,需要创建一个商户,并且配置支付目录和商户Key。

* 步骤:

* 登录微信商户平台( * 创建或选择一个商户 * 进入"设置"-"基本信息"中,找到"支付目录"和"商户Key"

* 复制支付目录和商户Key,用于后续配置 二、业务流程 第一步:获取用户的openid(JSAPI才会用到)

在微信公众平台中,需要使用JS-SDK来获取用户的openid。

* 步骤:

* 在网页中引入微信JS-SDK * 调用wx.login()方法,获取临时登录凭证code * 使用code换取openid和session_key 第二步:生成预支付订单在微信商户平台中,需要使用API来生成预支付订单。

* 步骤:

* 使用POST方式调用 *传递相关参数,如appid、mch_id、nonce_str等 * 接收返回的prepay_id 第三步:微信支付异步通知在微信商户平台中,需要配置回调地址来接收异步通知。

* 步骤:

* 在微信商户平台中,设置回调地址 * 等待微信服务器发送异步通知 第四步:手动查询订单在微信商户平台中,需要使用API来手动查询订单。

* 步骤:

* 使用POST方式调用 *传递相关参数,如appid、mch_id、transaction_id等 * 接收返回的订单信息 最后支付成功在微信商户平台中,需要配置回调地址来接收异步通知。

* 步骤:

* 等待微信服务器发送异步通知 * 根据通知内容进行处理 三、PHP代码示例以下是使用PHP语言实现微信支付JSAPI的示例代码:

```php

if ($code) {

$url = ' . APPID . '&secret=' . SECRET . '&js_code=' . $code . '&grant_type=authorization_code';

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

$openid = json_decode($response)->openid;

} else {

$openid = '';

}

//2.生成预支付订单$prepay_id = '';

$url = ' = array(

'appid' => APPID,

'mch_id' => MCH_ID,

'nonce_str' => uniqid(),

'body' => '测试',

'total_fee' =>1,

);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, = curl_exec($ch);

curl_close($ch);

$prepay_id = json_decode($response)->prepay_id;

//3. 微信支付异步通知if (isset($_GET['notify_url'])) {

$url = $_GET['notify_url'];

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

}

//4. 手动查询订单$url = ' = array(

'appid' => APPID,

'mch_id' => MCH_ID,

'transaction_id' => TRANSACTION_ID,

);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, = curl_exec($ch);

curl_close($ch);

$order_info = json_decode($response);

//5. 最后支付成功if ($order_info->result_code == 'SUCCESS') {

// 处理支付成功的逻辑}

?>

```

以上是使用PHP语言实现微信支付JSAPI的示例代码。

支付微信php开发语言

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

上一篇 微信支付详解

下一篇 坑爹的微信支付(签名错误)