登录 注册

登录

问题 支付宝PHP接口解读及融合VM[融合完毕, 大家拿去测试吧]

更多
2009年12月04日 19:33 - 2009年12月05日 14:54 #1 作者: 影雪
支付宝的PHP接口,呵呵,终于融合完毕了!!
 
<?php
/*
版本: Ali_VM 1.0
功能: 将支付宝即时到账接口融合到VM中
开发: sanion(影枫)
qq: 285972719
email: mail@shadowsnow.cn
版权归 影雪[www.shadowsnow.cn]所有, 转载请注明出处! 
 
安装步骤:
1. 根目录新建文件夹alipay, 放入压缩包里面的所有php文件
2. 配制好alipay_config.php
3. 在vm后台支付方式,选择基于HTML的方式,贴入index.php的代码
4. 大家可以测试了.
5. 有错误务必指出!谢了
*/
 
require_once ( JPATH_BASE .DS.'alipay'.DS.'alipay_service.php' );
require_once ( JPATH_BASE .DS.'alipay'.DS.'alipay_config.php' );
 
	$yuan = number_format($db->f("order_total"),2);
	$orders = substr($db->f("order_number"),0,16);
	$subject = $db->f("user_id");
  $body = $db->f("order_id");
 
$parameter = array(
	"service"         => "create_direct_pay_by_user",  //交易类型,此处为即时到账
	"partner"         => $partner,          //合作商户号
	"return_url"      => $return_url,       //同步返回
	"notify_url"      => $notify_url,       //异步返回
	"_input_charset"  => $_input_charset,   //字符集,默认为GBK
	"subject"         => $subject,        //商品名称,必填
	"body"            => $body,        //商品描述,必填
	"out_trade_no"    => $orders,      //商品外部交易号,必填(保证唯一性)
	"total_fee"       => $yuan,            //商品单价,必填(价格不能为0)
	"payment_type"    => "1",               //默认为1,不需要修改
	"show_url"        => $show_url,         //商品相关网站
	"seller_email"    => $seller_email      //卖家邮箱,必填
);
 
$alipay = new alipay_service($parameter,$security_code,$sign_type);
$link=$alipay->create_url();
exit("<script>window.location ="$link";</script>"); 
?>
 

附件打包下载!登陆可见

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:35 - 2009年12月05日 14:56 #2 作者: 影雪
alipay_config.php
 
<?php
 
	$partner         = "10000000000000";        //合作伙伴ID
	$security_code   = "sssssssssssssssssssssss";        //安全检验码
	$seller_email    = "mail@shadowsnow.cn";        //卖家支付宝帐户
	$_input_charset  = "GBK";   //字符编码格式 目前支持 GBK 或 utf-8
	$sign_type       = "MD5";     //加密方式 系统默认(不要修改)
	$transport       = "https";   //访问模式,你可以根据自己的服务器是否支持ssl访问而选择http以及https访问模式(系统默认,不要修改)
	$notify_url      = "http://localhost/alipay/notify_url.php"; //交易过程中服务器通知的页面 要用 http://格式的完整路径
	$return_url      = "http://localhost/alipay/return_url.php"; //付完款后跳转的页面 要用 http://格式的完整路径
	$show_url        = "http://localhost/index.php";         //你网站商品的展示地址
	$ok_url          = "http://localhost/ok.asp"; //成功返回页面
	$err_url         = "http://localhost/err.asp"; //失败返回界面
	$host_           = "localhost";                          //mysql的地址
	$user_           = "root";                                 //mysql的账户
	$pwd_            = "123456";                           //mysql的密码
	$dbname_         = "shadowsnow";              //mysql数据库名 
  $j_pix           = "jos_"             //joomla数据库的前缀
  $vm_pix          = "vm_"              //vm数据库的前缀
?>
 


路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:36 - 2009年12月05日 14:57 #3 作者: 影雪
index.php
 
 
<?php
/*
版本: Ali_VM 1.0
功能: 将支付宝即时到账接口融合到VM中
开发: sanion(影枫)
qq: 285972719
email: mail@shadowsnow.cn
版权归 影雪[www.shadowsnow.cn]所有, 转载请注明出处! 
 
安装步骤:
1. 根目录新建文件夹alipay, 放入压缩包里面的所有php文件
2. 配制好alipay_config.php
3. 在vm后台支付方式,选择基于HTML的方式,贴入index.php的代码
4. 大家可以测试了.
5. 有错误务必指出!谢了
*/
 
