Table of Contents
一、沙箱环境
https://openhome.alipay.com/platform/appDaily.htm?tab=info
二、下载 Java 版 dome
http://p.tb.cn/rmsportal_6680_alipay.trade.wap.pay-java-utf-8.zip
三、生成RSA2密钥
https://docs.open.alipay.com/291/105971
注:生成秘钥看上一个链接。秘钥匹配成功后,主要是要将我们生成的公钥替换我们 [ 蚂蚁金服 ] 的应用公钥。
四、代码如下
4.1 AlipayConfig
注:将 app_id、merchant_private_key、alipay_public_key 【应用ID、私钥、公钥】 补全即可。
package com.rerise.controller.nz.alipay;
/**
* 类名:AlipayConfig
* 功能:基础配置类
* 详细:设置帐户有关信息及返回路径
* 修改日期:2017-04-05
* 说明:
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
* 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*/
public class AlipayConfig {
/**
* 1. 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
*/
public static String app_id = "";
/**
* 2. 商户私钥,您的PKCS8格式RSA2私钥
*/
public static String merchant_private_key = "";
/**
* 3. 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
*/
public static String alipay_public_key = "";
/**
* 4. 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
*/
public static String notify_url = "http://localhost/alipay/notifyNotice";
/**
* 5. 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
*/
public static String return_url = "http://localhost/alipay/returnNotice";
/**
* 6. 签名方式/加密类型
*/
public static String sign_type = "RSA2";
/**
* 7. 编码
*/
public static String charset = "utf-8";
/**
* 8.返回格式
*/
public static String format = "json";
/**
* 9. 支付宝网关 - 注:沙箱使用 alipaydev , 非 alipay
*/
public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
}
4.2 AlipayVo
package com.rerise.controller.nz.alipay;
import java.io.Serializable;
/**
* Created by IntelliJ IDEA.
*
* @author NingZe
* description: alipay vo
* path: DecoSearch-manage-com.rerise.controller.nz.alipay-AlipayVo
* date: 2019/8/14 0014 10:17
* version: 02.06
* To change this template use File | Settings | File Templates.
*/
public class AlipayVo implements Serializable {
/**
* 订单名称
*/
private String subject;
/**
* 商户网站唯一订单号
*/
private String out_trade_no;
/**
* 该笔订单允许的最晚付款时间
*/
private String timeout_express;
/**
* 付款金额
*/
private String total_amount;
/**
* 销售产品码,与支付宝签约的产品码名称
*/
private String product_code;
/**
* 商品描述
*/
private String body;
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getOut_trade_no() {
ret