code-lives / ali
支付宝小程序(支付、手机号解密、获取Token、模版消息、支付异步通知、退款、订单查询)
1.0.0
2023-07-26 08:35 UTC
README
安装
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
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']);
退款
$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']//平台订单号 }