require_once ( JPATH_BASE .DS.'alipay'.DS.'alipay_service.php' );
require_once ( JPATH_BASE .DS.'alipay'.DS.'alipay_config.php' );
 
	$yuan = number_format($db->f("order_total"),2);
	$orders = substr($db->f("order_number"),0,16);
	$subject = $db->f("user_id");
  $body = $db->f("order_id");
 
$parameter = array(
	"service"         => "create_direct_pay_by_user",  //交易类型,此处为即时到账
	"partner"         => $partner,          //合作商户号
	"return_url"      => $return_url,       //同步返回
	"notify_url"      => $notify_url,       //异步返回
	"_input_charset"  => $_input_charset,   //字符集,默认为GBK
	"subject"         => $subject,        //商品名称,必填
	"body"            => $body,        //商品描述,必填
	"out_trade_no"    => $orders,      //商品外部交易号,必填(保证唯一性)
	"total_fee"       => $yuan,            //商品单价,必填(价格不能为0)
	"payment_type"    => "1",               //默认为1,不需要修改
	"show_url"        => $show_url,         //商品相关网站
	"seller_email"    => $seller_email      //卖家邮箱,必填
);
 
$alipay = new alipay_service($parameter,$security_code,$sign_type);
$link=$alipay->create_url();
exit("<script>window.location ="$link";</script>"); 
?>
 
 
 

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:38 - 2009年12月05日 14:57 #4 作者: 影雪
notify_url.php
 
 
<?php
require_once("alipay_notify.php");
require_once("alipay_config.php");
require_once("alipay_db.php");
$dbs = new DBconn();
$alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
$verify_result = $alipay->notify_verify();
if($verify_result) {
 
	empty($_POST['out_trade_no'])? $orders = $_POST['out_trade_no']: exit("fail");
	empty($_POST['total_fee'])? $yuan = $_POST['total_fee']: exit("fail");
	empty($_POST['subject'])? $user_id = $_POST['subject']: exit("fail");
	empty($_POST['body'])? $order_id = $_POST['body']: exit("fail");
 
	if (!isset($_POST['trade_status'])) exit("fail");
	if (!preg_match('/^[0-9]{1,16}$/',$orders)) exit("fail");
	number_format($yuan,2)? $yuan=number_format($yuan,2): exit("fail");
	ctype_digit($user_id)? $user_id=intval($user_id): exit("fail");
	ctype_digit($order_id)? $order_id=intval($order_id): exit("fail");
    
 
	if($_POST['trade_status'] == 'WAIT_BUYER_PAY') {
 
		$exe = "SELECT `order_number`,`order_total` FROM  `".$j_pix.$vm_pix."orders` where  `order_id` = $order_id and `user_id` = $user_id and  `order_status` = 1  limit 1 ";
		if(!$dbs->query($exe)) exit("fail");
		$rows = $dbs->fetch();
		$order_number = substr($rows->order_number,0,16);
		$order_total = number_format($rows->order_total,2);
		if ( $yuan != $order_total || $orders != $order_total ) exit("fail");
		$exe = "UPDATE   `".$j_pix.$vm_pix."orders`  SET `order_status` = 5 where  `order_id` =$order_id and `user_id`=$user_id and  `order_status` = 1 limit 1";
   	if (!$dbs->execute($exe)) exit("fail");
   	exit("success");
   	
	}
	else if($_POST['trade_status'] == 'TRADE_FINISHED' ||$_POST['trade_status'] == 'TRADE_SUCCESS') {
 
		$exe = "SELECT `order_number`,`order_total` FROM  `".$j_pix.$vm_pix."orders` where  `order_id` =$order_id and `user_id`=$user_id and  `order_status` = 5  limit 1 ";
		if(!$dbs->query($exe)) exit("fail");
		$rows = $dbs->fetch();
		$order_number = substr($rows->order_number,0,16);
		$order_total = number_format($rows->order_total,2);
		if ( $yuan != $order_total || $orders != $order_total ) exit("fail");
		$exe = "UPDATE `".$j_pix.$vm_pix."orders`  SET `order_status` = 2 where  `order_id` =$order_id and `user_id`=$user_id and  `order_status` = 5 limit 1";
   	if (!$dbs->execute($exe)) exit("fail");
   	exit("success");
 
	}	
	else {
		 exit("fail");
	}
}
else {
	 exit("fail");
}
 
unset($dbs);
?>

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:39 - 2009年12月05日 14:58 #5 作者: 影雪
alipay_notify.php
 
<?php
 
