payment 项目2.0版本
这个功能与支付宝的批量付款到支付宝帐号功能类似。但是当前支付宝这个接口已经停止审核了。
当前很多提问平台就用到了这两个平台。比如[来问医生],你提的问题如果被人看了。医生得0.5元,你得0.5元。然后累积够1元后,[来问医生]就会通过微信的企业付款功能给你的微信余额增加1元。
代码调用
use Payment\
TransferContext;
use Payment\
Common\
PayException;
use Payment\
Config;
function createPayid()
{
return date(
'Ymdhis', time()).substr(floor(microtime()*
1000),
0,
1).rand(
0,
9);
}
$wxconfig = [
'app_id' =>
'wxa244db59a34996fc',
'mch_id' =>
'1331302101',
'md5_key' =>
'adslkfjiKQJLAIQLJ393201482333333',
'notify_url' =>
'http://test.helei.com/pay-notify.html',
'time_expire' =>
'14',
'cert_path' => dirname(
__FILE__) . DIRECTORY_SEPARATOR .
'wx' . DIRECTORY_SEPARATOR .
'apiclient_cert.pem',
'key_path' => dirname(
__FILE__) . DIRECTORY_SEPARATOR .
'wx' . DIRECTORY_SEPARATOR .
'apiclient_key.pem',
];
$transData = [
'trans_no' => createPayid(),
'trans_data' => [
[
'serial_no' => createPayid(),
'user_account' =>
'otijfvr2oMz3tXnaQdKKbQeeBmhM',
'user_name' =>
'愚不可及',
'trans_fee' =>
'1',
'desc' =>
'测试批量转款',
]
],
];
$refund =
new TransferContext();
try {
$type = Config::WEIXIN;
$refund->initTransfer(Config::WEIXIN,
$wxconfig);
$ret =
$refund->transfer(
$transData);
}
catch (PayException
$e) {
echo $e->errorMessage();
exit;
}
var_dump(
$ret);
请求参数
参数参数名参数说明是否必须
trans_no商户订单号商户订单号,需保持唯一性是trans_data转账数据转账数据详细信息,具体内容如下是
trans_data数据
参数参数名参数说明是否必须
serial_no流水号对于微信该参数不需要,但请保留,后期可能支持批量退款需要否user_account用户openid商户appid下,某用户的openid是user_name收款用户姓名收款用户真实姓名。是trans_fee金额企业付款金额,单位为元是desc企业付款描述信息企业付款操作说明信息。是
返回数据
参数参数名参数说明是否必须
is_success是否成功失败会返回错误原因。T:成功 F:失败是error错误原因为T时有返回否response成功时数据成功时返回的具体数据否
response数据
参数参数名参数说明是否必须
trans_no商户订单号商户订单号,需保持唯一性是trans_id微信订单号企业付款成功,返回的微信订单号否payment_time微信支付成功时间企业付款成功时间否
转载请注明原文地址: https://ju.6miu.com/read-1307986.html