java调用支付宝接口怎么保证安全
展开全部
支付宝提供的接口前提都是基于用户对商家的概念,就是说支付都是打到商家的账户上的.没有个人之间的转账.
支付其实就是生成一个单号,相当于在商家那里买了一个商品.
在 支付宝开发平台有提供各种形式的demo;java版本的包名create_direct_pay_by_user-JAVA-UTF-8;这个后面需要.
看看支付宝提供的几个接口类:
1配置类:
提示:如何获取安全校验码和合作身份者ID
*1.用您的签约支付宝账号登录支付宝网站(www.alipay.com)
*2.点击“商家服务”(https://b.alipay.com/order/myOrder.htm)
*3.点击“查询合作者身份(PID)”、“查询安全校验码(Key)”
//支付的流程就是本地根据配置好的参数和参数生成的签名,通过form表单,自动提交,生成链接提交给支付宝,支付宝验证处理完后,回调给return_url的地址,
//然后在本地通过上传前的参数和回调来的参数再次生成签名对比,来看是否数值有变化,这样双向签名认证后保证成功后用户在进行自己的业务逻辑处理
public class AlipayConfig {
/**
* 合作身份者ID,以2088开头由16位纯数字组成的字符串
*/
public static String partner = Global.getConfig("partner");//我是参数内容我是写在了配置文件里面
/**
* 收款支付宝账号,一般情况下收款账号就是签约账号
*/
public static String seller_email =Global.getConfig("seller_email");
/**
* 商户的私钥
*/
public static String key = Global.getConfig("key");
/**
* notify_url 交易过程中服务器通知的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
*这里不需要支付宝主动提供订单状态变化的回调的话,是暂时没有用的,我这里没用到
*/
public static String notify_url = Global.getConfig("notify_url");
/**
* 付完款后跳转的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
* 不能写成http://localhost/
*/
public static String return_url = Global.getConfig("return_url");
// 网站商品的展示地址,不允许加?id=123这类自定义参数
//public static String show_url = Global.getConfig("");//这里我也没用到
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
public static String transport = "http";
// 调试用,创建TXT日志文件夹路径;没用到
// public static String log_path = Global.getConfig("");//"D:\\";
public static String log_path = "D:\\";
/**
* 字符编码格式 目前支持 gbk 或 utf-8
* 好像必须是小写的(没试过)
*/
public static String input_charset = "utf-8";
/**
* 签名方式 不需修改
*/
public static String sign_type = "MD5";
//所有没用的配置信息,可以不用删掉,但是不能为空,不然支付宝会报错
}
支付其实就是生成一个单号,相当于在商家那里买了一个商品.
在 支付宝开发平台有提供各种形式的demo;java版本的包名create_direct_pay_by_user-JAVA-UTF-8;这个后面需要.
看看支付宝提供的几个接口类:
1配置类:
提示:如何获取安全校验码和合作身份者ID
*1.用您的签约支付宝账号登录支付宝网站(www.alipay.com)
*2.点击“商家服务”(https://b.alipay.com/order/myOrder.htm)
*3.点击“查询合作者身份(PID)”、“查询安全校验码(Key)”
//支付的流程就是本地根据配置好的参数和参数生成的签名,通过form表单,自动提交,生成链接提交给支付宝,支付宝验证处理完后,回调给return_url的地址,
//然后在本地通过上传前的参数和回调来的参数再次生成签名对比,来看是否数值有变化,这样双向签名认证后保证成功后用户在进行自己的业务逻辑处理
public class AlipayConfig {
/**
* 合作身份者ID,以2088开头由16位纯数字组成的字符串
*/
public static String partner = Global.getConfig("partner");//我是参数内容我是写在了配置文件里面
/**
* 收款支付宝账号,一般情况下收款账号就是签约账号
*/
public static String seller_email =Global.getConfig("seller_email");
/**
* 商户的私钥
*/
public static String key = Global.getConfig("key");
/**
* notify_url 交易过程中服务器通知的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
*这里不需要支付宝主动提供订单状态变化的回调的话,是暂时没有用的,我这里没用到
*/
public static String notify_url = Global.getConfig("notify_url");
/**
* 付完款后跳转的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
* 不能写成http://localhost/
*/
public static String return_url = Global.getConfig("return_url");
// 网站商品的展示地址,不允许加?id=123这类自定义参数
//public static String show_url = Global.getConfig("");//这里我也没用到
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
public static String transport = "http";
// 调试用,创建TXT日志文件夹路径;没用到
// public static String log_path = Global.getConfig("");//"D:\\";
public static String log_path = "D:\\";
/**
* 字符编码格式 目前支持 gbk 或 utf-8
* 好像必须是小写的(没试过)
*/
public static String input_charset = "utf-8";
/**
* 签名方式 不需修改
*/
public static String sign_type = "MD5";
//所有没用的配置信息,可以不用删掉,但是不能为空,不然支付宝会报错
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询