class alipay_notify {
	var $gateway;           //支付接口
	var $security_code;  	//安全校验码
	var $partner;           //合作伙伴ID
	var $sign_type;         //加密方式 系统默认
	var $mysign;            //签名     
	var $_input_charset;    //字符编码格式
	var $transport;         //访问模式
	function alipay_notify($partner,$security_code,$sign_type = "MD5",$_input_charset = "GBK",$transport= "https") {
		$this->partner        = $partner;
		$this->security_code  = $security_code;
		$this->sign_type      = $sign_type;
		$this->mysign         = "";
		$this->_input_charset = $_input_charset ;
		$this->transport      = $transport;
		if($this->transport == "https") {
			$this->gateway = "https://www.alipay.com/cooperate/gateway.do?";
		}else $this->gateway = "http://notify.alipay.com/trade/notify_query.do?";
	}
 
  //对notify_url的认证
	function notify_verify() {   
		if($this->transport == "https") {
			$veryfy_url = $this->gateway. "service=notify_verify" ."&partner=" .$this->partner. "&notify_id=".$_POST["notify_id"];
		} else {
			$veryfy_url = $this->gateway. "partner=".$this->partner."&notify_id=".$_POST["notify_id"];
		}
		$veryfy_result = $this->get_verify($veryfy_url);
		$post          = $this->para_filter($_POST);
		$sort_post     = $this->arg_sort($post);
		while (list ($key, $val) = each ($sort_post)) {
			$arg.=$key."=".$val."&";
		}
		$prestr = substr($arg,0,count($arg)-2);  //去掉最后一个&号
		$this->mysign = $this->sign($prestr.$this->security_code);
		log_result("notify_url_log:sign=".$_POST["sign"]."&mysign=".$this->mysign."&".$this->charset_decode(implode(",",$_POST),$this->_input_charset ));
		if (eregi("true$",$veryfy_result) && $this->mysign == $_POST["sign"])  {
			return true;
		} else return false;
	}
 
  //对return_url的认证
	function return_verify() {  
		$sort_get= $this->arg_sort($_GET);
		while (list ($key, $val) = each ($sort_get)) {
			if($key != "sign" && $key != "sign_type")
			$arg.=$key."=".$val."&";
		}
		$prestr = substr($arg,0,count($arg)-2);  //去掉最后一个&号
		$this->mysign = $this->sign($prestr.$this->security_code);
		/*while (list ($key, $val) = each ($_GET)) {
		$arg_get.=$key."=".$val."&";
		}*/
		log_result("return_url_log=".$_GET["sign"]."&".$this->mysign."&".$this->charset_decode(implode(",",$_GET),$this->_input_charset ));
		if ($this->mysign == $_GET["sign"])  return true;
		else return false;
	}
 
