alipay 的几个内核功能文件:
AlipayFunction.Java

package com.test.util.alipay;import java.io.FileWriter;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;public class AlipayFunction {/*** 功能:生成签名结果* @param sArray 要签名的数组* @param key 安全校验码* @return 签名结果字符串*/public static String BuildMysign(Map sArray, String key) {String prestr = CreateLinkString(sArray);  //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串prestr = prestr + key;                     //把拼接后的字符串再与安全校验码直接连接起来String mysign = Md5Encrypt.md5(prestr);return mysign;}/*** 功能:除去数组中的空值和签名参数* @param sArray 签名参数组* @return 去掉空值与签名参数后的新签名参数组*/public static Map ParaFilter(Map sArray){List keys = new ArrayList(sArray.keySet());Map sArrayNew = new HashMap();for(int i = 0; i < keys.size(); i++){String key = (String) keys.get(i);String value = (String) sArray.get(key);if( value == null || value.equals("") ||key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("sign_type")){continue;}sArrayNew.put(key, value);}return sArrayNew;}/*** 功能:把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串* @param params 需要排序并参与字符拼接的参数组* @return 拼接后字符串*/public static String CreateLinkString(Map params){List keys = new ArrayList(params.keySet());Collections.sort(keys);String prestr = "";for (int i = 0; i < keys.size(); i++) {String key = (String) keys.get(i);String value = (String) params.get(key);if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符prestr = prestr + key + "=" + value;} else {prestr = prestr + key + "=" + value + "&";}}return prestr;}/*** 功能:写日志,方便测试(看网站需求,也可以改成把记录存入数据库)* @param sWord 要写入日志里的文本内容*/public static void LogResult(String sWord){// 该文件存在于和应用服务器 启动文件同一目录下,文件名是alipay log加服务器时间try {FileWriter writer = new FileWriter("D:\\alipay_log" + System.currentTimeMillis() + ".txt");writer.write(sWord);writer.close();} catch (Exception e) {e.printStackTrace();}}/*** 功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数* 注意:远程解析XML出错,与服务器是否支持SSL等配置有关* @param partner 合作身份者ID* @return 时间戳字符串* @throws IOException* @throws DocumentException* @throws MalformedURLException*/public static String query_timestamp(String partner)throws MalformedURLException, DocumentException, IOException {String strUrl = "https://mapi.alipay.com/gateway.do?service=query_timestamp&partner="+partner;StringBuffer buf1 = new StringBuffer();SAXReader reader = new SAXReader();Document doc = reader.read(new URL(strUrl).openStream());List<Node> nodeList = doc.selectNodes("//alipay/*");for (Node node : nodeList) {// 截取部分不需要解析的信息if (node.getName().equals("is_success")&& node.getText().equals("T")) {// 判断是否有成功标示List<Node> nodeList1 = doc.selectNodes("//response/timestamp/*");for (Node node1 : nodeList1) {buf1.append(node1.getText());}}}return buf1.toString();}
}

AlipayNotify.java

package com.test.util.alipay;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;import com.test.constants.AlipayConfig;public class AlipayNotify {/*** *功能:根据反馈回来的信息,生成签名结果* @param Params 通知返回来的参数数组* @param key 安全校验码* @return 生成的签名结果*/public static String GetMysign(Map Params, String key){Map sParaNew = AlipayFunction.ParaFilter(Params);//过滤空值、sign与sign_type参数String mysign = AlipayFunction.BuildMysign(sParaNew, key);//获得签名结果return mysign;}/*** *功能:获取远程服务器ATN结果,验证返回URL* @param notify_id 通知校验ID* @return 服务器ATN结果* 验证结果集:* invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空* true 返回正确信息* false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟*/public static String Verify(String notify_id){//获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求String transport = AlipayConfig.transport;String partner = AlipayConfig.partner;String veryfy_url = "";if(transport.equalsIgnoreCase("https")){veryfy_url = "https://www.alipay.com/cooperate/gateway.do?service=notify_verify";} else{veryfy_url = "http://notify.alipay.com/trade/notify_query.do?";}veryfy_url = veryfy_url + "&partner=" + partner + "¬ify_id=" + notify_id;String responseTxt = CheckUrl(veryfy_url);return responseTxt;}/*** *功能:获取远程服务器ATN结果* @param urlvalue 指定URL路径地址* @return 服务器ATN结果* 验证结果集:* invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空* true 返回正确信息* false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟*/public static String CheckUrl(String urlvalue){String inputLine = "";try {URL url = new URL(urlvalue);HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));inputLine = in.readLine().toString();} catch (Exception e) {e.printStackTrace();}return inputLine;}
}

AlipayService.java

package com.test.util.alipay;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class AlipayService {/*** 功能:构造表单提交HTML* @param partner 合作身份者ID* @param seller_email 签约支付宝账号或卖家支付宝帐户* @param return_url 付完款后跳转的页面 要用 以http开头格式的完整路径,不允许加?id=123这类自定义参数* @param notify_url 交易过程中服务器通知的页面 要用 以http开格式的完整路径,不允许加?id=123这类自定义参数* @param show_url 网站商品的展示地址,不允许加?id=123这类自定义参数* @param out_trade_no 请与贵网站订单系统中的唯一订单号匹配* @param subject 订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。* @param body 订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里* @param total_fee 订单总金额,显示在支付宝收银台里的“应付总额”里* @param paymethod 默认支付方式,四个值可选:bankPay(网银); cartoon(卡通); directPay(余额);  CASH(网点支付)* @param defaultbank 默认网银代号,代号列表见club.alipay.com/read.php?tid=8681379* @param encrypt_key 防钓鱼时间戳* @param exter_invoke_ip 买家本地电脑的IP地址* @param extra_common_param 自定义参数,可存放任何内容(除等特殊字符外),不会显示在页面上* @param buyer_email 默认买家支付宝账号* @param royalty_type 提成类型,该值为固定值:10,不需要修改* @param royalty_parameters 提成信息集,与需要结合商户网站自身情况动态获取每笔交易的各分润收款账号、各分润金额、各分润说明。最多只能设置10条* @param input_charset 字符编码格式 目前支持 GBK 或 utf-8* @param key 安全校验码* @param sign_type 签名方式 不需修改* @param key 安全校验码* @return 表单提交HTML文本*/public static String BuildForm(String partner,String seller_email,String return_url,String notify_url,String show_url,String out_trade_no,String subject,String body,String total_fee,String paymethod,String defaultbank,String anti_phishing_key,String exter_invoke_ip,String extra_common_param,String buyer_email,String royalty_type,String royalty_parameters,String input_charset,String key,String sign_type,String it_b_pay){Map sPara = new HashMap();sPara.put("service","create_direct_pay_by_user");sPara.put("payment_type","1");sPara.put("partner", partner);sPara.put("seller_email", seller_email);sPara.put("return_url", return_url);sPara.put("notify_url", notify_url);sPara.put("_input_charset", input_charset);sPara.put("show_url", show_url);sPara.put("out_trade_no", out_trade_no);sPara.put("subject", subject);sPara.put("body", body);sPara.put("total_fee", total_fee);sPara.put("paymethod", paymethod);sPara.put("defaultbank", defaultbank);sPara.put("anti_phishing_key", anti_phishing_key);sPara.put("exter_invoke_ip", exter_invoke_ip);sPara.put("extra_common_param", extra_common_param);sPara.put("buyer_email", buyer_email);sPara.put("royalty_type", royalty_type);sPara.put("royalty_parameters", royalty_parameters);sPara.put("it_b_pay", it_b_pay);Map sParaNew = AlipayFunction.ParaFilter(sPara); //除去数组中的空值和签名参数String mysign = AlipayFunction.BuildMysign(sParaNew, key);//生成签名结果
        StringBuffer sbHtml = new StringBuffer();List keys = new ArrayList(sParaNew.keySet());String gateway = "https://www.alipay.com/cooperate/gateway.do?";//GET方式传递//sbHtml.append("<form id=\"alipaysubmit\" name=\"alipaysubmit\" action=\"" + gateway + "_input_charset=" + input_charset + "\" method=\"get\">");//POST方式传递(GET与POST二必选一)sbHtml.append("<form id=\"alipaysubmit\" name=\"alipaysubmit\" action=\"" + gateway + "_input_charset=" + input_charset + "\" method=\"post\">");for (int i = 0; i < keys.size(); i++) {String name = (String) keys.get(i);String value = (String) sParaNew.get(name);sbHtml.append("<input type=\"hidden\" name=\"" + name + "\" value=\"" + value + "\"/>");}sbHtml.append("<input type=\"hidden\" name=\"sign\" value=\"" + mysign + "\"/>");sbHtml.append("<input type=\"hidden\" name=\"sign_type\" value=\"" + sign_type + "\"/>");//submit按钮控件请不要含有name属性sbHtml.append("<input type=\"submit\" value=\"支付宝确认付款\"></form>");sbHtml.append("<script>document.forms['alipaysubmit'].submit();</script>");return sbHtml.toString();}
}

Md5Encrypt.java

package com.test.util.alipay;import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;import com.test.constants.AlipayConfig;/**
* 功能:支付宝MD5加密处理核心文件,不需要修改
* 版本:3.1
* 修改日期:2010-11-01
* 说明:
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
* 该代码仅供学习和研究支付宝接口使用,只是提供一个
* */public class Md5Encrypt {/*** Used building output as Hex*/private static final char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6','7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };/*** 对字符串进行MD5加密** @param text 明文* @return 密文*/public static String md5(String text) {MessageDigest msgDigest = null;try {msgDigest = MessageDigest.getInstance("MD5");} catch (NoSuchAlgorithmException e) {throw new IllegalStateException("System doesn't support MD5 algorithm.");}try {msgDigest.update(text.getBytes(AlipayConfig.input_charset));    //注意改接口是按照指定编码形式签名
 } catch (UnsupportedEncodingException e) {throw new IllegalStateException("System doesn't support your  EncodingException.");}byte[] bytes = msgDigest.digest();String md5Str = new String(encodeHex(bytes));return md5Str;}public static char[] encodeHex(byte[] data) {int l = data.length;char[] out = new char[l << 1];// two characters form the hex value.for (int i = 0, j = 0; i < l; i++) {out[j++] = DIGITS[(0xF0 & data[i]) >>> 4];out[j++] = DIGITS[0x0F & data[i]];}return out;}}

AlipayConfig.java这里是对账号,Key,回调连接地址等一些设置

package com.test.constants;import java.util.Properties;import com.test.util.PropertiesUtil;public class AlipayConfig {private static AlipayConfig  alconfig = null;private AlipayConfig(){}public static AlipayConfig getInstance(){if(alconfig==null){alconfig = new AlipayConfig();}return alconfig;}// 如何获取安全校验码和合作身份者ID// 1.访问支付宝商户服务中心(b.alipay.com),然后用您的签约支付宝账号登陆.// 2.访问“技术服务”→“下载技术集成文档”(https://b.alipay.com/support/helperApply.htm?action=selfIntegration)// 3.在“自助集成帮助”中,点击“合作者身份(Partner ID)查询”、“安全校验码(Key)查询”// ↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓// 合作身份者ID,以2088开头由16位纯数字组成的字符串public static String it_b_pay = "1h";public static String partner = "2088601003079118";public static String service = "create_direct_pay_by_user";// 交易安全检验码,由数字和字母组成的32位字符串    public static String key = "zxcdvxgksaam2zjrmv5cv0p4jqesaioh";// 签约支付宝账号或卖家收款支付宝帐户public static String seller_email = "test@yahoo.com.cn";// 读配置文件// notify_url 交易过程中服务器通知的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数public static String notify_url ="http:www.xxx.com/projectName/alipayTrade.action";// 付完款后跳转的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数// return_url的域名不能写成http://localhost/js_jsp_utf8/return_url.jsp,否则会导致return_url执行无效//public static String return_url = "http:www.xxx.com/projectName/alipayTrade.action";// 网站商品的展示地址,不允许加?id=123这类自定义参数public static String show_url = "http://www.alipay.com";// 收款方名称,如:公司名称、网站名称、收款人姓名等public static String mainname = "收款方名称";// ↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑// 字符编码格式 目前支持 gbk 或 utf-8public static String input_charset = "UTF-8";// 签名方式 不需修改public static String sign_type = "MD5";// 访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择httppublic static String transport = "http";
}

===============================================================================================================

下面是一个简单的应用流程:
从JSP调用的就不说了,因为这也就只是传给后台你要买的东西是什么,价格多少等一些参数。
这里介绍一下后台处理的:

PaymentAction.java

/*** 获取支付宝交易订单号* @return*/public synchronized static String getOrderNum(){Date date=new Date();DateFormat df=new SimpleDateFormat("yyyyMMddHHmmssSSS");return df.format(date);}protected HttpServletRequest getRequest() {return ServletActionContext.getRequest();}//支付宝交易订单号
String orderNum = getOrderNum();// 此次交易的总金额
getRequest().setAttribute("totalMoney","0.01");
//此次交易的订单号
getRequest().setAttribute("out_trade_no", orderNum);
//商品名称描述
getRequest().setAttribute("subject", "商品名称");//这里省略了将此次订单信息存到数据库的流程

alipay.jsp

<%@page import="com.test.constants.AlipayConfig"%>
<%@page import="com.test.util.alipay.UtilDate"%>
<%@page import="com.test.util.alipay.AlipayService"%>
<%/*功能:设置商品有关信息(入口页)*详细:该页面是接口入口页面,生成支付时的URL*版本:3.1*日期:2010-11-01*说明:*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。*************************注意*****************如果您在接口集成过程中遇到问题,您可以到商户服务中心(https://b.alipay.com/support/helperApply.htm?action=consultationApply),提交申请集成协助,我们会有专业的技术工程师主动联系您协助解决,您也可以到支付宝论坛(http://club.alipay.com/read-htm-tid-8681712.html)寻找相关解决方案要传递的参数要么不允许为空,要么就不要出现在数组与隐藏控件或URL链接里。*/
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>test</title><link rel="SHORTCUT ICON" href="favicon.ico">
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
.font_content{font-family:"宋体";font-size:14px;color:#FF6600;
}
.font_title{font-family:"宋体";font-size:16px;color:#FF0000;font-weight:bold;
}
table{border: 1px solid #CCCCCC;
}</style><script type="text/javascript">var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-25469955-1']);_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();</script></head><%//request.setCharacterEncoding("UTF-8");//AlipyConfig.java中配置信息(不可以修改)String input_charset = AlipayConfig.getInstance().input_charset;String sign_type = AlipayConfig.getInstance().sign_type;String seller_email = AlipayConfig.getInstance().seller_email;String partner = AlipayConfig.getInstance().partner;String key = AlipayConfig.getInstance().key;String show_url = AlipayConfig.getInstance().show_url;String notify_url = AlipayConfig.getInstance().notify_url;String return_url = AlipayConfig.getInstance().return_url;String it_b_pay = AlipayConfig.getInstance().it_b_pay;//以下参数是需要通过下单时的订单数据传入进来获得//必填参数String out_trade_no = (String)request.getAttribute("out_trade_no");//请与贵网站订单系统中的唯一订单号匹配//订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。String subject = (String)request.getAttribute("subject");//订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里String body = (String)request.getAttribute("body");//订单总金额,显示在支付宝收银台里的“应付总额”里String total_fee = (String)request.getAttribute("totalMoney");//扩展功能参数——默认支付方式// String pay_mode = request.getParameter("pay_bank");String paymethod = "";        //默认支付方式,四个值可选:bankPay(网银); cartoon(卡通); directPay(余额); CASH(网点支付)String defaultbank = "";    //默认网银代号,代号列表见http://club.alipay.com/read.php?tid=8681379/*if(pay_mode.equals("directPay")){paymethod = "directPay";}else{paymethod = "bankPay";defaultbank = pay_mode;}*///扩展功能参数——防钓鱼//请慎重选择是否开启防钓鱼功能//exter_invoke_ip、anti_phishing_key一旦被设置过,那么它们就会成为必填参数//开启防钓鱼功能后,服务器、本机电脑必须支持远程XML解析,请配置好该环境。//建议使用POST方式请求数据String anti_phishing_key  = "";                //防钓鱼时间戳String exter_invoke_ip= "";                    //获取客户端的IP地址,建议:编写获取客户端IP地址的程序//如://anti_phishing_key = AlipayFunction.query_timestamp(partner);    //获取防钓鱼时间戳函数//exter_invoke_ip = "202.1.1.1";//扩展功能参数——其他String extra_common_param = "";                //自定义参数,可存放任何内容(除=、&等特殊字符外),不会显示在页面上String buyer_email = "137672927";                    //默认买家支付宝账号String extend_param = "";//扩展功能参数——分润(若要使用,请按照注释要求的格式赋值)String royalty_type = "";                    //提成类型,该值为固定值:10,不需要修改String royalty_parameters ="";//提成信息集,与需要结合商户网站自身情况动态获取每笔交易的各分润收款账号、各分润金额、各分润说明。最多只能设置10条//各分润金额的总和须小于等于total_fee//提成信息集格式为:收款方Email_1^金额1^备注1|收款方Email_2^金额2^备注2//如://royalty_type = "10"//royalty_parameters    = "111@126.com^0.01^分润备注一|222@126.com^0.01^分润备注二"//之前设置的1h将返回//错误描述: 抱歉,商户没有开通自定义超时权限,请联系您的商家。//错误代码: SELF_TIMEOUT_NOT_SUPPORT
            it_b_pay="";//构造函数,生成请求URLString sHtmlText = AlipayService.BuildForm(partner,seller_email,return_url,notify_url,show_url,out_trade_no,subject,body,total_fee,paymethod,defaultbank,anti_phishing_key,exter_invoke_ip,extra_common_param,buyer_email,royalty_type,royalty_parameters,input_charset,key,sign_type,it_b_pay);%><body><table align="center" width="350" cellpadding="5" cellspacing="0"><tr><td align="center" class="font_title" colspan="2">订单确认</td></tr><tr><td class="font_content" align="right">订单号:</td><td class="font_content" align="left"><%=out_trade_no%></td></tr><tr><td class="font_content" align="right">付款总金额:</td><td class="font_content" align="left"><%=total_fee%></td></tr><tr><td align="center" colspan="2"><%=sHtmlText%></td></tr></table></body>
</html>

支付宝回调的接口:AlipayNotify.java

package com.test.action.payment;import java.util.Date;
import java.util.List;import com.test.action.base.BaseAction;
import com.test.dao.model.paymentcenter.OrderForm;
import com.test.dao.model.paymentcenter.OrderList;
import com.test.dao.model.paymentcenter.UserPurview;public class AlipayNotify extends BaseAction {private static final long serialVersionUID = 1L;private String buyer_email;private long buyer_id;private String exterface;private String is_success;private String notify_id;private String notify_time;private String notify_type;private String out_trade_no;private String payment_type;private String seller_email;private long seller_id;private String subject;private float total_fee;private String trade_no;private String trade_status;private String sign;private String sign_type;private OrderForm of;//……这里省去了get和set方法
// 处理支付宝传过来的参数信息public String alipayTrade() throws Exception {if (this.is_success.equalsIgnoreCase("T")&& "TRADE_SUCCESS".equalsIgnoreCase(this.trade_status)) {of = (OrderForm) orderFormService.findOrderFormsByOut_trade_no(this.out_trade_no);if (of != null) {of.setTradeStatus(1);of.setTradeNo(this.trade_no);of.setNotifyTime(new Date());                orderFormService.updateOldModel(of); // 更新
List<OrderList> orderList = orderListService.findOrderFormsByOutTradeNo(this.out_trade_no);for (OrderList ol : orderList) {//这里省去了处理订单逻辑代码……………………
                }}//回调成功之后,给支付宝返回一个 "success" 字符就可以了return SUCCESS;}return "failure";}
}

就这样,支付宝的第三方即时到账接口就算实现了。

java 支付宝 第三方即时到账支付 接口相关推荐

  1. java 支付宝 第三方即时到账支付

    java 支付宝 第三方即时到账支付 alipay 的几个内核功能文件: =============================================================== ...

  2. 支付宝即时到帐 java_java 支付宝 第三方即时到账支付 接口

    * @parambody 订单描写叙述.订单具体.订单备注,显示在支付宝收银台里的"商品描写叙述"里 *@paramtotal_fee 订单总金额,显示在支付宝收银台里的" ...

  3. 搞定支付接口(一) 支付宝即时到账支付接口详细流程和代码

    搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java ...

  4. 聚合支付PC端-支付宝(即时到账交易接口)

    聚合支付 第三章 支付宝(即时到账交易接口) 文章目录 聚合支付 前言 一.开发前准备 二.java实现 1.pom中引入相关jar包 2.支付相关工具类 3.支付相关参数 4.支付实现 5.查询实现 ...

  5. 多模式免签约支付系统源码 免签约即时到账支付接口

    [多模式]免签约支付系统源码 免签约即时到账支付接口 修改说明: 1.把www.mijiw.cn\paypay\4422875341317181.png换成你自己的二维码. 2.把pay.htm文件里 ...

  6. 彩虹代shua源码免授权已对接即时到账支付接口

    介绍: 把源码上传到网站根目录然后解压 打开域名进行安装,不显示安装就打开域名/install进行安装 然后到后台进行配置就可以运营了 这套源码已经配置了即时到账支付接口了 如果使用这个这个接口解压文 ...

  7. 彩虹Ds源码免授权已对接即时到账支付接口

    介绍: 把源码上传到网站根目录然后解压 打开域名进行安装,不显示安装就打开域名/install进行安装 然后到后台进行配置就可以运营了 这套源码已经配置了即时到账支付接口了 如果使用这个这个接口解压文 ...

  8. 支付宝:即时到账接口对接

    支付宝接口DEMO文档下载 https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.qAEbso&treeId=62 ...

  9. 支付宝接口 - 即时到账交易接口 对接 整理 1

    支付宝官方开放平台接口说明: https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.Gp6DiG&treeId=62&a ...

最新文章

  1. pythonclass全局变量_Python-多处理全局变量更新未返回给父级
  2. Linux+pycharm下 安装tensorflow时遇到的bug
  3. IDEA 实用功能Auto Import:自动优化导包(自动删除、导入包)
  4. Python-Anaconda练习candy算子用于边缘提取,再用hough变换检测直线边缘
  5. 微软私有云分享(R2)21 BMC提升B格
  6. MATLAB Simulink 中的过零检测与代数环
  7. 学计算机的制作水印,如何给自己的图片制作水印
  8. foxpro获取html数据类型,FoxPro数据库写入html文件中
  9. 关于前端PDF显示和盖章(vue)
  10. Java jsp导出Excel打开报格式或扩展名错误
  11. 牛牛的猜球游戏(前缀和+逆交换)
  12. python3小说爬虫之起点女生网
  13. 基于LBS的六边形热力图算法
  14. AI笔记: 数学基础之正交矩阵与矩阵的QR分解
  15. 5.23 C语言练习(平均值计算:输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。)
  16. 【外行也能看懂的RabbitMQ系列(一)】—— RabbitMQ快速入门篇(内含丰富实例)
  17. 溯本清源!天九共享用责任打造安全的投资平台
  18. 时间日期格式化(xxx之前)
  19. 成都理工大学线性代数历年期末试卷题型总结(大题)
  20. 同花顺_代码解析_技术指标_D

热门文章

  1. 基础四:波片与圆偏振
  2. iOS- 资源大全中文版
  3. 华尔街投行对苹果新品发布会怎么看?苹果可能重新聚焦iPhone业务
  4. 任何人都能看得懂的网络协议之 ARP
  5. Qtdesigner设计实例——计算器 +可执行文件exe制作
  6. JavaSE高级【吐血整理汇总】
  7. 归一化 均值归一化_归一化折现累积收益
  8. 程序员保护好自己的颈椎
  9. ==和eques()
  10. LightProxy