支付寶手機網站支付
阿新 • • 發佈:2018-12-10
支付寶手機網址支付是移動端一個必不可少的功能。支付寶支付的文件還是很清楚的,可以直接看文件進行編寫。我寫一下我的程式碼 支付流程:使用者點選前端的支付,然後後臺生成支付需要的資料,傳給支付寶,支付調起輸入支付密碼 支付成功 程式碼: 1)生成需要資料的後臺方法
// 點選支付 [喚起支付] 【需要修改 已經改變了】 public function goLease(){ require_once(APP_PATH."Business/aliPay/aliPay.php"); $sc=new \Alipay(); echo $sc->aliPayApp($resOrderInfo); }
- Alipay類下面的方法
<?php /* * 支付寶支付主業務模組 * * author:HK */ header("Content-type:text/html;charset=utf-8"); require_once './nuoSystem/Plugin/aliPayPc/lib/alipay_submit.class.php'; class aliPay{ //支付寶手機APP支付 public function aliPayApp($_data) { $_pcConfig = require 'alipay.config.php'; header("Content-type:text/html;charset=utf-8"); $data["userId"] = isset($_data["userid"]) ? $_data["userid"] : 0; $data["orderNumber"] = isset($_data["ordernumber"]) ? $_data["ordernumber"] : 0; $data["orderId"] = isset($_data["orderid"]) ? $_data["orderid"] : 0; $data["totalLastMoney"] = isset($_data["totallastmoney"]) ? sprintf("%0.2f", $_data["totallastmoney"]) : 0.00; //充值金額 $parameter = array( "service" => $_pcConfig['service'], "partner" => $_pcConfig['partner'], "seller_id" => $_pcConfig['seller_id'], "payment_type" => $_pcConfig['payment_type'], "notify_url" => $_pcConfig['notify_url'], "return_url" => $_pcConfig['return_url'], "_input_charset" => trim(strtolower($_pcConfig['input_charset'])), "out_trade_no" => $data["orderNumber"], "subject" => "支付", "total_fee" => $data["totalLastMoney"], // "total_fee" => "0.01", "show_url" => "http://www.taobao.com/product/113714.html", "app_pay" => "Y", //啟用此引數能喚起錢包APP支付寶 "body" => "支付", ); //require_once('/Plugin/aliPay/lib/alipay_submit.class.php'); $alipaySubmit = new \AlipaySubmit($_pcConfig); // var_dump($alipaySubmit); // exit; $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "確認"); echo $html_text; } }
3)支付完成
4)非同步回撥處理
//PC支付寶非同步回撥業務的處理 public function alipayNotify() { require_once './nuoSystem/Plugin/aliPayPc/lib/alipay_notify.class.php'; $_pcConfig = require 'alipayApp.config.php'; //計算得出通知驗證結果 $alipayNotify = new \AlipayNotify($_pcConfig); // error_log('----'.print_r($alipayNotify,true),3,dirname(__FILE__).'/error_log123.php'); $verify_result = $alipayNotify->verifyNotify(); // error_log('===='.print_r($verify_result,true),3,dirname(__FILE__).'/error_log123.php'); return $verify_result; } //支付寶支付PC非同步回撥 public function alipayNotify() { require_once(APP_PATH."Business/aliPay/aliPay.php"); $aliPayBusiness = new \aliPay(); $verify_result = $aliPayBusiness->alipayNotify(); if ($verify_result) { $data["orderNumber"] = $_POST['out_trade_no']; $data["rechargeChongId"] = $_POST['trade_no']; //支付寶交易號 $data["rechargeContent"] = $_POST['trade_status']; $data["rechargeMoney"] = $_POST['total_fee']; //修改當前支付訂單的狀態 $resCallBackController = new CallbackController(); $resCallBackController -> backThink($data); // 呼叫事物 echo "success"; } else { echo "fail"; } }
支付完成了 *** alipay_submit.php ; alipay_notify.php 這些都是需要進行下載支付寶的sdk進行使用