SpringBoot接入支付宝沙箱返回支付二维码

支付宝开放平台

扫码登录支付宝开放平台

沙箱环境

沙箱环境介绍
沙箱控制台
应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;

SpringBoot接入支付宝沙箱返回支付二维码_第1张图片

授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时需进行配置:

第三方应用授权:授权 url 中的 redirect_uri 必须与此值相同。

获取用户信息:授权 url 中的 redirect_uri 的域名必须与此值相同(例如:授权回调地址配置:https://auth.example.com/authCallBack 高亮部分需和授权url相同)。

RSA(SHA1)密钥:配置 RSA2(SHA256) 的应用公钥后,不需要配置 RSA(SHA1) 密钥。

AES 密钥:目前不再使用。
扫码测试的时候需要沙箱版支付宝App,目前只有安卓版
下载

配置

首先导入支付宝的依赖


        <dependency>
            <groupId>com.alipay.sdkgroupId>
            <artifactId>alipay-sdk-javaartifactId>
            <version>3.1.0version>
        dependency>

配置文件

alipay:
  app-id: # AppID
  private-key: # 应用私匙 需要用支付宝助手生成
  public-key: # 支付宝公匙
  gateway: https://openapi.alipaydev.com/gateway.do

支付宝公匙点击RSA2(SHA256)密钥设置,然后查看
SpringBoot接入支付宝沙箱返回支付二维码_第2张图片
应用私匙:
会生成txt文件,然后复制到配置文件中
SpringBoot接入支付宝沙箱返回支付二维码_第3张图片
APPID和网关就不说了,需要注意的是正式接入支付宝的网关和沙箱环境的应用网关,区分是alipay.com/alipaydev.com

代码实现

构建支付信息视图对象PayInfoVO.java

@Data
@AllArgsConstructor
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@ApiModel("支付信息")
public class PayInfoVO implements Serializable {
   
    @ApiModelProperty("二维码URL")
    private String url;
    @ApiModelProperty("订单编号")
    private String orderId;
    @ApiModelProperty("商家名称")
    private String shopName;

}

PayServiceImpl

@Service("PayServiceImpl")
@Slf4j
public class PayServiceImpl implements PayService {
   

    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private ShopMapper shopMapper;

    @Value("${alipay.app-id}")
    private String appId;

    @Value("${alipay.private-key}")

你可能感兴趣的:(SpringBoot,错误处理,spring,java,支付宝)