抖音小程序(支付、手机号解密、获取Token、模版消息、支付异步通知、退款、订单查询) 
                                                    
                        
                    
                    
  
                    
                    如需多个小程序可查看我的github
| 第三方 | token | openid | 支付 | 回调 | 退款 | 订单查询 | 解密手机号 | 分账 | 模版消息 | 
|---|---|---|---|---|---|---|---|---|---|
| 抖音小程序 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
安装
composer require code-lives/byte 1.0.0⚠️ 注意
金额单位分 100=1 元
返回结果 array 由开发者自行判断
抖音小程序由字节小程序转变而来,支持多端(头条、抖音、今日头条等关联应用)
预下单
<?php
//引入命名空间
use Applet\Assemble\Byte;
$pay= Byte::init($config)->set("订单号","金额","描述","描述")->getParam();
抖音小程序
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
$data= Byte::init($config)->getToken();| 返回参数 | 类型 | 必须 | 说明 | 
|---|---|---|---|
| expires_in | string | 是 | 凭证有效时间,单位:秒 | 
| access_token | string | 是 | 获取到的凭证 | 
Openid
$code="";
$anonymous_code="";//可以不传
$data= Byte::init($config)->getOpenid($code,$anonymous_code);| 返回参数 | 类型 | 必须 | 说明 | 
|---|---|---|---|
| session_key | string | 是 | session_key | 
| openid | string | 是 | 用户 openid | 
| unionid | string | 是 | unionid | 
解密手机号
$data= Byte::init($config)->decryptPhone($session_key, $iv, $encryptedData);
echo $phone['phoneNumber'];订单查询
$data = Byte::init($config)->findOrder("订单号");分账
| 参数名字 | 类型 | 必须 | 说明 | 
|---|---|---|---|
| out_order_no | string | 是 | 平台订单号 | 
| out_settle_no | string | 是 | 自定义订单号 | 
| settle_desc | int | 是 | 分账描述 | 
| cp_extra | string | 是 | 开发者自定义字段,回调原样回传 | 
$data = Byte::init($config)->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= Byte::init($config)->applyOrderRefund($order);模版消息
$data = [
        'tpl_id' =>  "模版id",
        "open_id" => $parm['openid'],
        'data' => [
            '律师' => "张三",
            "回复时间" => date('Y-m-d H:i:s', time()),
            "回复内容" => "我回复你啦",
        ],
        "page" => "pages/index/index",
    ];
$data= Byte::init($config)->sendMsg($data,$token);
支付回调
$byte = Byte::init($config);
$status = $byte->notifyCheck(); //验证
if ($status) {
    $orderSn = $byte->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 '数据异常';
    }
}本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           code-lives 的个人博客
 code-lives 的个人博客
         
                     
                     
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: