java如何使用java 支付宝转账商户帐号向个人转账的接口

蚂蚁金服开放平台 - 文档中心
服务时间:周一至周日 9:00-22:00
热搜关键词:
> 开放平台
开放平台概述

蚂蚁金服开放平台基于支付宝的海量用户,将强大的支付、营销、数据能力,通过接口等形式开放给第三方合作伙伴,帮助第三方合作伙伴创建更具竞争力的应用。
通过接入蚂蚁金服开放平台,第三方合作伙伴可以获得更多的流量、用户和收益,而第三方合作伙伴提供的服务也让用户获得了更丰富的体验,平台生态更加繁荣,最终实现多方共赢。
通过平台能做什么
开发者是开放生态的主要组成部分,通过与商家、消费者的合作,提升商家的服务效率和营收,降低运营成本,使消费者的体验更便捷、更愉悦、更完美。无论你是第三方开发者、系统商、线下推广组织还是商家,都能基于开放平台找到适合自己的角色和方向。
插件提供商:
通过我们提供的丰富的API接口,开发者可以开发并在应用市场上线各类插件,解决门店管理、支付核销、会员营销、数据分析等方面的问题。开放平台还为各种应用提供了清晰的盈利模式,通过应用市场的销售获得回报。
服务提供商:
在应用市场之外,合作伙伴还可以通过服务市场为商家提供店铺装修、拍摄修图、地面推广、门店代运营等服务。实现线上订购,线下服务。
场景分销商:
第三方APP或媒介可以借助蚂蚁金服开放平台的分销能力为商家提供基于门店、卡券、内容的分销服务,为商家的流量导入、品牌推广提供平台。分销商可以为所提供的服务获取收入。
平台的优势
一站式商家服务:为商家提供支付、门店、营销、数据等一站式服务
海量的实名用户:4亿实名用户,迅速沉淀会员信息玩转会员体系
丰富的线下场景:超过50万家线下门店,包括餐饮、超市等多种行业
接口支持:支付、分享、账户、营销、信用、服务窗等九大优质接口支持
开发工具:包括 Java , PHP, .Net等语言的SDK与Demo示例
服务保障:丰富的技术文档,开放的技术社区,高效的在线技术服务,是你开发的坚强后盾
通过应用获利:基于商家服务市场,为合作伙伴的插件及服务提供变现渠道
营销咨询:基于商家的营销需求,为合作伙伴提供多元的商家增值服务
代运营:合作伙伴提供商家运营托管服务,最大化商家的营销价值
关于此文档暂时还没有FAQ&>&单笔转账到支付宝账户接口JAVA版本demo
单笔转账到支付宝账户接口JAVA版本demo
上传大小:4.56MB
提供支付宝开放平台的单笔转账到支付宝账户接口JAVA版本demo
望大家共同进步
综合评分:0
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
单笔转账到支付宝账户接口JAVA版本demo
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
单笔转账到支付宝账户接口JAVA版本demoalipay 的几个内核功能文件:======================================================================================================AlipayFunction.java
package com.test.util.
import java.io.FileW
import java.io.IOE
import java.net.MalformedURLE
import java.net.URL;
import java.util.ArrayL
import java.util.C
import java.util.HashM
import java.util.L
import java.util.M
import org.dom4j.D
import org.dom4j.DocumentE
import org.dom4j.N
import org.dom4j.io.SAXR
public class AlipayFunction {
* 功能:生成签名结果
* @param sArray 要签名的数组
* @param key 安全校验码
* @return 签名结果字符串
public static String BuildMysign(Map sArray, String key) {
String prestr = CreateLinkString(sArray);
//把数组所有元素,按照&参数=参数值&的模式用&&&字符拼接成字符串
prestr = prestr +
//把拼接后的字符串再与安全校验码直接连接起来
String mysign = Md5Encrypt.md5(prestr);
* 功能:除去数组中的空值和签名参数
* @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")){
sArrayNew.put(key, value);
return sArrayN
* 功能:把数组所有元素排序,并按照&参数=参数值&的模式用&&&字符拼接成字符串
* @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 + "=" +
prestr = prestr + key + "=" + value + "&";
* 功能:写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
* @param sWord 要写入日志里的文本内容
public static void LogResult(String sWord){
// 该文件存在于和应用服务器 启动文件同一目录下,文件名是alipay log加服务器时间
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="+
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.
import java.io.BufferedR
import java.io.InputStreamR
import java.net.HttpURLC
import java.net.URL;
import java.util.M
import com.test.constants.AlipayC
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);//获得签名结果
* *功能:获取远程服务器ATN结果,验证返回URL
* @param notify_id 通知校验ID
* @return 服务器ATN结果
* 验证结果集:
* invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空
* true 返回正确信息
* false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
public static String Verify(String notify_id){
//获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
String transport = AlipayConfig.
String partner = AlipayConfig.
String veryfy_url = "";
if(transport.equalsIgnoreCase("https")){
veryfy_url = "https://www.alipay.com/cooperate/gateway.do?service=notify_verify";
veryfy_url = "http://notify.alipay.com/trade/notify_query.do?";
veryfy_url = veryfy_url + "&partner=" + partner + "&ify_id=" + notify_
String responseTxt = CheckUrl(veryfy_url);
return responseT
* *功能:获取远程服务器ATN结果
* @param urlvalue 指定URL路径地址
* @return 服务器ATN结果
* 验证结果集:
* invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空
* true 返回正确信息
* false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟
public static String CheckUrl(String urlvalue){
String inputLine = "";
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 inputL
======================================================================================================AlipayService.java
package com.test.util.
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
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.
import java.io.UnsupportedEncodingE
import java.security.MessageD
import java.security.NoSuchAlgorithmE
import com.test.constants.AlipayC
* 功能:支付宝MD5加密处理核心文件,不需要修改
* 版本:3.1
* 修改日期:
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
* 该代码仅供学习和研究支付宝接口使用,只是提供一个
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;
msgDigest = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
throw new IllegalStateException(
"System doesn't support MD5 algorithm.");
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 md5S
public static char[] encodeHex(byte[] data) {
int l = data.
char[] out = new char[l && 1];
// two characters form the hex value.
for (int i = 0, j = 0; i & i++) {
out[j++] = DIGITS[(0xF0 & data[i]) &&& 4];
out[j++] = DIGITS[0x0F & data[i]];
======================================================================================================AlipayConfig.java这里是对账号,Key,回调连接地址等一些设置
package com.test.
import java.util.P
import com.test.util.PropertiesU
public class AlipayConfig {
private static AlipayConfig
alconfig = null;
private AlipayConfig(){
public static AlipayConfig getInstance(){
if(alconfig==null){
alconfig = new AlipayConfig();
// 如何获取安全校验码和合作身份者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 = "9118";
public static String service = "create_direct_pay_by_user";
// 交易安全检验码,由数字和字母组成的32位字符串
public static String key = "zxcdvxgksaam2zjrmv5cv0p4jqesaioh";
// 签约支付宝账号或卖家收款支付宝帐户
public static String seller_email = ".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-8
public static String input_charset = "UTF-8";
// 签名方式 不需修改
public static String sign_type = "MD5";
// 访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
public static String transport = "http";
===============================================================================================================下面是一个简单的应用流程:从JSP调用的就不说了,因为这也就只是传给后台你要买的东西是什么,价格多少等一些参数。这里介绍一下后台处理的:
PaymentAction.java
* 获取支付宝交易订单号
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
*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*************************注意*****************
如果您在接口集成过程中遇到问题,
您可以到商户服务中心(https://b.alipay.com/support/helperApply.htm?action=consultationApply),提交申请集成协助,我们会有专业的技术工程师主动联系您协助解决,
您也可以到支付宝论坛(http://club.alipay.com/read-htm-tid-8681712.html)寻找相关解决方案
要传递的参数要么不允许为空,要么就不要出现在数组与隐藏控件或URL链接里。
**********************************************
&%@ page language="java" contentType="text/ charset=UTF-8"
pageEncoding="UTF-8"%&
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&meta http-equiv="Content-Type" content="text/ 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:14
color:#FF6600;
.font_title{
font-family:"宋体";
font-size:16
color:#FF0000;
font-weight:
border: 1px solid #CCCCCC;
&script type="text/javascript"&
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-']);
_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);
//request.setCharacterEncoding("UTF-8");
//AlipyConfig.java中配置信息(不可以修改)
String input_charset = AlipayConfig.getInstance().input_
String sign_type = AlipayConfig.getInstance().sign_
String seller_email = AlipayConfig.getInstance().seller_
String partner = AlipayConfig.getInstance().
String key = AlipayConfig.getInstance().
String show_url = AlipayConfig.getInstance().show_
String notify_url = AlipayConfig.getInstance().notify_
String return_url = AlipayConfig.getInstance().return_
String it_b_pay = AlipayConfig.getInstance().it_b_
///////////////////////////////////////////////////////////////////////////////////
//以下参数是需要通过下单时的订单数据传入进来获得
//必填参数
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";
paymethod = "bankPay";
defaultbank = pay_
//扩展功能参数&&防钓鱼
//请慎重选择是否开启防钓鱼功能
//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 = "";
//默认买家支付宝账号
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
= "^0.01^分润备注一|^0.01^分润备注二"
//之前设置的1h将返回
//错误描述: 抱歉,商户没有开通自定义超时权限,请联系您的商家。
//错误代码: SELF_TIMEOUT_NOT_SUPPORT
it_b_pay="";
//构造函数,生成请求URL
String 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);
&table align="center" width="350" cellpadding="5" cellspacing="0"&
&td align="center" class="font_title" colspan="2"&订单确认&/td&
&td class="font_content" align="right"&订单号:&/td&
&td class="font_content" align="left"&&%=out_trade_no%&&/td&
&td class="font_content" align="right"&付款总金额:&/td&
&td class="font_content" align="left"&&%=total_fee%&&/td&
&td align="center" colspan="2"&&%=sHtmlText%&&/td&
===============================================================================================================支付宝回调的接口:AlipayNotify.java
package com.test.action.
import java.util.D
import java.util.L
import com.test.action.base.BaseA
import com.test.dao.model.paymentcenter.OrderF
import com.test.dao.model.paymentcenter.OrderL
import com.test.dao.model.paymentcenter.UserP
public class AlipayNotify extends BaseAction {
private static final long serialVersionUID = 1L;
private String buyer_
private long buyer_
private String is_
private String notify_
private String notify_
private String notify_
private String out_trade_
private String payment_
private String seller_
private long seller_
private float total_
private String trade_
private String trade_
private String sign_
private OrderF
//&&这里省去了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";
============================================================================================
就这样,支付宝的第三方即时到账接口就算实现了。
本文转自:http://blog.csdn.net/saindy5828/article/details/6800331
阅读(...) 评论()

我要回帖

更多关于 java实现支付宝转账 的文章

 

随机推荐