2024年支付宝h5支付(java版),Redis-RESP协议与AOF持久化有什么关系

总结

其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。

这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来

目录:

部分内容截图:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

1.7、点击生成秘钥,生成商户私钥和应用秘钥,并且会以文本(txt)的方式保存起来

在这里插入图片描述

1.8 回到开放平台 的应用完善页面,点击设置应用公钥,接收验证码,输入上一步生成的商户应用公钥,点击确定。然后会生成对应的支付宝公钥,商户应用公钥和支付宝公钥要明确区分开,开发代码中要使用到 支付宝公钥 和 商户应用私钥。

可以直接在这个网址里面进行设置:https://openhome.alipay.com/platform/keyManage.htm

在这里插入图片描述

1.9、提交审核,一天之后,审核完成,显示应用上线。此后,可以开始后台代码开发。(正式项目需要商户签约)

2、代码开发


2.1 引入java sdk包

com.alipay.sdk

alipay-sdk-java

3.7.26.ALL

commons-logging

commons-logging

1.1.1

2.2 开发配置类

package com.shop.constants;

/**

*类名:AlipayConfig

*功能:基础配置类

*详细:设置帐户有关信息及返回路径

*修改日期:2019-04-30

*说明:

*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。

*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。

*/

public class AlipayConfig {

//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号

public static String app_id = “20160******”;

// 商户私钥,您的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 = “https://www.alipay.com”;

// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,沙箱环境下可以填写本地地址

public static String return_url = “http://localhost:8082/web/pay/callback”;

// 签名方式

public static String sign_type = “RSA2”;

// 字符编码格式

public static String charset = “utf-8”;

// 支付宝网关

public static String gatewayUrl = “https://openapi.alipaydev.com/gateway.do”;

//销售产品码,商家和支付宝签约的产品码,默认值为:QUICK_WAP_WAY

public static String productCode =“QUICK_WAP_WAY”;

//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

}

2.3 开发工具类

参数详情请看这里:https://docs.open.alipay.com/204/105301/

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.alipay.api.AlipayApiException;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySignature;

import com.alipay.api.request.AlipayTradeRefundRequest;

import com.alipay.api.request.AlipayTradeWapPayRequest;

import com.shop.constants.AlipayConfig;

import com.shop.constants.BakConstants;

public class PayUtil {

/**

  • @Title: alipay

  • @Description: TODO(支付)

  • @param outTradeNo 商户订单号,商户网站订单系统中唯一订单号,必填 对应缴费记录的orderNo

  • @param totalAmount 付款金额,必填

  • @param subject 主题

  • @param body 商品描述,可空

  • @param: @return

  • @param: @throws Exception

  • @return: String

  • @throws

*/

public static String alipay(String outTradeNo,String totalAmount,String subject,String body) throws Exception{

//获得初始化的AlipayClient

AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id,

AlipayConfig.merchant_private_key, “json”, AlipayConfig.charset, AlipayConfig.alipay_public_key,

AlipayConfig.sign_type);

//该笔订单允许的最晚付款时间

String timeout=30m;

//设置请求参数

String content = “{“out_trade_no”:”“+ outTradeNo +”“,”

  • ““total_amount”:”“+ totalAmount +”“,”

  • ““subject”:”“+ subject +”“,”

  • ““timeout_express”:”“+ timeout +”“,”

  • ““body”:”“+ body +”“,”

  • ““product_code”:”“+AlipayConfig.productCode+”“}”;

AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();

alipayRequest.setReturnUrl(AlipayConfig.return_url);

alipayRequest.setNotifyUrl(AlipayConfig.notify_url);

alipayRequest.setBizContent(content);

//请求

String result=“”;

result = alipayClient.pageExecute(alipayRequest).getBody();

return result;

}

/**

  • 支付宝退款接口

  • @param outTradeNo

  • @param tradeNo

  • @param refundAmount

  • @param refundReason

  • @param out_request_no 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传

  • @return

*/

public static String aliRefund(String outTradeNo,String tradeNo,String refundAmount,String refundReason,String out_request_no) {

//获得初始化的AlipayClient

AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, “json”, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);

//设置请求参数

AlipayTradeRefundRequest alipayRequest = new AlipayTradeRefundRequest();

alipayRequest.setReturnUrl(AlipayConfig.return_url);

alipayRequest.setNotifyUrl(AlipayConfig.notify_url);

try {

alipayRequest.setBizContent(“{“out_trade_no”:”“+ outTradeNo +”“,”

  • ““trade_no”:”“+ tradeNo +”“,”

  • ““refund_amount”:”“+ refundAmount +”“,”

  • ““refund_reason”:”“+ refundReason +”“,”

  • ““out_request_no”:”“+ out_request_no +”“}”);

//请求

String result;

//请求

result = alipayClient.execute(alipayRequest).getBody();

最后

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

/请求

String result;

//请求

result = alipayClient.execute(alipayRequest).getBody();

最后

[外链图片转存中…(img-SyHkL36Z-1715065426684)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值