アリペイ(Alipay)支払い、超詳細使用チュートリアル解説!
7509 ワード
1、支付宝支払ボタン呼び出し
alipayDo生成オーダーページ
アリペイの支払いページ
アリペイの同時支払結果
特別説明:サードパーティ支払クラスライブラリ、ThinkPHP下のLibrary下Vendorに格納!具体的には、私のブログリソースでダウンロードして使用することができます!
//
$('.alipayClass').bind("click",function(){
var imoney = $('#iMoney').val();
$.ajax({
type:"POST",
url:"__APP__/aliPay/aliPayDo",//
data:{money:money},
dataType:'text',
success:function(result){
var data=eval(result);
//
if (data[0] == 1) {
window.location.href="__APP__?c=aliPay&a=alipay&paymentId="+data[1];
};
//
if (data[0] == 0) {
// $(".motify").show();
// $(".motify-inner").text(data[1]);
// $('.motify').delay(1000).hide(0);
opLayer('open'," !");
$("#goodcover").delay(1000).hide(0);
$(".Wtankdiv").delay(1000).hide(0);
return;
};
}
});
});
alipayDo生成オーダーページ
//
public function alipayDo(){
if ($this->account) {
$imoney = I("post.imoney");
if (floatval($imoney)) {
//
$data['payment_id'] = date(ymdHis).$this->user_id.'w';//
$data['money'] = floatval($imoney);//
$data['cur_money'] = 0;//
$data['user_id'] = $this->user_id;
$data['user_name'] = $this->account;
$data['pay_type'] = 'excharge';
$data['bank'] = 'xxx';//
$data['pay_account'] = $this->user_id;//
$data['created_time'] = time();
$result = $this-M('create_payment')->data($data)->add();
if ($result) {
echo json_encode(array(1,$data['payment_id']));
}else{
echo json_encode(array(0,' , !'));
}
}else{
echo json_encode(array(0,' , !'));
}
}else {
echo json_encode(array(0,' !'));
}
}
アリペイの支払いページ
M('create_payments')->where('payment_id = '.$paymentId)->find();
//$type = I('type');
if ($paymentInfo['pay_type'] == 'online') {
$total_fee = round($paymentInfo['cash_fee'],2);
$subject = " ";
$body = " ";
}else{
$total_fee = round($paymentInfo['money'],2);
$subject = " ";
$body = " ";
}
$alipayConfig = alipayConfig();
$parameter = array(
"service" => $alipayConfig['service'],
"partner" => $alipayConfig['partner'],
"seller_id" => $alipayConfig['seller_id'],
"payment_type" => $alipayConfig['payment_type'],
"notify_url" => $alipayConfig['notify_url'],
"return_url" => $alipayConfig['return_url'],
"_input_charset" => trim(strtolower($alipayConfig['input_charset'])),
"out_trade_no" => $paymentId,
"subject" => $subject,
"total_fee" => $total_fee, //sprintf("%.2f", $paymentInfo['money']), 0.01, //
"show_url" => __APP__."/Pay/myCenter",
"body" => $body,
);
$alipaySubmit = new \AlipaySubmit($alipayConfig);
$html_text = $alipaySubmit->buildRequestForm($parameter,"get", " ");
echo $html_text;
}
アリペイの同時支払結果
verifyReturn();
if($verify_result) {
//
//
$out_trade_no = $_GET['out_trade_no'];
//
$trade_no = $_GET['trade_no'];
//
$trade_status = $_GET['trade_status'];
$paymentInfo = $this->M('create_payments')->where('payment_id = '.$out_trade_no)->find();
if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
//
// , (out_trade_no) ,
$this->assign('res','success');
$logdata =array(
'type'=>'expense',
'user_id'=>$paymentInfo['user_id'],
'operator'=>$paymentInfo['user_name'],
'message'=>' ',
'logtime'=>time()
);
}else{
$this->assign('res','fail');
$logdata =array(
'type'=>'expense',
'user_id'=>$paymentInfo['user_id'],
'operator'=>$paymentInfo['user_name'],
'message'=>' !',
'logtime'=>time()
);
}
}else {
//
// , alipay_notify.php verifyReturn
$logdata =array(
'type'=>'expense',
'user_id'=>$paymentInfo['user_id'],
'operator'=>$paymentInfo['user_name'],
'message'=>' !',
'logtime'=>time()
);
//$this->userDataDepositLogModel->data($logdata)->add();
$this->assign('res','fail');
}
//
//$this->display('payResult');
//
$this->userDataDepositLogModel->data($logdata)->add();
$this->assign('paymentInfo',$paymentInfo);
if ($paymentInfo['pay_type'] == 'recharge') {
$this->display('Pay/payMyResult');
}else{
$this->display('Pay/onlineMyPayResult');
}
}
特別説明:サードパーティ支払クラスライブラリ、ThinkPHP下のLibrary下Vendorに格納!具体的には、私のブログリソースでダウンロードして使用することができます!