# alipay === ## 支付宝支付 目前只支持支付宝的app唤起支付、回调、退款: ## 安装 ### Composer alipay采用composer进行安装,要使用alipay功能,只需要在composer.json中添加如下依赖: ```json { "require": { "jucheng/alipay": "1.*" } } ``` ### 手动 1. 手动下载或clone最新版本alipay代码 2. 把alipay放入项目目录 3. `require` alipay src目录下面的AlipayClient.php,即可使用,如把alipay放在当前目录下,只需要: ```php require __DIR__ . "/alipay/src/AlipayClient.php"; ``` ## 用法 - **准备必要参数** ```php //AppID $appid = 1400009099; // 用户私钥 $rsaPrivateKey = "用户私钥"; //支付宝公钥 $alipayrsaPublicKey="支付宝公钥"; //支付回调地址 $notifyUrl="https://www.baidu.com" - **app唤起支付** ```php use alipay; $app_client=new alipay\AlipayClient($appid,$rsaPrivateKey,$alipayrsaPublicKey); $data["total_amount"]="0.01"; $data["subject"]="预定酒店消费"; $data["out_trade_no"]="JD201909051809240201"; $data["product_code"]="QUICK_MSECURITY_PAY"; $result=$app_client->appPay($data,$notifyUrl); ``` > `Note` 如需要自定义data参数 请查看支付宝官方文档 https://docs.open.alipay.com/api_1/alipay.trade.app.pay。 > `Note` 将$result传给手机端唤起支付。 - **回调参数验签** ```php use alipay; $app_client=new alipay\AlipayClient($appid,$rsaPrivateKey,$alipayrsaPublicKey); $flag = $app_client->rsaCheckV1($_POST, NULL, "RSA2"); ``` > `Note` 对$flag进行操作。 - **退款** ```php use alipay; $app_client=new alipay\AlipayClient($appid,$rsaPrivateKey,$alipayrsaPublicKey); $data["out_trade_no"]="JD201909051809240201"; $data["trade_no"]="2019090922001444760542604693"; $data["refund_amount"]="0.01"; $result=$app_client->refundOrder($data); ``` > `Note` 退款是否成功对$result进行判断。 > `Note` 所有方法错误码请以官方错误码为准 https://docs.open.alipay.com/api_1/alipay.trade.app.pay。