简介:介绍常用的第三方支付和聚合支付
简介:蚂蚁金服开放平台介绍和支付宝申请
简介:支付宝沙箱环境介绍和应用权限申请
蚂蚁沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境
在开发者应用上线审核前,开发者可以根据自身需求,先在沙箱环境中了解、组合和调试各种开放接口,进行开发调试工作,从而帮助开发者在应用上线审核完成后,能更快速、更顺利的完成线上调试和验收
Beta 测试阶段每周日中午 12 点至每周一中午 12 点为维护时间,在此时间内沙箱环境部分功能可能不可用,敬请谅解。
买家账号11111
登录密码111111
支付密码111111
用户名称沙箱环境
证件类型身份证(IDENTITY_CARD)
证件号码211111
商家账号11111
商户11111
登录密码111111
简介:介绍密码学-对称加密和非对称加密
优点:操作比较简单,加密速度快,秘钥简单
缺点:秘钥上面,一旦被窃取,信息会暴露,安全性不高
场景:消息发送方需要加密大量数据时使用
常见的算法:
DES: 全称:Data Encryption Standard,现已被破解
3DES:全称: Triple Data Encryption Algorithm, 暂时未被破解
解释: 3DES 是在 DES 基础算法上的改良,该算法可向下兼容 DES 加密算法,但计算性能不高,暂时还未被破解
AES: 全称:Advanced Encryption Standard,暂未被破解
注意:非对称加密具有双向性,即公钥和私钥中的任一个均可用作加密,此时另一个则用作解密
解释:加密与解密的过程不是对称的,不是用的同一个秘钥,一把是公钥,一把是私钥,在加密的时候,用公钥去加密,接收方再用对应的私钥去解密
优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。
缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密
场景: 数字签名与验证
常见的算法:RSA,DSA,ECC等,ECC也是比特币底层用的比较多的算法
简介:支付宝开里面的非对称加密通讯流程梳理
手机网站支付文档地址:
项目依赖包添加和样例代码
https://opendocs.alipay.com/open/54/cyz7do
<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.10.218.ALL</version>
</dependency>
简介:支付宝开发助手简介和秘钥生成工具下载
简介:手机网站支付宝支付样例代码编写测试
//商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
String no = UUID.randomUUID().toString();
log.info("订单号:{}",no);
content.put("out_trade_no", no);
content.put("product_code", "FAST_INSTANT_TRADE_PAY");
//订单总金额,单位为元,精确到小数点后两位
content.put("total_amount", String.valueOf("111.99"));
//商品标题/交易标题/订单标题/订单关键字等。 注意:不可使用特殊字符,如 /,=,& 等。
content.put("subject", "杯子");
//商品描述,可空
content.put("body", "好的杯子");
// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。
content.put("timeout_express", "5m");
简介:手机网站支付宝支付样例代码问题修改
简介:讲解设计模式的六大设计原则
简介:设计模式知识回顾-工厂模式
简介:设计模式知识回顾-策略模式
简介:多渠道支付对接-策略模式+工厂模式编码实战
简介:支付宝支付策略编码实战
简介:支付宝订单状态查询策略编码实战
简介:内网穿透映射工具介绍和使用
支付成功需要配置回调通知应用服务器订单支付成功,需要配置对应的域名
在本地电脑开发,支付宝没法回调,所以需要配置个地址映射,就是外部服务器
可以通过这个地址访问当前开发电脑的地址
#配置token和子域名
token: A3dc8765c57f4e6e8Ac84276deA889c4
#增加权限
chmod 777 ./*
#启动
./ngrok -log=ngrok.log -config ngrok.conf start httptun httpstun
简介:支付结果通知回调地址配置和接口开发
/**
* 将request中的参数转换成Map
* @param request
* @return
*/
private static Map<String, String> convertRequestParamsToMap(HttpServletRequest request) {
Map<String, String> paramsMap = new HashMap<>(16);
Set<Map.Entry<String, String[]>> entrySet = request.getParameterMap().entrySet();
for (Map.Entry<String, String[]> entry : entrySet) {
String name = entry.getKey();
String[] values = entry.getValue();
int size = values.length;
if (size == 1) {
paramsMap.put(name, values[0]);
} else {
paramsMap.put(name, "");
}
}
System.out.println(paramsMap);
return paramsMap;
}
简介:支付结果通知回调验证签和更新订单状态开发
简介:下单支付链路和超时未支付定时关单功能开发完善
简介:订单微服务下单支付宝支付全链路多场景测试工作工作
简介:订单微服务下单支付宝支付全链路多场景测试
{
"coupon_record_id":50,
"product_ids":[1,2],
"pay_type":"ALIPAY",
"client_type":"H5",
"address_id":45,
"total_amount":510,
"real_pay_amount":505,
"token":"SbD5D4FLpUzemiuwSEytwGM9LLFGISDQ"
}
简介:订单微服务分页查询个人订单列表功能开发
简介:未支付订单二次支付业务逻辑设计和编码实战
简介:未支付订单二次支付业务逻全链路测试
简介:订单微服务-避免重复下单tokne令牌机制处理
String script = "if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end";