xzz2021
Published on 2025-09-26 / 0 Visits
0
0

支付宝扫码支付对接流程及实现

功能需求: 在自己的网站让用户扫码进行支付

整体流程
1. 前端发起请求, 传递订单或支付参数给后端
2. 后端将参数整合, 包含回调url, 调用阿里支付AlipaySdk, 成功响应后会收到返回的二维码字符信息, 交给前端
3. 前端自行将字符生成二维码, 用户扫码后, 支付宝会请求回调url通知结果
4. 后端回调接口拿到明文数据,进行校验,变更订单支付状态
5. 前端轮询状态, 成功跳转页面!
后端请求二维码
  1. 前置条件

    1. 支付宝开发平台注册认证, 创建应用,配置密匙,回调域名, 支付能力 开通订单码功能
    2. 获取应用 appid privateKey alipayPublicKey
  2. 获取二维码

     
    const alipay = new AlipaySdk({
            appId: '20213678714138',
            privateKey: 'MIIEv6786678hkiG9w0BAQ',
            alipayPublicKey: 'MIIB678F67856AAOCAQ8AMI',
       }),
    const result = await alipay.exec('alipay.trade.precreate', {
         notifyUrl: 'https://xzz.xzz.com/api/payment/alipay_notify', // 自定义的异步通知回调地址
         bizContent: {
            out_trade_no: 'orderNumber',
            total_amount: '0.01',
            subject: '测试商品',
            store_id: 'NJ_001',
          },
        });
    /*
     {
      code: '10000',
      msg: 'Success',
      outTradeNo: 'order1749458250879',
      qrCode: 'https://qr.alipay.com/bax00213452345m0015',
      traceId: '219078ab1748708922e3521'
    }
    */
    
后端接收回调通知
  1. 支付宝回调简单,不需要验签及解析数据, 数据都是明文的,从body就能拿到

Comment