支付宝开放平台
扫码登录支付宝开放平台
沙箱环境
沙箱环境介绍
沙箱控制台
应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;
授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时需进行配置:
第三方应用授权:授权 url 中的 redirect_uri 必须与此值相同。
获取用户信息:授权 url 中的 redirect_uri 的域名必须与此值相同(例如:授权回调地址配置:https://auth.example.com/authCallBack 高亮部分需和授权url相同)。
RSA(SHA1)密钥:配置 RSA2(SHA256) 的应用公钥后,不需要配置 RSA(SHA1) 密钥。
AES 密钥:目前不再使用。
扫码测试的时候需要沙箱版支付宝App,目前只有安卓版
下载
配置
首先导入支付宝的依赖
<!--ali pay-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.1.0</version>
</dependency>
配置文件
alipay:
app-id: # AppID
private-key: # 应用私匙 需要用支付宝助手生成
public-key: # 支付宝公匙
gateway: https://openapi.alipaydev.com/gateway.do
支付宝公匙点击RSA2(SHA256)密钥设置,然后查看
应用私匙:
会生成txt文件,然后复制到配置文件中
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}")
private String privateKey;
@Value("${