2025-12-26 10:54:01 +08:00
|
|
|
|
# PayPal Webhook 配置
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
## 配置步骤
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
|
|
|
|
|
1. **登录 PayPal 开发者控制台**
|
|
|
|
|
|
- 沙箱环境:https://developer.paypal.com/dashboard/
|
2025-12-26 10:54:01 +08:00
|
|
|
|
- 选择你的沙箱应用
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
2. **配置 Webhook**
|
|
|
|
|
|
- 进入应用详情页面,找到 "Webhooks" 部分
|
|
|
|
|
|
- 点击 "Add Webhook"
|
|
|
|
|
|
- 输入 Webhook URL: `https://你的域名/api/paypal/webhook`
|
|
|
|
|
|
- 选择事件类型:
|
2025-12-25 15:54:27 +08:00
|
|
|
|
- `PAYMENT.CAPTURE.COMPLETED` - 支付捕获完成
|
|
|
|
|
|
- `CHECKOUT.ORDER.APPROVED` - 订单已批准
|
|
|
|
|
|
- `CHECKOUT.ORDER.COMPLETED` - 订单已完成
|
|
|
|
|
|
- `CHECKOUT.ORDER.CANCELLED` - 订单已取消
|
2025-12-26 10:54:01 +08:00
|
|
|
|
- `CHECKOUT.ORDER.DECLINED` - 订单被拒绝
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
3. **获取 Webhook ID**
|
|
|
|
|
|
- 配置完成后,获取 Webhook ID
|
|
|
|
|
|
- 配置到 `application-dev.yml` 中的 `paypal.webhook-id`
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
## 配置文件
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
```yaml
|
|
|
|
|
|
paypal:
|
|
|
|
|
|
webhook-url: https://你的域名/api/paypal/webhook
|
|
|
|
|
|
webhook-id: YOUR_WEBHOOK_ID
|
2025-12-25 15:54:27 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
## 注意事项
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
- **生产环境必须启用签名验证**
|
|
|
|
|
|
- **必须使用 HTTPS**
|
|
|
|
|
|
- 内网穿透地址变化时需要更新配置
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
## 本地测试
|
2025-12-25 15:54:27 +08:00
|
|
|
|
|
2025-12-26 10:54:01 +08:00
|
|
|
|
使用内网穿透工具(如 ngrok 或 cpolar):
|
|
|
|
|
|
```bash
|
|
|
|
|
|
ngrok http 8082
|
|
|
|
|
|
```
|
|
|
|
|
|
将生成的HTTPS地址配置到PayPal Webhook URL。
|