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

GitHub forks GitHub forks GitHub forks

如需多个小程序可查看我的 github#

第三方 token openid 支付 回调 退款 订单查询 解密手机号 分账 模版消息
百度小程序 x

安装#

composer require code-lives/baidu 1.0.0

⚠️ 注意#

金额单位分 100=1 元

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

预下单#

<?php

//引入命名空间
use Applet\Assemble\Baidu;

$pay= Baidu::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#

$data= Baidu::init($config)->getToken();
返回参数 类型 必须 说明
expires_in string 凭证有效时间,单位:秒
session_key string session_key
access_token string 获取到的凭证

Openid#

$code="";
$data= Baidu::init($config)->getOpenid($code);
返回参数 类型 必须 说明
session_key string session_key
openid string 用户 openid

解密手机号#

$data= Baidu::init($config)->decryptPhone($session_key, $iv, $ciphertext);
echo $phone['mobile'];

订单查询#

参数名字 类型 必须 说明
access_token string 根据上面的获取 token
tpOrderId string 平台订单号
$Baidu = 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= Baidu::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= Baidu::init($config)->sendMsg($data,$token);
$data=[
   "errno" => 0,
    "msg" => "success",
    "data" => array=> [
    "msg_key" => 1663314134696897
  ]
]

支付回调#

$pay = Baidu::init($config);
$status = $pay->notifyCheck();//验证
if($status){
    $order = $pay->getNotifyOrder();
    //$order['tpOrderId']
    //$order['orderId']
    //$order['userId']
    echo 'success';exit;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。