日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

支付宝 统一支付 php,支付宝APP支付 统一下单 php服务端 tp5

發布時間:2023/12/4 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 支付宝 统一支付 php,支付宝APP支付 统一下单 php服务端 tp5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

{

$data = input(‘post.‘);

Loader::import(‘/alipay/aop/AopClient‘,EXTEND_PATH);

$aop = new \AopClient();

$aop->appId = config("alipay_app_id");

$aop->rsaPrivateKey = config(‘alipay_private_key‘);

$aop->alipayrsaPublicKey = config(‘alipay_public_key‘);//對應填寫

$aop->signType = "RSA2";

//實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.trade.app.pay

Loader::import(‘/alipay/aop/request/AlipayTradeAppPayRequest‘,EXTEND_PATH);

$request = new \AlipayTradeAppPayRequest();

//SDK已經封裝掉了公共參數,這里只需要傳入業務參數

$bizcontent = json_encode(array(

‘body‘ => $data[‘body‘], //商品描述

‘subject‘ => $data[‘title‘], //支付的標題,

‘out_trade_no‘ => $data[‘ordernum‘], //支付寶訂單號必須是唯一的,只能生成一次

‘total_amount‘ => $data[‘money‘], //金額

"timeout_express" => "30m", //訂單支付有效時間 m分鐘 h小時

‘product_code‘ => ‘QUICK_MSECURITY_PAY‘

));

$request->setNotifyUrl("http://tapi.zuozuobang.com/notifyurl");//你在應用那里設置的異步回調地址

$request->setBizContent($bizcontent);

//這里和普通的接口調用不同,使用的是sdkExecute

$response = $aop->sdkExecute($request);

//htmlspecialchars是為了輸出到頁面時防止被瀏覽器將關鍵參數html轉義,實際打印到日志以及http傳輸不會有這個問題

/* echo htmlspecialchars($response);*///就是orderString 可以直接給客戶端請求,無需再做處理。

if($response){

return_msg(‘200‘,‘支付寶請求成功!‘,$response);

}else{

return_msg(‘100‘,‘支付請求失敗!‘,$response);

}

}

/*

* 支付寶支付回調

*/

public function notifyurl()

{

Loader::import(‘/alipay/aop/AopClient‘,EXTEND_PATH);

$aop = new \AopClient();

$aop->alipayrsaPublicKey =config(‘alipay_public_key‘);//對應填寫

$flag = $aop->rsaCheckV1($_POST, NULL, "RSA2");

if ($flag) {

//校驗通知數據的正確性

$out_trade_no = $_POST[‘out_trade_no‘]; //商戶訂單號

$trade_no = $_POST[‘trade_no‘]; //支付寶交易號

$trade_status = $_POST[‘trade_status‘]; //交易狀態trade_status

$total_amount = $_POST[‘total_amount‘]; //訂單的實際金額

$order = Db::table("shfw_order")->where(‘ordernum‘, $out_trade_no)->find();

if ($order) {

//只有交易通知狀態為TRADE_SUCCESS或TRADE_FINISHED時,支付寶才會認定為買家付款成功。

if ($trade_status != ‘TRADE_FINISHED‘ && $trade_status != ‘TRADE_SUCCESS‘) {

return ‘fail‘;

}

//2、判斷total_amount是否確實為該訂單的實際金額(即商戶訂單創建時的金額);

if ($total_amount != $order[‘money‘]) {

return ‘fail‘;

}

//校驗成功后在response中返回success,校驗失敗返回failure

$update = array(

‘status‘ => ‘2‘, //修改支付狀態

‘zhi_time‘ => time(), //添加支付時間

‘pay_type‘ => 1); //添加支付類型

$result = Db::table("shfw_order")->where(‘ordernum‘, $out_trade_no)->update($update);

$res = Db::table("shfw_order")->where(‘ordernum‘, $out_trade_no)->field(‘id,mid,ordernum,nickname,addtime,pay_type‘)->find();

// $member = Db::table(‘shfw_member‘)->where(‘id‘,$res[‘mid‘])->find();

//添加充值記錄

$res[‘payorder‘] = $trade_no;

$res[‘money‘] = $total_amount;

$addpay = $this->addpay($res);

if ($result && $addpay) {

return "success";

} else {

return ‘fail‘;

}

} else {

exit(‘fail‘);

}

}

}

總結

以上是生活随笔為你收集整理的支付宝 统一支付 php,支付宝APP支付 统一下单 php服务端 tp5的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。