Files
MTKJPAY/mt-pay/PAYPAL_WEBHOOK_SETUP.md
qiube 2d9a9c3668 feat(config): 更新开发和生产环境配置
- 修改开发环境前端URL从localhost改为公网地址
- 更新PayPal Webhook URL使用公网地址配置
- 在生产环境配置中添加服务器端口和应用配置
- 添加PayPal支付配置的详细注释说明
- 简化ERP用户管理API文档格式,移除冗余说明
- 移除PayPal订单生命周期和Webhook指南文档
- 优化PayPal Webhook配置文档内容

fix(order): 修复订单创建和库存管理并发问题

- 实现SELECT FOR UPDATE锁定SKU记录防止超卖
- 添加库存扣减原子操作确保并发安全
- 简化日志输出,移除冗余调试信息
- 添加订单取消功能并恢复库存
- 优化订单查询和状态更新逻辑

feat(mapper): 添加库存扣减和恢复功能

- 实现deductStock方法用于扣减库存
- 添加restoreStock方法用于恢复库存
- 实现selectByIdForUpdate方法用于悲观锁
- 为Mapper接口添加必要的注解支持
2025-12-26 10:54:01 +08:00

45 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PayPal Webhook 配置
## 配置步骤
1. **登录 PayPal 开发者控制台**
- 沙箱环境https://developer.paypal.com/dashboard/
- 选择你的沙箱应用
2. **配置 Webhook**
- 进入应用详情页面,找到 "Webhooks" 部分
- 点击 "Add Webhook"
- 输入 Webhook URL: `https://你的域名/api/paypal/webhook`
- 选择事件类型:
- `PAYMENT.CAPTURE.COMPLETED` - 支付捕获完成
- `CHECKOUT.ORDER.APPROVED` - 订单已批准
- `CHECKOUT.ORDER.COMPLETED` - 订单已完成
- `CHECKOUT.ORDER.CANCELLED` - 订单已取消
- `CHECKOUT.ORDER.DECLINED` - 订单被拒绝
3. **获取 Webhook ID**
- 配置完成后,获取 Webhook ID
- 配置到 `application-dev.yml` 中的 `paypal.webhook-id`
## 配置文件
```yaml
paypal:
webhook-url: https://你的域名/api/paypal/webhook
webhook-id: YOUR_WEBHOOK_ID
```
## 注意事项
- **生产环境必须启用签名验证**
- **必须使用 HTTPS**
- 内网穿透地址变化时需要更新配置
## 本地测试
使用内网穿透工具(如 ngrok 或 cpolar
```bash
ngrok http 8082
```
将生成的HTTPS地址配置到PayPal Webhook URL。