微信企业支付 公众号付款到零钱(二)代码实现

14

微信企业支付 公众号付款到零钱(二)代码实现

微信企业支付公众号付款到零钱(二)代码实现

前言

在上一篇文章中,我们讨论了如何打通微信企业支付接口,并且提到了一个坑,即有序参数生成签名时,ksort()函数的使用。今天,我们将继续讨论如何实现公众号付款到零钱的功能。

参考官方文档

首先,我们需要参考微信官方文档,了解如何实现公众号付款到零钱的流程。根据官方文档,公众号付款到零钱涉及以下几个步骤:

1.生成预支付单2. 发起付款请求有序参数生成签名

在实现上述步骤之前,我们需要先生成一个签名。微信企业支付接口要求我们将参数值按照ASCII码值排序,然后使用ksort()函数来排序。

```phpfunction ksort($array) {

ksort($array);

}

//生成预支付单时的参数$prepay_id_params = array(

'appid' => 'your_appid',

'mch_id' => 'your_mch_id',

'nonce_str' => uniqid(),

'body' => '测试付款',

'total_fee' =>1,

);

// 将参数值按照ASCII码值排序ksort($prepay_id_params);

```

将参数值按照ASCII码值排序

在上面的代码中,我们使用了ksort()函数来排序参数值。ksort()函数会根据ASCII码值对数组进行排序。

```phpfunction ksort($array) {

ksort($array);

}

//生成预支付单时的参数$prepay_id_params = array(

'appid' => 'your_appid',

'mch_id' => 'your_mch_id',

'nonce_str' => uniqid(),

'body' => '测试付款',

'total_fee' =>1,

);

// 将参数值按照ASCII码值排序ksort($prepay_id_params);

```

解决ksort()函数的使用

在上面的代码中,我们使用了ksort()函数来排序参数值。然而,ksort()函数会将数组中的键名和值都进行排序,而我们只需要对值进行排序。

```phpfunction ksort($array) {

uksort($array, 'strnatcasecmp');

}

//生成预支付单时的参数$prepay_id_params = array(

'appid' => 'your_appid',

'mch_id' => 'your_mch_id',

'nonce_str' => uniqid(),

'body' => '测试付款',

'total_fee' =>1,

);

// 将参数值按照ASCII码值排序ksort($prepay_id_params);

```

生成预支付单

在上面的步骤中,我们已经将参数值按照ASCII码值排序,并且使用了ksort()函数来解决排序问题。现在,我们可以生成预支付单。

```phpfunction getPrePayId($params) {

$prepay_id_params = array(

'appid' => 'your_appid',

'mch_id' => 'your_mch_id',

'nonce_str' => uniqid(),

'body' => '测试付款',

'total_fee' =>1,

);

// 将参数值按照ASCII码值排序 ksort($prepay_id_params);

$sign = getSign($prepay_id_params);

$prepay_id_params['nonce_str'] = uniqid();

$prepay_id_params['sign'] = $sign;

return json_encode($prepay_id_params);

}

//生成预支付单$prepay_id = getPrePayId(array());

```

发起付款请求

在上面的步骤中,我们已经生成了预支付单。现在,我们可以发起付款请求。

```phpfunction pay($params) {

$pay_params = array(

'appid' => 'your_appid',

'mch_id' => 'your_mch_id',

'nonce_str' => uniqid(),

'prepay_id' => $prepay_id,

'sign' => getSign($pay_params),

);

return json_encode($pay_params);

}

// 发起付款请求$pay = pay(array());

```

总结

在本文中,我们讨论了如何实现公众号付款到零钱的功能。我们首先参考微信官方文档,了解了流程,然后使用ksort()函数来排序参数值,并且解决了ksort()函数的使用问题。最后,我们生成预支付单和发起付款请求。

参考

* 微信企业支付接口文档: PHP ksort()函数文档:

支付付款公众号微信企业支付零钱xml参数证书

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

上一篇 牛逼,个人开发者可以申请微信支付了!

下一篇 官方代付系统/支付宝微信代付/企业付款/提现秒到