php扣费代码,微信支付-扣费服务开发者文档

21

php扣费代码,微信支付-扣费服务开发者文档

微信支付-扣费服务开发者文档

安全规范

1. 签名算法签名生成的通用步骤如下:

第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&...&keyN=valueN)。

例如:appid=1234567890&attach=12345&body=测试&detail=测试&mch_id=1234567890&mch_billno=20150826100001&nonce_str=abc123¬ify_url= 第二步,利用签名算法生成签名。

微信支付接口中使用的签名算法为MD5或HMAC-SHA256。具体如下:

* MD5:将所有发送或者接收到的数据按照字典序排序后,拼接成一个字符串,然后用MD5进行加密。

* HMAC-SHA256:将所有发送或者接收到的数据按照字典序排序后,拼接成一个字符串,然后用HMAC-SHA256进行加密。

2. 加密算法微信支付接口中使用的加密算法为AES-128-CBC。具体如下:

* 将明文数据进行AES-128-CBC加密。

* 使用16进制编码将加密后的数据转换成字符串。

3. 数字证书微信支付接口中使用的数字证书为X509v3。具体如下:

* 使用RSA-2048算法生成私钥和公钥。

* 将公钥编码成PEM格式,作为数字证书。

4. 安全通信微信支付接口中使用的安全通信协议为TLS1.2或以上版本。具体如下:

* 使用RSA-2048算法进行密钥交换。

* 使用AES-128-CBC算法进行数据加密。

* 使用SHA256算法进行消息摘要。

5. 安全验证微信支付接口中使用的安全验证协议为HMAC-SHA256。具体如下:

* 将所有发送或者接收到的数据按照字典序排序后,拼接成一个字符串,然后用HMAC-SHA256进行加密。

* 使用SHA256算法对加密后的数据进行消息摘要。

微信支付-扣费服务开发者文档

1. 接口概述微信支付-扣费服务是微信支付提供的扣费接口,支持多种类型的扣费,如余额扣费、卡扣费等。具体如下:

* 支持余额扣费:将用户的余额进行扣减。

* 支持卡扣费:将用户的卡账户进行扣减。

2. 接口参数微信支付-扣费服务接口中使用的参数如下:

| 参数名称 | 必须 | 类型 | 描述 |

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

| appid | 是 | string | 应用ID |

| attach | 否 | string | 附加信息 |

| body | 是 | string | 扣费描述 |

| detail | 否 | string | 扣费详细信息 |

| mch_id | 是 | string | 商户ID |

| mch_billno | 是 | string | 商户单据号 |

| nonce_str | 是 | string | 随机字符串 |

| notify_url | 是 | string | 通知URL |

| partner_key | 是 | string | 商户密钥 |

| sign_type | 是 | string | 签名类型 |

| spbill_create_ip | 否 | string | 扣费IP |

| trade_no | 否 | string | 扣费单号 |

| transaction_id | 否 | string |交易ID |

3. 接口返回微信支付-扣费服务接口中使用的返回值如下:

* code:返回码* message:返回信息* data:返回数据具体如下:

| 返回参数名称 | 类型 | 描述 |

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

| code | int | 返回码 |

| message | string | 返回信息 |

| data | object | 返回数据 |

4. 接口示例以下是微信支付-扣费服务接口的示例:

```php

// attach$attach = '12345';

// body$body = '测试';

// detail$detail = '测试';

// mch_id$mch_id = '1234567890';

// mch_billno$mch_billno = '20150826100001';

// nonce_str$nonce_str = 'abc123';

// notify_url$notify_url = ' partner_key$partner_key = '1234567890123456789';

// sign_type$sign_type = 'MD5';

// spbill_create_ip$spbill_create_ip = '192.168.1.1';

// trade_no$trade_no = '201508261000010001';

// transaction_id$transaction_id = '1409622873';

// 接口请求$url = ' = array(

'appid' => $appid,

'attach' => $attach,

'body' => $body,

'detail' => $detail,

'mch_id' => $mch_id,

'mch_billno' => $mch_billno,

'nonce_str' => $nonce_str,

'notify_url' => $notify_url,

'partner_key' => $partner_key,

'sign_type' => $sign_type,

'spbill_create_ip' => $spbill_create_ip,

'trade_no' => $trade_no,

'transaction_id' => $transaction_id);

// 接口返回$response = json_decode(file_get_contents($url, false, stream_context_create(array(' => array(

'method' => 'POST',

'content' => 'header' => 'Content-Type: application/x-www-form-urlencoded'

)))), true);

// 返回信息echo $response['code'] . "

";

echo $response['message'] . "

";

// 返回数据echo json_encode($response['data']) . "

";

?>

```

以上是微信支付-扣费服务接口的示例代码。具体如下:

* appid:应用ID* attach:附加信息* body:扣费描述* detail:扣费详细信息* mch_id:商户ID* mch_billno:商户单据号* nonce_str:随机字符串* notify_url:通知URL* partner_key:商户密钥* sign_type:签名类型* spbill_create_ip:扣费IP* trade_no:扣费单号* transaction_id:交易ID以上是微信支付-扣费服务接口的示例代码。具体如下:

* code:返回码* message:返回信息* data:返回数据

支付php扣费代码

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

上一篇 企业微信认证费用及年审的问题(收藏)

下一篇 微信小程序“虚拟支付”问题汇总