- 第一步:下载下来DEMO,把他放到extend中
- 在config.php中配置支付参数
- 在common.php中配置参数,和写支付函数
/**
* 支付宝支付参数
*/
function alipay_config()
{
//应用ID,您的APPID。
$config['app_id']='******8';
//商户私钥,您的原始格式RSA私钥
$config['merchant_private_key']='*******cqriBfyWG98=';
//异步通知地址
$config['notify_url']='ht******_url';
//同步跳转
$config['return_url']='http&***_url';
//编码格式
$config['charset']='UTF-8';
//签名方式
$config['sign_type']='RSA2';
//支付宝网关
$config['gatewayUrl']='https://openapi.alipay.com/gateway.do';
//支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
$config['alipay_public_key']='MIIBI*******JQuFBGJ7CoKRqngQIDAQAB';
return $config;
}
//生成唯一订单号
function build_order_no()
{
return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
}
//支付宝wap支付
function alipay_wap($total_amount,$body,$subject)
{
$out_trade_no=build_order_no();
//超时时间
$timeout_express="1m";
import('alipay.wappay.buildermodel.AlipayTradeWapPayContentBuilder',EXTEND_PATH,'.php');// 加载交易服务
// require '../extend/alipay/wappay/buildermodel/AlipayTradePagePayContentBuilder.php';
$payRequestBuilder = new AlipayTradeWapPayContentBuilder();
// $payRequestBuilder = new AlipayTradeWapPayContentBuilder();
$payRequestBuilder->setBody($body);
$payRequestBuilder->setSubject($subject);
$payRequestBuilder->setOutTradeNo($out_trade_no);
$payRequestBuilder->setTotalAmount($total_amount);
$payRequestBuilder->setTimeExpress($timeout_express);
// $payResponse = new AlipayTradeService($config);
import('alipay.wappay.service.AlipayTradeService',EXTEND_PATH,'.php');// 加载交易服务
// require '../extend/alipay/wappay/service/AlipayTradeService.php';
$config=config('alipay');
$payResponse=new AlipayTradeService($config);
$payResponse->wapPay($payRequestBuilder,$config['return_url'],$config['notify_url']);
}
- 注意import(‘alipay.wappay.buildermodel.AlipayTradeWapPayContentBuilder’,EXTEND_PATH,’.php’);tp5.1已被废除。下一步在控制器里调用
use think\Loader; //上面要引用这个
alipay_wap(input('ddddd'),input('cccc'),input('bbb').'/'.input('aa')); //直接调用这个就行,在控制器里。到这里就结束了。回调一样在common.php里写函数在控制器里调用就行