支付宝支付流程
用户点击"去支付"
↓
App 调用我们后端接口
↓
后端调用 createAppPayOrder()
↓
┌────────────────────────────────────────┐
│ 1. 把订单号、金额、描述组装成 Model │
│ 2. 调用 sdkExecute() ← 关键! │
│ 这一步并不发HTTP请求给支付宝服务器, │
│ 而是用我们的商户私钥,把这些参数在 │
│ 本地做了一次RSA签名+拼接,输出一段 │
│ 超长的加密字符串(orderStr) │
│ 3. 把 orderStr 塞进 AppPayResult 返回 │
└────────────────────────────────────────┘
↓
后端把 orderStr 返回给 App
↓
App 拿着 orderStr 调用支付宝客户端 SDK → 弹出支付宝收银台
↓
用户输入密码完成扣款
↓
支付宝服务器异步通知我们后端(Notify) → 我们更新订单状态为"已支付"
微信支付流程
1. 构建 PrepayRequest (参数组装)
↓
2. 调用 appServiceExtension.prepayWithRequestPayment(request)
↓
┌────────────────────────────────────────────────────────┐
│ [SDK 内部帮我们做了两件大事]: │
│ │
│ 第一步 (联网): 真正发了一个 HTTP POST 请求给微信支付服务器 │
│ 后端 -> 微信官网 (v3/pay/transactions/app) │
│ 微信返回给我们一个预支付 ID: "prepay_id" │
│ │
│ 第二步 (加签): SDK 拿到 prepay_id 后, 立即读取咱们的私钥(PEM) │
│ 在本地对 prepay_id 和时间戳等参数进行 RSA 二次签名 │
│ 生成最终的 "paySign" │
└────────────────────────────────────────────────────────┘
↓
3. 封装进 AppPayResult 丢给 App
↓
App 拿到这 7 个字段 (含 prepayid 和 sign) 调起微信原生 SDK