	function get_verify($url,$time_out = "60") {
		$urlarr     = parse_url($url);
		$errno      = "";
		$errstr     = "";
		$transports = "";
		if($urlarr["scheme"] == "https") {
			$transports = "ssl://";
			$urlarr["port"] = "443";
		} else {
			$transports = "tcp://";
			$urlarr["port"] = "80";
		}
		$fp=@fsockopen($transports . $urlarr['host'],$urlarr['port'],$errno,$errstr,$time_out);
		if(!$fp) {
			die("ERROR: $errno - $errstr
\n");
		} else {
			fputs($fp, "POST ".$urlarr["path"]." HTTP/1.1\r\n");
			fputs($fp, "Host: ".$urlarr["host"]."\r\n");
			fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
			fputs($fp, "Content-length: ".strlen($urlarr["query"])."\r\n");
			fputs($fp, "Connection: close\r\n\r\n");
			fputs($fp, $urlarr["query"] . "\r\n\r\n");
			while(!feof($fp)) {
				$info[]=@fgets($fp, 1024);
			}
			fclose($fp);
			$info = implode(",",$info);
			while (list ($key, $val) = each ($_POST)) {
				$arg.=$key."=".$val."&";
			}
			log_result("notify_url_log=".$url.$this->charset_decode($info,$this->_input_charset));
			log_result("notify_url_log=".$this->charset_decode($arg,$this->_input_charset));
			return $info;
		}
	}
 
	function arg_sort($array) {
		ksort($array);
		reset($array);
		return $array;
	}
 
	function sign($prestr) {
		$sign='';
		if($this->sign_type == 'MD5') {
			$sign = md5($prestr);
		}elseif($this->sign_type =='DSA') {
			//DSA 签名方法待后续开发
			die("DSA 签名方法待后续开发,请先使用MD5签名方式");
		}else {
			die("支付宝暂不支持".$this->sign_type."类型的签名方式");
		}
		return $sign;
	}
 
 //除去数组中的空值和签名模式
	function para_filter($parameter) { 
		$para = array();
		while (list ($key, $val) = each ($parameter)) {
			if($key == "sign" || $key == "sign_type" || $val == "")continue;
			else	$para[$key] = $parameter[$key];
		}
		return $para;
	}
 
 //实现多种字符编码方式
	function charset_encode($input,$_output_charset ,$_input_charset ="GBK" ) {
		$output = "";
		if(!isset($_output_charset) )$_output_charset  = $this->parameter['_input_charset'];
		if($_input_charset == $_output_charset || $input ==null ) {
			$output = $input;
		} elseif (function_exists("mb_convert_encoding")){
			$output = mb_convert_encoding($input,$_output_charset,$_input_charset);
		} elseif(function_exists("iconv")) {
			$output = iconv($_input_charset,$_output_charset,$input);
		} else die("sorry, you have no libs support for charset change.");
		return $output;
	}
 
 
  //实现多种字符解码方式
	function charset_decode($input,$_input_charset ,$_output_charset="GBK"  ) {
		$output = "";
		if(!isset($_input_charset) )$_input_charset  = $this->_input_charset ;
		if($_input_charset == $_output_charset || $input ==null ) {
			$output = $input;
		} elseif (function_exists("mb_convert_encoding")){
			$output = mb_convert_encoding($input,$_output_charset,$_input_charset);
		} elseif(function_exists("iconv")) {
			$output = iconv($_input_charset,$_output_charset,$input);
		} else die("sorry, you have no libs support for charset changes.");
		return $output;
	}
 
}
?>

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:43 - 2009年12月05日 14:59 #6 作者: 影雪
return_url.php
 
<?php
require_once("alipay_notify.php");
require_once("alipay_config.php");
require_once("alipay_db.php");
$dbs = new DBconn();
$alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
$verify_result = $alipay->return_verify();
if (!isset($_POST['trade_status'])) $dbs->alertu('Pay Error !' ,$err_url);
if($verify_result) { 
	if($_POST['trade_status'] == 'WAIT_BUYER_PAY') {        
  	$dbs->alertu('Please Pay First !' ,$err_url);
	}
	else if($_POST['trade_status'] == 'TRADE_FINISHED' ||$_POST['trade_status'] == 'TRADE_SUCCESS') {
	 $dbs->alertu('Pay Successed !' ,$ok_url);
  }
  else {
		$dbs->alertu('Pay Error !' ,$err_url);
	}
}
else {
	$dbs->alertu('Pay Error !' ,$err_url);
}
unset($dbs);
?>

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:45 - 2009年12月05日 15:01 #7 作者: 影雪
alipay_service.php
 
 
<?php
 
class alipay_service {
 
	var $gateway = "https://www.alipay.com/cooperate/gateway.do?";         //支付接口
	var $parameter;       //全部需要传递的参数
	var $security_code;   //安全校验码
	var $mysign;          //签名
 
	//构造支付宝外部服务接口控制
	function alipay_service($parameter,$security_code,$sign_type = "MD5",$transport= "https") {
		$this->parameter      = $this->para_filter($parameter);
		$this->security_code  = $security_code;
		$this->sign_type      = $sign_type;
		$this->mysign         = '';
		$this->transport      = $transport;
		if($parameter['_input_charset'] == "")
		$this->parameter['_input_charset']='GBK';
		if($this->transport == "https") {
			$this->gateway = "https://www.alipay.com/cooperate/gateway.do?";
		} else $this->gateway = "http://www.alipay.com/cooperate/gateway.do?";
		$sort_array  = array();
		$arg         = "";
		$sort_array  = $this->arg_sort($this->parameter);
		while (list ($key, $val) = each ($sort_array)) {
			$arg.=$key."=".$this->charset_encode($val,$this->parameter['_input_charset'])."&";
		}
		$prestr = substr($arg,0,count($arg)-2);  //去掉最后一个问号
		$this->mysign = $this->sign($prestr.$this->security_code);
	}
 
	function create_url() {
		$url         = $this->gateway;
		$sort_array  = array();
		$arg         = "";
		$sort_array  = $this->arg_sort($this->parameter);
		while (list ($key, $val) = each ($sort_array)) {
			$arg.=$key."=".urlencode($this->charset_encode($val,$this->parameter['_input_charset']))."&";
		}
		$url.= $arg."sign=" .$this->mysign ."&sign_type=".$this->sign_type;
		return $url;
	}
 
