微信小程序、抖音小程序、百度小程序、支付宝小程序、快手小程序集合(支付、手机号解密、获取Token、模版消息、支付异步通知、退款、订单查询)

疑难杂症   2024-03-20 09:03   161   0  

安装

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

参数名字类型必须说明
appkeystring百度小程序 appkey
payappKeystring百度小程序支付 appkey
appSecretstring百度小程序 aapSecret
dealIdint百度小程序支付凭证
isSkipAuditint默认为 0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。
rsaPriKeyStrstring私钥(只需要一行长串,不需要文件)
rsaPubKeyStrstring百度小程序支付的平台公钥(支付回调需要)
notifyUrlstring异步回调地址
refundNotifyUrlstring退款异步回调地址

Token

$PayName='Baidu';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数类型必须说明
expires_instring凭证有效时间,单位:秒
session_keystringsession_key
access_tokenstring获取到的凭证

Openid

$PayName='Baidu';//设置驱动$code="";$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
返回参数类型必须说明
session_keystringsession_key
openidstring用户 openid

解密手机号

$PayName='Baidu';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->decryptPhone($session_key, $iv, $ciphertext);echo $phone['mobile'];

百度订单查询

参数名字类型必须说明
access_tokenstring根据上面的获取 token
tpOrderIdstring平台订单号
$PayName='Baidu';//设置驱动$Baidu = \Applet\Pay\Factory::getInstance('Baidu')->init($config);$order = ['tpOrderId' => '',//订单号'access_token' => $Baidu->getToken()['access_token'],];$data = $Baidu->findOrder($order);

百度退款

参数名字类型必须说明
access_tokenstring根据上面的获取 token
bizRefundBatchIdint百度平台的订单号
isSkipAuditint默认为 0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。
orderIdint百度平台的订单号
refundReasonstring退款描述
refundTypeint退款类型 1:用户发起退款;2:开发者业务方客服退款;3:开发者服务异常退款。百度小程序支付的平台公钥
tpOrderIdstring自己平台订单号
userIdint用户 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

参数名字类型必须说明
tokenstring担保交易回调的 Token(令牌)
saltstring担保交易的 SALT
merchant_idstring担保交易的商户号
app_idint小程序的 APP_ID
secretstring小程序的 APP_SECRET
notify_urlstring支付回调 url
settle_urlstring分账回调 url,没有默认支付回调 url

Token

$PayName='Byte';//驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数类型必须说明
expires_instring凭证有效时间,单位:秒
access_tokenstring获取到的凭证

Openid

$PayName='Byte';//设置驱动$code="";$anonymous_code="";//可以不传$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code,$anonymous_code);
返回参数类型必须说明
session_keystringsession_key
openidstring用户 openid
unionidstringunionid

解密手机号

$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_nostring平台订单号
out_settle_nostring自定义订单号
settle_descint分账描述
cp_extrastring开发者自定义字段,回调原样回传
$PayName='Byte';//设置驱动$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);$data = $Baidu->settle($order);

退款

参数名字类型必须说明
out_order_nostring平台订单号
out_refund_noint自定义订单号
reasonint退款说明
refund_amountstring退款金额
$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

参数名字类型必须说明
appidint小程序 appid
secretint小程序 secret
mch_idstring商户 mch_id
mch_keystring商户 mch_key
notify_urlstring异步地址
cert_pemstringcert_pem 证书
key_pemstringkey_pem 证书
trade_typestring默认为:JSAPI。MWEB:代表微信 H5 、JSAPI:公众号或小程序

Token

$PayName='Weixin';//驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
返回参数类型必须说明
expires_instring凭证有效时间,单位:秒
access_tokenstring获取到的凭证

Openid

$PayName='Weixin';//设置驱动$code="";$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
返回参数类型必须说明
session_keystringsession_key
openidstring用户 openid
unionidstringunionid

微信解密手机号

$PayName='Weixin';//设置驱动$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->decryptPhone($session_key, $iv, $encryptedData);echo $phone['phoneNumber'];

微信订单查询

$PayName<span class="token operato
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
从前车马很慢,书信很远,一生只够爱一个人,但是可以纳很多妾啊!
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~