PHP版SDK下载地址 https://openhome.alipay.com/doc/sdkDownload.resource?sdkType=PHP
//发起支付宝支付
function alipay($order,$notifyUrl){
require_once 'plugins/payment/alipaySdk/aop/AopClient.php';
require_once 'plugins/payment/alipaySdk/aop/request/AlipayTradeAppPayRequest.php';
$aop = new AopClient;
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "app_id";
$aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA";
$aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串';
//构造业务请求参数的集合(订单信息)
$bizcontent = "{'body':'',"
. "'subject': '".$order['subject']."'," //订单标题
. "'out_trade_no': '".$order['order_sn']."'," //订单号
. "'timeout_express': '30m',"
. "'total_amount': '".$order['account']."'," //订单金额
. "'product_code':'QUICK_MSECURITY_PAY'"
. "}";
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$request = new AlipayTradeAppPayRequest();
$request->setNotifyUrl($notifyUrl); //回调地址
$request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
$response = $aop->sdkExecute($request);
return $response;//就是orderString 可以直接给客户端请求,无需再做处理。
}
/**
*支付宝回调验证
*$params == $_POST
*$params['trade_status'] 支付成功或失败状态
*/
function aliverify($params){
require_once 'plugins/payment/alipaySdk/aop/AopClient.php';
require_once 'plugins/payment/alipaySdk/aop/request/AlipayTradeAppPayRequest.php';
$aop = new AopClient;
$aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串';
$flag = $aop->rsaCheckV1($params, NULL, "RSA");
return $flag;
//验签通过后再实现业务逻辑,比如修改订单表中的支付状态。
/**
①验签通过后核实如下参数out_trade_no、total_amount
②修改订单表
打印success,应答支付宝。必须保证本界面无错误。只打印了success,否则支付宝将重复请求回调地址。
echo 'success';
**/
}
转载请注明出处。