	function arg_sort($array) {
		ksort($array);
		reset($array);
		return $array;
	}
 
	function sign($prestr) {
		$mysign = "";
		if($this->sign_type == 'MD5') {
			$mysign = md5($prestr);
		}elseif($this->sign_type =='DSA') {
			//DSA 签名方法待后续开发
			die("DSA 签名方法待后续开发,请先使用MD5签名方式");
		}else {
			die("支付宝暂不支持".$this->sign_type."类型的签名方式");
		}
		return $mysign;
	}
	function para_filter($parameter) { //除去数组中的空值和签名模式
		$para = array();
		while (list ($key, $val) = each ($parameter)) {
			if($key == "sign" || $key == "sign_type" || $val == "")continue;
			else	$para[$key] = $parameter[$key];
		}
		return $para;
	}
	//实现多种字符编码方式
	function charset_encode($input,$_output_charset ,$_input_charset ="GBK" ) {
		$output = "";
		if(!isset($_output_charset) )$_output_charset  = $this->parameter['_input_charset'];
		if($_input_charset == $_output_charset || $input ==null) {
			$output = $input;
		} elseif (function_exists("mb_convert_encoding")){
			$output = mb_convert_encoding($input,$_output_charset,$_input_charset);
		} elseif(function_exists("iconv")) {
			$output = iconv($_input_charset,$_output_charset,$input);
		} else die("sorry, you have no libs support for charset change.");
		return $output;
	}
}
?>

alipay_db.php
 
 
<?php
 
class DBconn{
 
	private $host;
	private $user;
	private $pwd;
	private $dbname;
	private $conn;
	private $sql;
	private $result;
 
	function __construct(){
		$this->host=$GLOBALS['host_'] ;
		$this->user=$GLOBALS['user_'] ;
		$this->pwd=$GLOBALS['pwd_'] ;
		$this->dbname=$GLOBALS['dbname_'] ;
		$this->conn=mysql_connect($this->host,$this->user,$this->pwd) or exit("MySQL Error : " . mysql_error());
		mysql_select_db($this->dbname,$this->conn) or exit("MySQL Error : " . mysql_error());
 
	}
 
	function __destruct(){
		mysql_close($this->conn) or exit("MySQL Error : " . mysql_error());
	}
 
	function __get($property_name){
		if (isset($this->property_name)){
		  	return  $this->property_name;
		}
		else{
			return NULL;
		}
	}
 
	function __set($property_name,$value){
		$this->property_name=$this->value;
	}
 
	//增删改
	function execute($sql){
		$this->sql=$sql;
		$this->result=mysql_query($sql,$this->conn) or exit("MySQL Error : " . mysql_error());
		$affected_rows=mysql_affected_rows($this->conn);
		return $affected_rows;
	}
 
	//查询
	function query($sql){
		$this->sql=$sql;
		$this->result=mysql_query($sql,$this->conn) or exit("MySQL Error : " . mysql_error());
		$num_rows=mysql_num_rows($this->result);
		return $num_rows;
	}
 
	//获取记录集
	function result($sql){
		$this->sql=$sql;
		$this->result=mysql_query($sql,$this->conn) or exit("MySQL Error : " . mysql_error());
		return $this->result;
	}
 
	//获取当前记录行
	function fetch(){
		$fetch_object=mysql_fetch_object($this->result);
		return $fetch_object;
	}
 
	//32次md5加密
	function md8($data){
		for ($i = 0; $i < 32; $i  ) { 
			$data = md5($data); 
		} 
		return $data; 
	} 
 
	//24次md5加密, 明文
	function md7($data){
		for ($i = 0; $i < 24; $i  ) { 
			$data = md5($data); 
		} 
		return $data; 
	} 
 
