支付宝的商户注册方式
您好,为了更好的帮您解决问题,请您联系商户客服咨询即可。点击链接http://help.alipay.com/support/index_sh.htm联系商户的在线客服(工作时间:周一至周日9:00-22:00)咨询或拨打商户服务热线0571-88158090(工作时间:周一至周五9:00-18:00,节假日除外)温馨提示:如果您要联系商户在线客服,请您先关闭现在的对话框,再找到商家在线客服,点击“点此咨询”即可进入商家在线客服咨询。
pangdan118
发表于 2011-12-18 19:30:31
大概思路就是
1.把支付宝官方示例代码中的lib文件夹下的所有文件改名,比如:service.class.php改成Service.php,把里面加载文件的那句去掉,
2,在tp的Vendor目录下新建一个Alipay文件夹(不用新建一个目录页可以),把第一步修改好的文件放进去。3新建一个OrderAction.class.php,
public function _initialize() {
<?php
class OrderAction extends Action {
public function _initialize() {
Vendor('Alipay.Corefunction');
Vendor('Alipay.Notify');
Vendor('Alipay.Service');
Vendor('Alipay.Submit');
Vendor('Alipay.Alipayconfig');
}
function alipayto() {
C('TOKEN_ON',false);
$aliapy_config = alicofings();
$out_trade_no = 'gds' . date('Ymdhis', time()) . round(0, 100);
$subject = $_POST['subject'];
$body = $_POST['body'];
$total_fee = $_POST['total_fee'];
$paymethod = '';
$defaultbank = '';
$anti_phishing_key = '';
$exter_invoke_ip = '';
$show_url = 'http://www.uvmonopoly.com';
$extra_common_param = '';
$royalty_type = "";
$royalty_parameters = "";
$parameter = array (
"service" => "create_direct_pay_by_user",
"payment_type" => "1",
"partner" => trim($aliapy_config['partner']
), "_input_charset" => trim(strtolower($aliapy_config['input_charset'])), "seller_email" => trim($aliapy_config['seller_email']), "return_url" => trim($aliapy_config['return_url']), "notify_url" => trim($aliapy_config['notify_url']), "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body, "total_fee" => $total_fee, "paymethod" => $paymethod, "defaultbank" => $defaultbank, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "show_url" => $show_url, "extra_common_param" => $extra_common_param, "royalty_type" => $royalty_type, "royalty_parameters" => $royalty_parameters);
$d = D('Order');
$d->create();
$d->user_id = Cookie :: get('user_id');
$d->total_fee = $total_fee;
$d->order_id = $out_trade_no;
$d->creat_time=time();
$d->trde_status = 0;
if (false !== $d->add()) {
$alipayService = new AlipayService($aliapy_config);
$html_text = $alipayService->create_direct_pay_by_user($parameter);
$this->assign('alipay', $html_text);
$this->assign('total_fee', $total_fee);
$this->display();
} else {
$this->error('系统错误暂时不能充值,请联系在线客服!');
}
}
public function returnurl() {
$aliapy_config = alicofings();
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyReturn();
if ($verify_result) { //验证成功
$out_trade_no = $_GET['out_trade_no']; //获取订单号
$trade_no = $_GET['trade_no']; //获取支付宝交易号
$total_fee = $_GET['total_fee']; //获取总价格
$d = D('Order');
$result = $d->where("order_id='.$trade_no.'")->select();
$status = $result[0]['trde_statuse'];
if ($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
if ($status == 0) {
$d->create();
$d->trde_status = 1;
$d->alipay_trade_no;
$d->total->fee = $total_fee;
}
} else {
//echo "trade_status=" . $_GET['trade_status'];
$this->assign('msg','充值失败!');
}
echo "验证成功<br />";
echo "trade_no=" . $trade_no;
} else {
$this->assign('msg','验证失败');
}
$this->display();
}
public function notifyurl() {
$aliapy_config = alicofings();
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyNotify();
if ($verify_result) { //验证成功
$out_trade_no = $_POST['out_trade_no']; //获取订单号
$trade_no = $_POST['trade_no']; //获取支付宝交易号
$total_fee = $_POST['total_fee']; //获取总价格
if ($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS') { //交易成功结束
echo "success"; //请不要修改或删除
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
} else {
echo "success"; //其他状态判断。普通即时到帐中,其他状态不用判断,直接打印success。
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
/
} else {
//验证失败
echo "fail";
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
}
}
?>
支付接口配置文件写法:
<?php
function alicofings(){
$aliapy_config['partner'] = '2088302763';
//安全检验码,以数字和字母组成的32位字符
$aliapy_config['key'] = 'm8ve6f5x1d90hjl5e95';
//签约支付宝账号或卖家支付宝帐户
$aliapy_config['seller_email'] = 'qiyunnetwork@vip.163.com';
//页面跳转同步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数
//return_url的域名不能写成http://localhost/create_direct_pay_by_user_php_utf8/return_url.php ,否则会导致return_url执行无效
$aliapy_config['return_url'] = 'http://www.x.com/order/returnurl.html';
//服务器异步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数
$aliapy_config['notify_url'] = 'http://www.gudashi.com/order/notifyurl.html';
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//签名方式 不需修改
$aliapy_config['sign_type'] = 'MD5';
//字符编码格式 目前支持 gbk 或 utf-8
$aliapy_config['input_charset']= 'utf-8';
//访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
$aliapy_config['transport'] = 'http';
return $aliapy_config;
}
?>
就写这么多把,懒得打字,我发源码,相信一看就能明吧,这样做的好处就是可以快速集成,5分钟绝对可以搞定支付接口
要是你5分钟搞不定,那还是回家带孩子去吧!!^^^^^开个小玩笑...
-
9.26 KB, 下载次数: 576