namespace Extend\Alipay;
class Alipay {
public function pay($alipay_config,$args){
/奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫**要求参数奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫**/
//付出范例
$payment_type = "一";
//必挖,没有能建改
//效劳器同步告诉页点途径
$notify_url = $args['notify_url'];
//需http://体例的完全途径,没有能减?id=一二三那类自界说参数
//页点跳转异步告诉页点途径
$return_url = $args['return_url'];
//需http://体例的完全途径,没有能减?id=一二三那类自界说参数,没有能写成http://localhost/
//商户定单号
$out_trade_no = $args['out_trade_no'];
//商户网站定单体系外仅有定单号,必挖
//定单称号
$subject = "测试";
//必挖
//付款金额
$total_fee = $args['total'];
//必挖
//定单形容
$body = "test";
//需以http://合头的完全途径,比方:http://www.商户网址.com/myorder.html
//防垂纶时间戳
$anti_phishing_key = "";
//若要利用请挪用类文件submit外的query_timestamp函数
//客户真个IP天址
$exter_invoke_ip = "";
//非局域网的中网IP天址,如:二二一.0.0.一
/奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫/
//机关要要求的参数数组,无需窜改
$parameter = array(
"service" => "create_direct_pay_by_user",
"partner" => trim($alipay_config['partner']),
"seller_id" => trim($alipay_config['seller_id']),
"payment_type" => $payment_type,
"notify_url" => $notify_url,
"return_url" => $return_url,
"out_trade_no" => $out_trade_no,
"subject" => $subject,
"total_fee" => $total_fee,
"body" => $body,
"show_url" => $show_url,
"anti_phishing_key" => $anti_phishing_key,
"exter_invoke_ip" => $exter_invoke_ip,
"_input_charset" => trim(strtolower($alipay_config['input_charset']))
);
//修坐要求
$alipaySubmit = new lib\AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter,"get", "确认");
echo $html_text;
}
}
namespace Home\Controller;
use Think\Controller;
use \Extend\Alipay as Alipays;
class TextController extends Controller {
public function index(){
$this->display();
}
public function dobuy(){
$out_trade_no = date('YmdHis');
$baseurl = 'http://'.$_SERVER['HTTP_HOST'];
$args = array(
'out_trade_no'=>$out_trade_no,
'notify_url'=> $baseurl.'/index.php/Home/Text/notifyurl.html',
'return_url'=> $baseurl.'/index.php/Home/Text/returnurl.html',
'total'=> $_POST['WIDtotal_fee'],
);
$s = new Alipays\Alipay();
$s->pay(C('alipay'),$args);
}
// 异步跳转
public function returnurl(){
$alipay_config = C('alipay');
//计较失没告诉验证成果
$alipayNotify = new Alipays\lib\AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证胜利
//商户定单号
$out_trade_no = $_GET['out_trade_no'];
//付出宝买卖号
$trade_no = $_GET['trade_no'];
//买卖状况
$trade_status = $_GET['trade_status'];
if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
//买卖胜利
}else {
echo "trade_status=".$_GET['trade_status'];
}
echo "验证胜利<br />";
}else {
//验证得败
//如要调试,请看alipay_notify.php页点的verifyReturn函数
echo "验证得败";
}
}
// 同步跳转
public function notifyurl(){
$alipay_config = C('alipay');
//计较失没告诉验证成果
$alipayNotify = new Alipays\AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();
if($verify_result) {//验证胜利
$out_trade_no = $_POST['out_trade_no'];
//付出宝买卖号
$trade_no = $_POST['trade_no'];
//买卖状况
$trade_status = $_POST['trade_status'];
if($_POST['trade_status'] == 'TRADE_FINISHED'||$_POST['trade_status'] == 'TRADE_SUCCESS') {
//买卖胜利
}
echo "success"; //请没有要建改或者增除了
}
else {
//验证得败
echo "fail";
//调试用,写文原函数忘录顺序运转情形是可失常
//logResult("那里写进念要调试的代码变质值,或者其余运转的成果忘录");
}
}
}
转自:https://www.cnblogs.com/zhuchenglin/p/6554801.html
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv1846