支付宝支付相关文档
- 登录支付宝
- 在文档中心搜索
电脑网站支付
- 参照文档中的
接入准备
- 创建应用
- 创建完成的引用,需要通过审核才能测试并上线。为了方便测试,可以使用支付宝的沙箱环境。
- 运行电脑完整支付的 DEMO 做测试
- 查看 java版本的代码
/* * *类名:AlipayConfig *功能:基础配置类 *详细:设置帐户有关信息及返回路径 *修改日期:2017-04-05 *说明: *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 */ public class AlipayConfig { //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ // 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 public static String app_id = ""; // 商户私钥,您的PKCS8格式RSA2私钥 public static String merchant_private_key = ""; // 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。 public static String alipay_public_key = ""; // 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 public static String notify_url = "http://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp"; // 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 public static String return_url = "http://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp"; // 签名方式 public static String sign_type = "RSA2"; // 字符编码格式 public static String charset = "utf-8"; // 支付宝网关 public static String gatewayUrl = "https://openapi.alipay.com/gateway.do"; // 支付宝网关 public static String log_path = "C:\\"; //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ /** * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库) * @param sWord 要写入日志里的文本内容 */ public static void logResult(String sWord) { FileWriter writer = null; try { writer = new FileWriter(log_path + "alipay_log_" + System.currentTimeMillis()+".txt"); writer.write(sWord); } catch (Exception e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
对称加密与非对称加密
- 对称加密
DES、3DES、AES、RC2、RC4、RC5、Blowfish等算法是对称加密算法。 - 非对称加密
RSA、Elgamal等非对等加密算法 - 公钥私钥
公钥和私钥是一个相对的概念,它们的公私性是相对生成者来说的。一对密钥生成后,保存在生成者手里的就是私钥
,而生成者发布出去的就是公钥
。 - 加密
一堆公私钥中的一个密钥来对数据进行加密,而使用另一个密钥来进行解密。
公钥和私钥都可以用来加密,也都可以用来解密。 - 签名,给要发送的数据,做上一个唯一的签名(类似指纹),防止数据篡改。
- 验签,验证请求中的数据是否被篡改过。
使用支付宝的沙箱环境
- 得到沙箱环境的 APPID 和 支付宝网关
- 生成应用的公钥私钥
将公钥放入下面
将生成的私钥保存起来。