PHPackages                             code-lives/applet-pays - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. code-lives/applet-pays

ActiveLibrary[Payment Processing](/categories/payments)

code-lives/applet-pays
======================

微信小程序、抖音（头条）小程序、百度小程序、支付宝小程序、快手小程序、微信App、微信公众号、微信H5（支付、手机号解密、获取Token、支付异步通知、退款、订单查询、分账、模版消息）

5.9(2y ago)1243.9k↓50%28MITPHP

Since Feb 21Pushed 2y ago3 watchersCompare

[ Source](https://github.com/code-lives/Pays)[ Packagist](https://packagist.org/packages/code-lives/applet-pays)[ RSS](/packages/code-lives-applet-pays/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (15)Used By (0)

[![GitHub forks](https://camo.githubusercontent.com/d2d7f035fe50e08da44742a7f7a38c6de5596ad2cb8c2488d0675d5331d7d5ec/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f64652d6c697665732f6170706c65742d706179733f696e636c7564655f70726572656c6561736573)](https://packagist.org/packages/code-lives/applet-pays)[![GitHub forks](https://camo.githubusercontent.com/3f0f338a1322213bb92bdc5c614cdb82278beff355bc55a898c92e68aa7954fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f636f64652d6c697665732f506179733f7374796c653d736f6369616c)](https://packagist.org/packages/code-lives/applet-pays)[![GitHub forks](https://camo.githubusercontent.com/4c7de18c03a11e0d4b9f65b5f6c757251063f1dd4242407a607f510df408c3af/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f636f64652d6c697665732f506179733f7374796c653d736f6369616c)](https://github.com/code-lives/Pays/fork)[![GitHub](https://camo.githubusercontent.com/44b4f6403d251ef598db2d08ff7dc6322b72530fabb7d8f44c4f8f23819c94f8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636f64652d6c697665732f6170706c65742d70617973)](https://packagist.org/packages/code-lives/applet-pays)

#### 公告 2023-11-3

[](#公告-2023-11-3)

> 我辞职不干互联网了，所以一些配置就没了，但是还会留意 issues(有邮件等通知)。有想维护这个 SDK 的小伙伴可以提交对应仓库的 PR。

第三方tokenopenid支付回调退款订单查询手机号分账模版消息仓库[微信小程序](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1)✓✓✓✓✓✓✓x✓[地址](https://github.com/code-lives/weixin)[百度小程序](https://smartprogram.baidu.com/docs/develop/function/tune_up_2.0/)✓✓✓✓✓✓✓x✓[地址](https://github.com/code-lives/baidu)[抖音小程序](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/introduction/overview/)✓✓✓✓✓✓✓✓✓[地址](https://github.com/code-lives/byte)[快手小程序](https://mp.kuaishou.com/docs/develop/server/epay/interfaceDefinition.html)✓✓✓✓✓✓✓✓x[地址](https://github.com/code-lives/kuaishou)[支付宝小程序](https://opendocs.alipay.com/mini/03l5wn)x✓✓✓✓✓✓x✓[地址](https://github.com/code-lives/ali)微信 h5xx✓✓✓✓xxx[地址](https://github.com/code-lives/weixin)微信 APPx✓✓✓✓✓xxx[地址](https://github.com/code-lives/weixin)微信公众号xx✓✓✓✓xx✓[地址](https://github.com/code-lives/weixin)安装
--

[](#安装)

```
composer require code-lives/applet-pays 5.9
```

### ⚠️ 注意

[](#️-注意)

> 金额单位分 100=1 元

> 微信支付未使用 APIv3 接口规则

> 获取 openid 接口 统一 openid 字段（因快手返回的 open\_id）

> 返回结果 array 由开发者自行判断

> 抖音小程序由字节小程序转变而来，支持多端（头条、抖音、今日头条等关联应用）

预下单
===

[](#预下单)

```
// 第一种使用方法 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

[](#config)

参数名字类型必须说明appkeystring是百度小程序 appkeypayappKeystring是百度小程序支付 appkeyappSecretstring是百度小程序 aapSecretdealIdint是百度小程序支付凭证isSkipAuditint是默认为 0； 0：不跳过开发者业务方审核；1：跳过开发者业务方审核。rsaPriKeyStrstring是私钥（只需要一行长串，不需要文件）rsaPubKeyStrstring是百度小程序支付的平台公钥(支付回调需要)notifyUrlstring否异步回调地址refundNotifyUrlstring否退款异步回调地址### Token

[](#token)

```
$PayName='Baidu';//设置驱动
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
```

返回参数类型必须说明expires\_instring是凭证有效时间，单位：秒session\_keystring是session\_keyaccess\_tokenstring是获取到的凭证### Openid

[](#openid)

```
$PayName='Baidu';//设置驱动
$code="";
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
```

返回参数类型必须说明session\_keystring是session\_keyopenidstring是用户 openid### 解密手机号

[](#解密手机号)

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

### 百度订单查询

[](#百度订单查询)

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

### 百度退款

[](#百度退款)

参数名字类型必须说明access\_tokenstring是根据上面的获取 tokenbizRefundBatchIdint是百度平台的订单号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

[](#config-1)

参数名字类型必须说明tokenstring是担保交易回调的 Token(令牌)saltstring是担保交易的 SALTmerchant\_idstring是担保交易的商户号app\_idint是小程序的 APP\_IDsecretstring是小程序的 APP\_SECRETnotify\_urlstring是支付回调 urlsettle\_urlstring否分账回调 url,没有默认支付回调 url### Token

[](#token-1)

```
$PayName='Byte';//驱动
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
```

返回参数类型必须说明expires\_instring是凭证有效时间，单位：秒access\_tokenstring是获取到的凭证### Openid

[](#openid-1)

```
$PayName='Byte';//设置驱动
$code="";
$anonymous_code="";//可以不传
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code,$anonymous_code);
```

返回参数类型必须说明session\_keystring是session\_keyopenidstring是用户 openidunionidstring是unionid### 解密手机号

[](#解密手机号-1)

```
$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

[](#config-2)

参数名字类型必须说明appidint是小程序 appidsecretint是小程序 secretmch\_idstring是商户 mch\_idmch\_keystring是商户 mch\_keynotify\_urlstring是异步地址cert\_pemstring是cert\_pem 证书key\_pemstring是key\_pem 证书trade\_typestring是默认为：JSAPI。MWEB：代表微信 H5 、JSAPI：公众号或小程序### Token

[](#token-2)

```
$PayName='Weixin';//驱动
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
```

返回参数类型必须说明expires\_instring是凭证有效时间，单位：秒access\_tokenstring是获取到的凭证### Openid

[](#openid-2)

```
$PayName='Weixin';//设置驱动
$code="";
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
```

返回参数类型必须说明session\_keystring是session\_keyopenidstring是用户 openidunionidstring是unionid### 微信解密手机号

[](#微信解密手机号)

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

### 微信订单查询

[](#微信订单查询)

```
$PayName='Weixin';//设置驱动
$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);
$data = $Baidu->findOrder("订单号");
```

### 微信退款

[](#微信退款)

参数名字类型必须说明out\_trade\_nostring是平台订单号out\_refund\_nostring是自定义订单号refund\_feeint是退款金额total\_feeint是订单金额refund\_descstring是退款原因```
$order = [
        'out_trade_no' => '123',
        'total_fee' => 0.01,
        'out_refund_no' => time(),
        'refund_fee' => 0.01,
    ];
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->applyOrderRefund($order);
```

### 微信小程序模版消息

[](#微信小程序模版消息)

```
$data = [
    "touser" => "",
    "template_id" => "",
    "page" => "pages/index/index",
    "miniprogram_state" => "developer",
    "lang" => "zh_CN",
    "data" => [
        'thing6' => ['value' => "第一个参数{{thing6.DATA}}"],
        'thing7' => ['value' => "第二个参数{{thing7.DATA}}"],
        'time8' =>  ['value' => "第三个参数{{time8.DATA}}"],
],
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->sendMsg($data,$token);
$data=[
    "errcode" => 0
    "errmsg" => "ok"
    "msgid" => 123456
]
```

支付宝小程序
======

[](#支付宝小程序)

> 使用密钥进行签名解密，没有使用证书签名解密。

> 订单查询、退款、参数设置可以设置其他，具体看文档。

> 返回值 看官方文档，每个返回值都不一样，自行判断，如 openid 返回\[alipay\_system\_oauth\_token\_response\] 退款返回\[alipay\_trade\_create\_response\]

### Config

[](#config-3)

参数名字类型必须说明appidstring是小程序 appidsecretstring是小程序 AES 用于手机号解密privateKeystring是应用私钥（开发工具生成）publicKeystring是支付宝公钥（支付宝后台下载）notify\_urlstring是异步回调地址### Openid

[](#openid-3)

> getOpenid 获取支付宝的用户 user\_id 类似于微信的 openid

```
$PayName='Ali';//设置驱动
$code="";
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
//返回参数
$data = array(
    [alipay_system_oauth_token_response] => Array
        (
            [access_token] => 123
            [alipay_user_id] => 123
            [auth_start] => 2023-03-26 20:56:36
            [expires_in] => 1296000
            [re_expires_in] => 2592000
            [refresh_token] => auth
            [user_id] => 123
        )
    [sign] =>
    )
```

### 支付宝小程序解密手机号

[](#支付宝小程序解密手机号)

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

### 支付宝小程序订单查询

[](#支付宝小程序订单查询)

```
$PayName='Ali';//设置驱动
$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);
$data = $Baidu->findOrder(['out_trade_no' => '1679838318']);
```

### 支付宝小程序退款

[](#支付宝小程序退款)

参数名字类型必须说明out\_trade\_nostring是平台订单号refund\_amountint是退款金额```
$orders = [
        'out_order_no' => $order['out_order_no'],
        'refund_amount' => $order['refund_amount'],
    ];
$PayName='Ali';//设置驱动
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->applyOrderRefund($order);
```

### 支付宝小程序模版消息

[](#支付宝小程序模版消息)

模版消息设置比较麻烦。需要先到开发平台添加进入小程序进行产品绑定，在去商家平台设置[文档](https://opendocs.alipay.com/b/03ksho)

```
$data = [
        'to_user_id' => '用户uid',
        'user_template_id' => '模版id',
        'page' => 'pages/index/index',
        'data' => json_encode([
            'keyword1' => ['value' => '1'],
            'keyword2' =>  ['value' => '2'],
            'keyword3' => ['value' => '3'],
        ]),
    ];
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->sendMsg($data,$token);
```

快手小程序
=====

[](#快手小程序)

### Token

[](#token-3)

```
$PayName='Kuaishou';//设置驱动
$code="";
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getToken();
```

### Config

[](#config-4)

参数名字类型必须说明app\_idint是小程序 appidapp\_secretint是小程序 secretnotify\_urlstring是回调地址settle\_urlstring是结算回调地址，没有就默认 notify\_urltypeint是类目### Openid

[](#openid-4)

```
$PayName='Kuaishou';//设置驱动
$code="";
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->getOpenid($code);
```

返回参数类型必须说明session\_keystring是session\_keyopenidstring是用户 open\_idresultstring是状态 1 是成功### 快手解密手机号

[](#快手解密手机号)

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

### 快手订单查询

[](#快手订单查询)

```
$PayName='Kuaishou';//设置驱动
$Baidu = \Applet\Pay\Factory::getInstance($payName)->init($config);
$data = $Baidu->findOrder("订单号",$access_token);
```

### 快手退款

[](#快手退款)

参数名字类型必须说明out\_trade\_nostring是平台订单号out\_refund\_nostrging是自定义订单号refund\_amountint是退款金额reasonstring是退款原因access\_tokenstring是access\_tokenattachstring否自定义```
$orders = [
        'out_order_no' => $order['out_order_no'],
        'out_refund_no' => $order['out_refund_no'],
        'reason' => $order['reason'],
        'attach' => $order['attach'],
    ];
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->applyOrderRefund($order);
```

### 快手结算

[](#快手结算)

参数名字类型必须说明out\_order\_nostring是平台订单号out\_settle\_nostring是自定义订单号reasonstring是退款原因access\_tokenstring是access\_tokenattachstring否自定义```
//注意 需要设置回调 notify_url  在config 设置 settle_url 如果没有 默认为 notify_url
$orders = [
        'out_order_no' => $order['out_order_no'],
        'out_settle_no' => $order['out_settle_no'],
        'reason' => $order['reason'],
        'attach' => $order['attach'],
    ];
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->settle($order,$access_token);
```

### 订单信息同步

[](#订单信息同步)

参数名字类型必须说明out\_biz\_order\_nostring是展示在用户端的唯一订单号out\_order\_nostring是小程序预下单支付订单号open\_idstring是订单对应的用户 open idorder\_create\_timestring是订单创建时间order\_statusstring否订单状态order\_pathstring是小程序路径product\_cover\_img\_idstring是图片 id```
$order = [
        'out_biz_order_no' => '',
        'out_order_no' => '',
        'open_id' => '',
        'order_create_time' => time(),
        'order_status' => 6,
        'order_path' => '',
        'product_cover_img_id' =>'',
    ];
$data = \Applet\Pay\Factory::getInstance($PayName)->init($config)->synchronousOrder($order, $token);
```

### 图片上传(订单信息同步)

[](#图片上传订单信息同步)

```
$data = \Applet\Pay\Factory::getInstance($PayName)->init($config)->imgUpload('图片路径', $token);
```

### 快手小程序模版消息

[](#快手小程序模版消息)

```
$data = [
    "open_id" => "",
    "tpl_id" => "",
    "page" => "pages/index/index",
    "data" => [
        'key1' =>  "第一个",
        'key2' =>  "第二个",
        'key3' =>  "第三个",
    ]
];
$data= \Applet\Pay\Factory::getInstance($PayName)->init($config)->sendMsg($data,$token);
$data=[
    "err_no" => 1001,
    "err_tips" => "该用户未订阅"
]
```

微信 APP
======

[](#微信-app)

### Config

[](#config-5)

参数名字类型必须说明appidint是开发平台 appidsecretint是开放平台 secretmch\_idstring是商户 mch\_idmch\_keystring是商户 mch\_keytrade\_typestring是APPnotify\_urlstring是异步地址异步通知
====

[](#异步通知)

抖音
--

[](#抖音)

```
$pay = \Applet\Pay\Factory::getInstance('Byte')->init($config);
$status = $pay->notifyCheck(); //验证
if ($status) {
    $orderSn = $pay->getNotifyOrder(); //订单数据$orderSn['msg']['cp_orderno'] $orderSn['msg']['seller_uid']
    switch ($orderSn['type']) {
        case 'payment': // 支付相关回调
            /**
             *业务处理
            */
            echo json_encode(['err_no' => 0, 'err_tips' => 'success']);exit; // 操作成功需要给头条返回的信息
            break;
        case 'refund': // 退款相关回调
            /**
             *业务处理
            */
            echo json_encode(['err_no' => 0, 'err_tips' => 'success']);exit; // 操作成功需要给头条返回的信息
            break;
        case 'settle': // 分账相关回调
            /**
             *业务处理
            */
            echo json_encode(['err_no' => 0, 'err_tips' => 'success']);exit; // 操作成功需要给头条返回的信息
            break;
        default: // 未知数据
            return '数据异常';
    }
}
```

微信回调(通用微信 H5 支付、小程序、微信公众号) 记得改 config 配置
----------------------------------------

[](#微信回调通用微信-h5-支付小程序微信公众号-记得改-config-配置)

```
$pay = \Applet\Pay\Factory::getInstance('Weixin')->init($config);
$status = $pay->notifyCheck();//验证
if($status){
    $order = $pay->getNotifyOrder();//订单数据
    //$order['out_trade_no']//平台订单号
    //$order['transaction_id']//微信订单号
    echo 'success';exit;
}
```

百度小程序回调
-------

[](#百度小程序回调)

```
$pay = \Applet\Pay\Factory::getInstance('Baidu')->init($config);
$status = $pay->notifyCheck();//验证
if($status){
    $order = $pay->getNotifyOrder();
    //$order['tpOrderId']
    //$order['orderId']
    //$order['userId']
    echo 'success';exit;
}
```

快手小程序
-----

[](#快手小程序-1)

```
$pay = \Applet\Pay\Factory::getInstance('Kuaishou')->init($config);
$status = $pay->notifyCheck(); //验证
if ($status) {
    $order = $pay->getNotifyOrder(); //订单数据
    //$order['data']['out_order_no']//平台订单号
    echo json_encode(['result' => 1, 'message_id' => $order['message_id']]);exit;
}
```

支付宝小程序
------

[](#支付宝小程序-1)

```
$pay = \Applet\Pay\Factory::getInstance('Ali')->init($config);
$status = $pay->notifyCheck(); //验证
if ($status) {
    $order = $pay->getNotifyOrder(); //订单数据
    //$order['out_trade_no']//平台订单号
}
```

感谢赞助
====

[](#感谢赞助)

[![image](https://private-user-images.githubusercontent.com/79346591/305954095-6777b00a-7ec6-440a-b31a-bc15da3e2fce.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MjExNDYsIm5iZiI6MTc3NDQyMDg0NiwicGF0aCI6Ii83OTM0NjU5MS8zMDU5NTQwOTUtNjc3N2IwMGEtN2VjNi00NDBhLWIzMWEtYmMxNWRhM2UyZmNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI1VDA2NDA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc5NzE1MjFmMTFhMjQ1N2IyOTE5Nzk3YWE4YmMyN2QwZjg4NDNiZTEwZGZhYTU4NjJmOThkY2U3NDY0NjVjMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nKwB0bQvJwcojTX_t7FZX4hC4e5Th4KML4JUAtDBRf8)](https://private-user-images.githubusercontent.com/79346591/305954095-6777b00a-7ec6-440a-b31a-bc15da3e2fce.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MjExNDYsIm5iZiI6MTc3NDQyMDg0NiwicGF0aCI6Ii83OTM0NjU5MS8zMDU5NTQwOTUtNjc3N2IwMGEtN2VjNi00NDBhLWIzMWEtYmMxNWRhM2UyZmNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI1VDA2NDA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc5NzE1MjFmMTFhMjQ1N2IyOTE5Nzk3YWE4YmMyN2QwZjg4NDNiZTEwZGZhYTU4NjJmOThkY2U3NDY0NjVjMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nKwB0bQvJwcojTX_t7FZX4hC4e5Th4KML4JUAtDBRf8)[![image](https://private-user-images.githubusercontent.com/79346591/305954133-0f1895d7-8dc4-4d27-9bdd-54823c656f91.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MjExNDYsIm5iZiI6MTc3NDQyMDg0NiwicGF0aCI6Ii83OTM0NjU5MS8zMDU5NTQxMzMtMGYxODk1ZDctOGRjNC00ZDI3LTliZGQtNTQ4MjNjNjU2ZjkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI1VDA2NDA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVjZDcwYWZhYTQ0ZjI1NGFjMDAxYWY2OTU4MjNkNDZhN2VjN2FhMzNhMzljNmMyNTEzZjAyNGQyMWJmZjE0NWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.T0wS5sz35tDV4G4k_TNH8I3S6IaK8v4E2IaqLy1Po9U)](https://private-user-images.githubusercontent.com/79346591/305954133-0f1895d7-8dc4-4d27-9bdd-54823c656f91.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MjExNDYsIm5iZiI6MTc3NDQyMDg0NiwicGF0aCI6Ii83OTM0NjU5MS8zMDU5NTQxMzMtMGYxODk1ZDctOGRjNC00ZDI3LTliZGQtNTQ4MjNjNjU2ZjkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI1VDA2NDA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVjZDcwYWZhYTQ0ZjI1NGFjMDAxYWY2OTU4MjNkNDZhN2VjN2FhMzNhMzljNmMyNTEzZjAyNGQyMWJmZjE0NWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.T0wS5sz35tDV4G4k_TNH8I3S6IaK8v4E2IaqLy1Po9U)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity39

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Recently: every ~50 days

Total

14

Last Release

1026d ago

Major Versions

1.0 → 2.02022-03-17

2.0 → 3.02022-05-17

3.0 → 4.02022-06-21

4.0 → 5.02022-06-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/66c8ab94602f8fde6cbb339ec8b9b0dbd178b1aeab8973d957e3903d14e2b7be?d=identicon)[code-lives](/maintainers/code-lives)

---

Top Contributors

[![code-lives](https://avatars.githubusercontent.com/u/79346591?v=4)](https://github.com/code-lives "code-lives (156 commits)")[![LeeCodeLives](https://avatars.githubusercontent.com/u/28551829?v=4)](https://github.com/LeeCodeLives "LeeCodeLives (23 commits)")[![husanjun](https://avatars.githubusercontent.com/u/49985266?v=4)](https://github.com/husanjun "husanjun (2 commits)")

---

Tags

alipaybaidubytecomposerkuaishouopenidpayphprefundsdktemplate-messagewechatwechat-app

### Embed Badge

![Health badge](/badges/code-lives-applet-pays/health.svg)

```
[![Health](https://phpackages.com/badges/code-lives-applet-pays/health.svg)](https://phpackages.com/packages/code-lives-applet-pays)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
