公众号,小程序微信支付基于PHP后端,附完整流程【小白教程,大神绕道,附支付错误解决办法】

1

公众号,小程序微信支付基于PHP后端,附完整流程【小白教程,大神绕道,附支付错误解决办法】

我可以帮助你描述完整的流程。

前端配置

首先,我们需要在前端配置微信支付相关的代码。在这个例子中,我们使用微信自定义的一个方法:WeixinJSBridge.invoke()。这个函数只在微信中生效,其他浏览器会报错。

```javascript// 前端配置WeixinJSBridge.invoke('getBrandWCPayStatus', {

'appId': '你的APPID',

'timeStamp': '时间戳',

'nonceStr': '随机字符串',

'package': '包信息'

}, function(res) {

if (res.err_msg == "get_brand_wcpay_status:ok") {

// 支付成功 }

});

```

参数配置

在上面的代码中,我们需要填写几个参数:

* `appId`:你的微信公众号的APPID。

* `timeStamp`:时间戳,使用`Date.now()`函数获取。

* `nonceStr`:随机字符串,使用`Math.random()`函数生成。

* `package`:包信息,具体格式见下文。

后端配置

接下来,我们需要在后端配置支付相关的代码。在这个例子中,我们使用YII框架写一个PHP脚本来处理支付请求。

```php// 后端配置public function actionPay()

{

// 获取微信支付参数 $appId = Yii::$app->params['wechatAppId'];

$timeStamp = Yii::$app->request->post('timeStamp');

$nonceStr = Yii::$app->request->post('nonceStr');

$package = Yii::$app->request->post('package');

// 验证签名 $sign = WeChat::verifySign($appId, $timeStamp, $nonceStr);

if ($sign) {

// 支付成功 return $this->redirect(['success']);

} else {

// 支付失败 return $this->redirect(['error']);

}

}

```

支付错误解决办法

如果支付过程中出现错误,需要根据具体的错误信息进行处理。在这个例子中,我们使用YII框架提供的`ErrorAction`类来处理支付错误。

```php// 支付错误解决办法public function actionError()

{

// 获取错误信息 $error = Yii::$app->request->post('error');

// 处理错误信息 switch ($error) {

case 'PARAM_ERROR':

// 参数错误 return $this->redirect(['param-error']);

case 'SIGN_ERROR':

// 签名错误 return $this->redirect(['sign-error']);

default:

// 其他错误 return $this->redirect(['other-error']);

}

}

```

完整流程

综合上述内容,我们可以得到一个完整的支付流程:

1. 前端配置微信支付相关的代码。

2. 用户点击支付按钮,触发前端配置的函数。

3. 函数验证签名并将参数传递给后端。

4. 后端接收参数并进行验证。

5. 如果验证成功,则执行支付逻辑。

6. 如果验证失败,则跳转到错误页面。

以上就是一个完整的支付流程。

支付公众号小程序微信支付

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

上一篇 解决ios H5微信支付不能跳回App的问题

下一篇 微信公众号支付详细过程