	//8次md5加密,密文, 注:  md1(md7($str))=md8($str)
	function md1($data){
		for ($i = 0; $i < 8; $i  ) { 
			$data = md5($data); 
		} 
		return $data;  
	} 
	function alertu($astr,$aurl){
		exit("<Script Language=JavaScript>alert('".$astr."');location.href='".$aurl."';</Script>");
	}
 
}
?>

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月04日 19:55 - 2009年12月04日 22:04 #8 作者: 影雪
alipay_notify.php是签约用户使用,有partner和security_code,用fsockopen发起请求(asp用的是XMLhttpRequest)

关于partner和security_code的获取
1.申请签约商户,成为支付宝合作伙伴,交600元
2.申请签约商户,拒交钱,这时也有partner和security_code,出现错误代码 HAS_NO_PRIVILEGE
3.支付宝注册后默认好像没有partner和security_code
4.用别人的partner和security_code,用自己的支付宝账号,一样可以支付,但是安全性就差了(超过多少有手续费).
5.所谓的非签约支付宝接口,应该就是第4种情况,我一直都是这么用的,600块钱可以干很多事情

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月05日 14:25 #9 作者: 影雪
呵呵,融合完毕,正在测试!!

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月05日 15:04 #10 作者: 影雪
注: 测试需要partner和security_code, 如有需要,可以拿我的去试试, 联系mail@shadowsnow.cn

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月06日 09:25 #11 作者: Joomla之门
提个建议:你期望用户在 Joomla 网站上怎样去用你的“支付宝接口”?跟什么来“接”?

这个问题对于编程高手来说,可以换来一句讥讽:有了接口做什么都行啊,想接什么就接什么。

但是,我想说说普通用户的心声:对于我这样的编程文盲来说,“跟什么程序都能接”也就意味着“跟什么都接不上”。因为我不懂编程,我怎么能把这个支付宝整合到我的 VM 商店程序去卖商品?或者整合到我的下载系统去卖软件?

所以,建议楼主再辛苦一下:如果你希望造福于 Joomla 用户,就把产品做成“Joomla 标准”,也就是说,我们点击下鼠标就能挂接好,而不是去研究代码。

VirtueMart 商店组件后台有“添加支付网关”的功能,但是你的软件必须做成 VM 要求的那种安装包,才能即插即用。像楼上贴出的这种代码,只能由高手去用了,跟普通用户无关。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
下列用户已致谢:: johntao

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月06日 15:35 #12 作者: 影雪
说得也对,只有完成了智能化,才是真正的融合,过几天再研究下前人怎么组织安装包的? 白老大有没有现成的paypal接口参考下,懒得到处乱找了...
另外资金紧张, 缺个支持fsockopen可供测试的空间...不知道哪位仁兄暂借个目录来完成test

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月10日 09:00 #13 作者: xsyqm
呵,找了N久了,太谢谢了~~~~~~~~~~~~~~

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月10日 19:49 #14 作者: 影雪
试试可不可以

路漫漫而修远兮,吾将上下而求索 [本人开发的免费网赚程序  www.shadowsnow.cn/GetForFree/index.asp ]

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月21日 15:35 #15 作者: rewing
和我现在用的区别挺大的,多了两个文件db.php和index.php
另外,楼主这个好现是改自网络上早期的免费版,不支持joomla 1.5吧。订单是否能自动确认?
网络上原有的插件有很多问题,我直接用的是买来的奇昔网络出品的商业插件

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月21日 16:41 #16 作者: MisterZou
希望能自动化,毕竟大家对编程不一定都很熟.
也期待中国能尽快出个支付宝接口,加快Joomla在中国的普及率.

提个建议:你期望用户在 Joomla 网站上怎样去用你的“支付宝接口”?跟什么来“接”?

这个问题对于编程高手来说,可以换来一句讥讽:有了接口做什么都行啊,想接什么就接什么。

但是,我想说说普通用户的心声:对于我这样的编程文盲来说,“跟什么程序都能接”也就意味着“跟什么都接不上”。因为我不懂编程,我怎么能把这个支付宝整合到我的 VM 商店程序去卖商品?或者整合到我的下载系统去卖软件?

所以,建议楼主再辛苦一下:如果你希望造福于 Joomla 用户,就把产品做成“Joomla 标准”,也就是说,我们点击下鼠标就能挂接好,而不是去研究代码。

VirtueMart 商店组件后台有“添加支付网关”的功能,但是你的软件必须做成 VM 要求的那种安装包,才能即插即用。像楼上贴出的这种代码,只能由高手去用了,跟普通用户无关。

下列用户已致谢:: johntao

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年12月27日 00:05 #17 作者: tklife
强烈支持,顶一下

相信广大人民群众的选择——支付宝!

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年02月20日 16:27 #18 作者: find

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年03月02日 17:21 #19 作者: seofox
另一个支付宝测试接口:http://www.4fbbs.cn/jm/index.php?Itemid=71

blog.csdn.net/joomlaer
精通Joomla!从这里出发,QQ群 65563991

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年04月09日 01:20 #20 作者: MisterZou
什么时候可以拿出来分享?

登录 或者   注册一个会员帐号 来参与讨论