1进入支付宝开放平台
2.下载sdk
放到根目录
下载后的config配置文件需要配置一下换成自己的东西
还有密钥公钥,自己生成。补全
然后直接干代码
public function pay()
{
require_once './plugins/alipay/config.php';
require_once './plugins/alipay/pagepay/service/AlipayTradeService.php';
require_once './plugins/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php';
$arr = input();
$a = \app\common\model\Order::where('order_sn', $arr['order_sn'])->find();
//商户订单号,商户网站订单系统中唯一订单号,必填
$out_trade_no = $a['order_sn'];
//订单名称,必填
$subject = '品有够';
//付款金额,必填
$total_amount = $a['total_amount'];
//商品描述,可空
$body = '真不错';
//构造参数
$payRequestBuilder = new \AlipayTradePagePayContentBuilder();
$payRequestBuilder->setBody($body);
$payRequestBuilder->setSubject($subject);
$payRequestBuilder->setTotalAmount($total_amount);
$payRequestBuilder->setOutTradeNo($out_trade_no);
$aop = new \AlipayTradeService($config);
$response = $aop->pagePay($payRequestBuilder, $config['return_url'], $config['notify_url']);
//输出表单
var_dump($response);
}
正常的支付完成后走同步和异步回调。因为异步是需要线上的才能执行,所以只做同步页面跳转。
public function callback()
{
require_once './plugins/alipay/config.php';
require_once './plugins/alipay/pagepay/service/AlipayTradeService.php';
require_once './plugins/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php';
$arr = input();
$alipaySevice = new \AlipayTradeService($config);
$result = $alipaySevice->check($arr);
if (!$result) {//验证成功
return view('order/paysuccess', ['pay_name' => '支付宝', 'order_amount' => $arr['total_amount']]);
} else {
return view('order/payfail', ['msg' => '支付失败']);
}
// fojqet9158@sandbox.com
}