支付宝支付-电脑网站支付-环境准备

212 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

官方文档地址

1. 介绍

简介

电脑网站支付是指商户在电脑网页展示商品或服务,用户在商户页面确认使用支付宝支付时,浏览器自动跳转支付宝电脑网页完成付款的支付产品。

使用方式

电脑网站支付的方式一共有三种。

  1. 在支付宝页面扫码支付
  2. 在支付宝页面登录账户支付
  3. 在商家页面扫码支付

2. 接入准备

在接入支付宝支付之前,需要做一系列的准备工作。

商户接入

【接入要求】

  • 个人支付宝
    • 经营内容和价格信息
    • 营业执照,支付宝主体信息需和执照保持一致
  • 企业支付宝
    • 经营内容和价格信息

【接入流程】

  • 创建应用
    • 基本应用信息
    • 开发相关信息
  • 绑定应用
    • 绑定商家与应用通过APPID
  • 配置密钥
    • 根据支付宝密钥工具生成密钥并配置到应用
  • 上线应用
    • 提交审核上线应用
  • 开通产品
    • 应用上线后,商家需要开通方可使用

沙箱接入

【接入要求】

  • 支付宝账号

【接入流程】

基本框架

pom

<dependency>
    <groupId>com.alipay.sdk</groupId>
    <artifactId>alipay-sdk-java</artifactId>
    <version>4.34.52.ALL</version>
</dependency>

yml

参数来源,沙箱控制台地址,需要登录支付宝账户。

ali-pay:
  #接下来两个用来标识用户
  #商户id
  pid: xxxxxxxxxxxxxxxxxxxxxxx
  #应用appid(和商户id绑定过)
  app-id: xxxxxxxxxxxxxxxxxxxxxxx
  #接下来三个用来确保SSL
  #商户私钥
  merchant-private-key: xxxxxxxxxxxxxxxxxxxxxxx
  #支付宝公钥
  ali-pay-public-key: xxxxxxxxxxxxxxxxxxxxxxx
  #接下来三个是相关地址
  #支付宝网关
  gateway-url: https://openapi.alipaydev.com/gateway.do
  #接收结果通知地址
  notify-url: xxxxxxxxxxxxxxxxxxxxxxx
  #页面跳转同步通知页面路径
  return-url: xxxxxxxxxxxxxxxxxxxxxxx

AlipayConfig

@Data
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "ali-pay")
public class AlipayConfig {
    private String appId;
    private String merchantPrivateKey;
    private String aliPayPublicKey;
    private String gatewayUrl;
    private String notifyUrl;
    private String returnUrl;

    @Bean
    public AlipayClient alipayClient() throws AlipayApiException {
        com.alipay.api.AlipayConfig alipayConfig=new com.alipay.api.AlipayConfig();
        //设置appId
        alipayConfig.setAppId(appId);
        //设置商户私钥
        alipayConfig.setPrivateKey(merchantPrivateKey);
        //设置支付宝公钥
        alipayConfig.setAlipayPublicKey(aliPayPublicKey);
        //设置支付宝网关
        alipayConfig.setServerUrl(gatewayUrl);
        //设置请求格式,固定值json.
        alipayConfig.setFormat(AlipayConstants.FORMAT_JSON);
        //设置字符集
        alipayConfig.setCharset(AlipayConstants.CHARSET_UTF8);
        //设置签名类型
        alipayConfig.setSignType(AlipayConstants.SIGN_TYPE_RSA2);
        //构造client
        AlipayClient alipayClient=new DefaultAlipayClient(alipayConfig);

        log.info("##AliPay ->  AppId : {};ServerUrl : {}",appId,gatewayUrl);
        return alipayClient;
    }
}

3. 结束

好的,我们已经准备好所有所需的资料,现在开始开发把!