安装
composer require code-lives/applet-pays 5.9
⚠️ 注意
预下单
// 第一种使用方法 Factory:: ide 自动提示 Weixin$pay= \Applet\Pay\Factory::Weixin()->init($config)->set("订单号","金额","描述")->getParam();// 第二种方法$PayName='Baidu';//百度$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述")->getParam();$PayName='Byte';//抖音$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述","描述")->getParam();$PayName='Weixin';//微信$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述","openid")->getParam();$PayName='Kuaishou';//快手$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述",'openid', 'access_token')->getParam();$PayName='Ali';//支付宝小程序$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述",'openid')->getParam();$PayName='Weixin';//微信公众号【appid 和secret 换成公众号的】$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述","openid")->getParam();$PayName='Weixin';//微信H5【appid 和secret 换成公众号的】$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述")->getH5Param();$PayName='Weixin';//微信APP (没有openid)$pay= \Applet\Pay\Factory::getInstance($PayName)->init($config)->set("订单号","金额","描述")->getParam();
百度小程序
Config
参数名字 | 类型 | 必须 | 说明 |
---|
appkey | string | 是 | 百度小程序 appkey |
payappKey | string | 是 | 百度小程序支付 appkey |
appSecret | string | 是 | 百度小程序 aapSecret |
dealId | int | 是 | 百度小程序支付凭证 |
isSkipAudit | int | 是 | 默认为 0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。 |
rsaPriKeyStr | string | 是 | 私钥(只需要一行长串,不需要文件) |
rsaPubKeyStr | string | 是 | 百度小程序支付的平台公钥(支付回调需要) |
notifyUrl | string | 否 | 异步回调地址 |
refundNotifyUrl | string | 否 | 退款异步回调地址 |
Token
$PayName='Baidu';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数 | 类型 | 必须 | 说明 |
---|
expires_in | string | 是 | 凭证有效时间,单位:秒 |
session_key | string | 是 | session_key |
access_token | string | 是 | 获取到的凭证 |
Openid
$PayName='Baidu';//设置驱动$code="";$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
返回参数 | 类型 | 必须 | 说明 |
---|
session_key | string | 是 | session_key |
openid | string | 是 | 用户 openid |
解密手机号
$PayName='Baidu';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->decryptPhone($session_key, $iv, $ciphertext);echo $phone['mobile'];
百度订单查询
参数名字 | 类型 | 必须 | 说明 |
---|
access_token | string | 是 | 根据上面的获取 token |
tpOrderId | string | 是 | 平台订单号 |
$PayName='Baidu';//设置驱动$Baidu = \Applet\Pay\Factory::getInstance('Baidu')->init($config);$order = ['tpOrderId' => '',//订单号'access_token' => $Baidu->getToken()['access_token'],];$data = $Baidu->findOrder($order);
百度退款
参数名字 | 类型 | 必须 | 说明 |
---|
access_token | string | 是 | 根据上面的获取 token |
bizRefundBatchId | int | 是 | 百度平台的订单号 |
isSkipAudit | int | 是 | 默认为 0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。 |
orderId | int | 是 | 百度平台的订单号 |
refundReason | string | 是 | 退款描述 |
refundType | int | 是 | 退款类型 1:用户发起退款;2:开发者业务方客服退款;3:开发者服务异常退款。百度小程序支付的平台公钥 |
tpOrderId | string | 是 | 自己平台订单号 |
userId | int | 是 | 用户 uid(不是自己平台 uid) |
$order = ['token' => 'abcd','bizRefundBatchId' => 123456,//百度平台订单号'isSkipAudit' => 1,'orderId' => 123456,'refundReason' => '测试退款','refundType' => 2,//'tpOrderId' => '123',//自己平台订单号'userId' => 123,];$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->applyOrderRefund($order);
百度小程序模版消息
$data = ["touser_openId" => "","template_id" => "","page" => "pages/index/index","subscribe_id" => '百度from组件subscribe-id 一致',"data" => json_encode(['keyword1' => ['value' => "第一个参数"],'keyword2' => ['value' => "第二个参数"],'keyword3' => ['value' => "第三个参数"],])];$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->sendMsg($data,$token);$data=[
"errno" => 0,"msg" => "success","data" => array=> ["msg_key" => 1663314134696897
]]
抖音小程序
Config
参数名字 | 类型 | 必须 | 说明 |
---|
token | string | 是 | 担保交易回调的 Token(令牌) |
salt | string | 是 | 担保交易的 SALT |
merchant_id | string | 是 | 担保交易的商户号 |
app_id | int | 是 | 小程序的 APP_ID |
secret | string | 是 | 小程序的 APP_SECRET |
notify_url | string | 是 | 支付回调 url |
settle_url | string | 否 | 分账回调 url,没有默认支付回调 url |
Token
$PayName='Byte';//驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数 | 类型 | 必须 | 说明 |
---|
expires_in | string | 是 | 凭证有效时间,单位:秒 |
access_token | string | 是 | 获取到的凭证 |
Openid
$PayName='Byte';//设置驱动$code="";$anonymous_code="";//可以不传$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code,$anonymous_code);
返回参数 | 类型 | 必须 | 说明 |
---|
session_key | string | 是 | session_key |
openid | string | 是 | 用户 openid |
unionid | string | 是 | unionid |
解密手机号
$PayName='Baidu';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->decryptPhone($session_key, $iv, $encryptedData);echo $phone['phoneNumber'];
订单查询
$PayName='Byte';//设置驱动$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);$data = $Baidu->findOrder("订单号");
分账
参数名字 | 类型 | 必须 | 说明 |
---|
out_order_no | string | 是 | 平台订单号 |
out_settle_no | string | 是 | 自定义订单号 |
settle_desc | int | 是 | 分账描述 |
cp_extra | string | 是 | 开发者自定义字段,回调原样回传 |
$PayName='Byte';//设置驱动$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);$data = $Baidu->settle($order);
退款
参数名字 | 类型 | 必须 | 说明 |
---|
out_order_no | string | 是 | 平台订单号 |
out_refund_no | int | 是 | 自定义订单号 |
reason | int | 是 | 退款说明 |
refund_amount | string | 是 | 退款金额 |
$order = ['out_order_no' => '','out_refund_no' => time() . 'refund','reason' => '就想退款,咋滴','refund_amount' => 1, //退款金额];$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->applyOrderRefund($order);//返回 [err_no] => 1// [err_tips] => 成功// [refund_no] => 1212
模版消息
$data = ['tpl_id' => "模版id","open_id" => $parm['openid'],'data' => ['律师' => "张三","回复时间" => date('Y-m-d H:i:s', time()),"回复内容" => "我回复你啦",],"page" => "pages/index/index",];$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->sendMsg($data,$token);
微信小程序
Config
参数名字 | 类型 | 必须 | 说明 |
---|
appid | int | 是 | 小程序 appid |
secret | int | 是 | 小程序 secret |
mch_id | string | 是 | 商户 mch_id |
mch_key | string | 是 | 商户 mch_key |
notify_url | string | 是 | 异步地址 |
cert_pem | string | 是 | cert_pem 证书 |
key_pem | string | 是 | key_pem 证书 |
trade_type | string | 是 | 默认为:JSAPI。MWEB:代表微信 H5 、JSAPI:公众号或小程序 |
Token
$PayName='Weixin';//驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数 | 类型 | 必须 | 说明 |
---|
expires_in | string | 是 | 凭证有效时间,单位:秒 |
access_token | string | 是 | 获取到的凭证 |
Openid
$PayName='Weixin';//设置驱动$code="";$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
返回参数 | 类型 | 必须 | 说明 |
---|
session_key | string | 是 | session_key |
openid | string | 是 | 用户 openid |
unionid | string | 是 | unionid |
微信解密手机号
$PayName='Weixin';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->decryptPhone($session_key, $iv, $encryptedData);echo $phone['phoneNumber'];
微信订单查询
$PayName<span class="token operato