<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
public function index()
{
return view();
}
public function order()
{
$data = [
"subject" =>"支付宝测试",
"title" =>"200斤的肉装坦克",
"orderId" =>date("Ymdhis").mt_rand(100,1000),
"price" =>200,
"create_time"=>time(),
];
$res=Db::name("order")->insert($data);
if($res){
return ["code"=>0,"data"=>$data];
}
}
public function erweima()
{
if($this->request->isPost()) {
$erweima=[];
$post = $this->request->post();
$alipay_config = \think\facade\Config::get("pay.alipay_config"); require_once "../extend/alipay/f2fpay/service/AlipayTradeService.php";
require_once "../extend/alipay/f2fpay/model/builder/AlipayTradePayContentBuilder.php";
$express="5m";
$payRequestBuilder = new \AlipayTradePayContentBuilder();
$payRequestBuilder->setOutTradeNo($post["orderId"]); $payRequestBuilder->setTotalAmount($post["price"]); $payRequestBuilder->setTimeExpress($express); $payRequestBuilder->setSubject($post["subject"]); $payRequestBuilder->setBody($post["title"]."需支付¥".$post["price"]."元");
$aop = new \AlipayTradeService($alipay_config);
$qrPayResult=$aop->qrPay($payRequestBuilder);
if($qrPayResult->getTradeStatus()=="SUCCESS"){
<br>---------------------------------------<br>";
$response = $qrPayResult->getResponse();
$alierweima = CreateErweima($response->qr_code,"alipay");
if($alierweima){
$erweima["alipay"]=$alierweima;
}else{
$erweima["alipay"]="";
}
}else{
$erweima["alipay"]="";
}
$wxerweima=CreateErweima("https://www.baidu.com","wxpay");
if($wxerweima){
$erweima["wxpay"]=$wxerweima;
}else{
$erweima["wxpay"]="";
}
if($alierweima||$wxerweima){
return ["code"=>0,"msg"=>"创建成功","thumb"=>$erweima];
}else{
return ["code"=>1,"msg"=>"创建失败"];
}
}
}
public function notify()
{
if($this->request->isPost()) {
$post = $this->request->post();
$alipay_config = \think\facade\Config::get("pay.alipay_config"); require_once "../extend/alipay/AopSdk.php"; require_once "../extend/alipay/f2fpay/service/AlipayTradeService.php";
$aop = new \AopClient();
$aop->alipayrsaPublicKey = $alipay_config["alipay_public_key"]; $result = $aop->rsaCheckV1($post, NULL, "RSA2");
$path = "pay/alipay/".date("Ymd");
is_dir($path)?"":@mkdir($path,0777,true);
file_put_contents($path."/".date("d").".log", date ( "Y-m-d H:i:s" ) . "\r\n" . json_encode($post,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) . "\r\n", FILE_APPEND );
if($result===true && $_POST["trade_status"] == "TRADE_SUCCESS"){
Db::name("order")->where("orderId",$post["out_trade_no"])->update(["paytype"=>2,"paystatus"=>2,"pay_time"=>time(),"update_time"=>time()]);
echo "success";exit;
}else{
echo "error";exit;
}
}
}
public function paystatus() {
set_time_limit(0); if($this->request->isPost()) {
$orderId = $this->request->post("orderId");
$paystatus=Db::name("order")->where("orderId",$orderId)->value("paystatus");
if($paystatus==2){
return ["code"=>0,"msg"=>"支付成功"];
}
}
}
public function objectarray($object) {
return $object = json_decode( json_encode( $object),true);
}
}