欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

支付宝支付

程序员文章站 2022-04-11 13:53:51
...

1.准备步骤

相关工具

1、内网穿透工具 natapp (用户支付结果通知异步回调)
2、AlipayDevelopmentAssistant 阿里支付签名工具
3、支付宝沙箱客户端 支付宝支付测试使用

支付宝-当面付

阿里支付宝DEMO下载:https://docs.open.alipay.com/399/106844/,支付宝支持丰富的支付方式,这里我们选择使用当面付-支持二维码&条形码的支付,这是目前的主流。
  • 当面付流程
1、获取二维码
2、扫码支付
3、等待支付宝回调
4、修改订单状态
5、定期对账

支付宝支付

DEMO文档结构目录
-TradePayDemo - 支付宝当面付DEMO
-TradePaySDK - 支付宝SDK
-readme.txt - 文档结构目录说明
-当面付调用流程说明文档(java).docx

相关链接配置

SDK-maven依赖地址说明:https://docs.open.alipay.com/54/103419/

当面付产品功能说明:https://docs.open.alipay.com/194
当面付DEMO:https://docs.open.alipay.com/54/104506/

沙箱环境说明:https://docs.open.alipay.com/200/105311/

支付加密签名工具:https://docs.open.alipay.com/291/
	             https://opendocs.alipay.com/open/291/105971#LDsXr

签名参数说明:https://docs.open.alipay.com/204/105465
支付宝主动异步通知说明:https://docs.open.alipay.com/270/105902/

2.程序编写

pom文件配置

<!-- 支付宝支付 -->
		<dependency>
			<groupId>com.alipay.sdk</groupId>
			<artifactId>alipay-sdk-java</artifactId>
			<version>3.3.87.ALL</version>
			<exclusions>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<version>1.10</version>
			<exclusions>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.11</version>
		</dependency>
		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>core</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.5</version>
		</dependency>
		<!-- 支付宝依赖结束 -->

静态资源访问虚拟路径

@Configuration
public class ResourceConfig implements WebMvcConfigurer {
    @Autowired
    private QrCodeProp qrCodeProp;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        String os = System.getProperty("os.name");
        if(os.toLowerCase().startsWith("win")){ //windows系统
            /** QrCode图片存储路径 */
            registry.addResourceHandler(qrCodeProp.getHttpBasePath()
                    +"/**")
                    .addResourceLocations("file:" + qrCodeProp.getStorePath() + "/");
        }else{ //linux或者mac

        }
    }

}

源码地址

https://gitee.com/h455952294_admin/alipay_payment.git

测试用例

  • 1.生成订单
//url地址
http://localhost:8088/order/qrCode
// 请求参数
{
  "payAmount":299.9,
  "itemList":[
    {
      "productSn":"2920129293",
      "productName":"华为P40 Pro手机壳",
      "productPrice":299.9,
      "productQuantity":9
    }
  ]
}
// 响应数据

  • 支付回调
http://localhost:8088/order/paySuccess
  • 查询订单状态
http://localhost:8088/order/queryPayStatus?orderSn=15855452823901363487

相关标签: 支付宝支付