PHP 服务端支付宝支付
namespace app\api\controller;use app\common\master\Task;
use app\common\user\User;
use app\common\user\UserGoodsLog;
use app\common\web\Goods;
use app\common\web\Order;
use think\Controller;
use think\Db;
use think\facade\Env;
require Env::get('root_path') . 'extend/aop/AopClient.php';
require Env::get('root_path') . 'extend/aop/request/AlipayTradeAppPayRequest.php';class AliPay extends Controller
{function getPrePayOrder($body, $order_sn, $total_fee){header("Content-type:text/html;charset=utf-8");$API = config('sf_config.alipay_config');$content = array();$content['subject'] = $body; $content['body'] = 'APP支付'; $content['out_trade_no'] = $order_sn; $content['total_amount'] = $total_fee; $content['product_code'] = "QUICK_MSECURITY_PAY"; $con = json_encode($content); $Client = new \AopClient(); $param = array();$param['app_id'] = $API['appid']; $param['method'] = $API['method']; $param['charset'] = $API['charset']; $param['sign_type'] = $API['sign_type']; $param['timestamp'] = date("Y-m-d H:i:s"); $param['version'] = $API['version']; $param['notify_url'] = request()->domain() . '/api.php/AliPay_notify.json'; $param['biz_content'] = $con; $paramStr = $Client->getSignContent($param);$sign = $Client->alonersaSign($paramStr, $API['rsaPrivateKey'], 'RSA2'); $param['sign'] = $sign;$str = $Client->getSignContentUrlencode($param); return $str;}public function aliPay_notify(){$_POST = $_REQUEST;if ($_POST == null) {$_POST = file_get_contents("php://input");}if ($_POST == null) {$_POST = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';}file_put_contents("ali_back.txt", file_get_contents("php://input"));$aop = new \AopClient;$aop->alipayrsaPublicKey = config('sf_config.alipay_config.alipayrsaPublicKey');$flag = $aop->rsaCheckV1($_POST,$aop->alipayrsaPublicKey, "RSA2");
if ($_POST['trade_status'] == 'TRADE_SUCCESS' || $_POST['trade_status'] == 'TRADE_FINISHED') {die('success');} else {die('success');}}
}
}