Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

GitHub forks GitHub forks GitHub forks

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

安装

composer require code-lives/ali 1.0.0

⚠️ 注意

金额单位分 100=1 元

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

预下单

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

// 小程序下单
$pay= Ali::init($config)->set("订单号","金额","描述",'openid')->getParam();

支付宝小程序

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

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

返回值 看官方文档,每个返回值都不一样,自行判断,如 openid 返回[alipay_system_oauth_token_response] 退款返回[alipay_trade_create_response]

Config

参数名字 类型 必须 说明
appid string 小程序 appid
secret string 小程序 AES 用于手机号解密
privateKey string 应用私钥(开发工具生成)
publicKey string 支付宝公钥(支付宝后台下载)
notify_url string 异步回调地址

Openid

getOpenid 获取支付宝的用户 user_id 类似于微信的 openid

$code="";
$data= Ali::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] =>
    )

解密手机号

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

订单查询

$data = Ali::init($config)->findOrder(['out_trade_no' => '1679838318']);

退款

参数名字 类型 必须 说明
out_trade_no string 平台订单号
refund_amount int 退款金额
$orders = [
        'out_order_no' => $order['out_order_no'],
        'refund_amount' => $order['refund_amount'],
    ];
$data= Ali::init($config)->applyOrderRefund($order);

模版消息

模版消息设置比较麻烦。需要先到开发平台添加进入小程序进行产品绑定,在去商家平台设置文档

$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= Ali::init($config)->sendMsg($data,$token);

支付回调

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

About

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

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages