香港云主机做跨境电商独立站:多币种支付回调(Stripe + PayPal Webhook)配置
跨境电商独立站(Shopify 自建站或 WooCommerce)需要接入 Stripe 和 PayPal 收款。支付成功后的回调(Webhook/IPN)是订单状态同步的关键——回调失败,用户付了钱但订单显示”未支付”。香港云主机 做独立站服务器,怎么正确配置支付回调?云数方舟 一步步教你。
第一步:Stripe Webhook 配置。
1. 在 Stripe Dashboard → Developers → Webhooks → Add endpoint。
2. URL 填:https://你的域名/api/stripe/webhook(必须 HTTPS)。
3. 选择事件:payment_intent.succeeded、payment_intent.payment_failed、charge.refunded。
4. 获取 Webhook Signing Secret(whsec_xxx)。
5. 服务器端验证签名(PHP 示例):
$payload = @file_get_contents('php://input');
$sig_header = $_SERVER['HTTP_STRIPE_SIGNATURE'];
$event = \Stripe\Webhook::constructEvent($payload, $sig_header, $webhook_secret);
验证通过才处理订单,防止伪造回调。
第二步:PayPal IPN + Webhook 双配置。
PayPal 有两套回调机制:旧版 IPN(Instant Payment Notification)和新版 Webhook。
– IPN:PayPal 后台 → Profile → My Selling Tools → Instant Payment Notification → 开启,URL 填 https://你的域名/api/paypal/ipn。
– Webhook:PayPal Developer Dashboard → 你的 App → Webhooks → 添加 URL,事件选 PAYMENT.CAPTURE.COMPLETED。
服务器端验证(IPN 示例):
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) $req .= "&$key=" . urlencode($value);
$ch = curl_init('https://ipnpb.paypal.com/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
if ($res === 'VERIFIED') { /* 处理订单 */ }
第三步:Nginx 反代配置。如果 Webhook 处理在后端(如 Node.js 3000 端口),Nginx 配置:
location /api/stripe/webhook {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1M;
}
注意:Stripe 要求 3 秒内返回 200,否则会重试。如果处理慢,先返回 200 再异步处理。
| 支付网关 | 回调类型 | 验证方式 | 超时要求 |
|---|---|---|---|
| Stripe | Webhook | 签名(whsec_xxx) | 3 秒返回 200 |
| PayPal | IPN + Webhook | 回传验证 / 签名 | 无硬性超时 |
行动建议。在 香港云主机 上部署跨境电商独立站:
1. 必须 HTTPS:Let’s Encrypt 免费证书,Stripe/PayPal 都要求 HTTPS 回调。
2. 日志审计:记录所有 Webhook 请求(payload + 处理结果),方便排查掉单。
3. 幂等处理:同一 payment_intent_id 可能收到多次回调(Stripe 重试),用数据库唯一索引防重复处理。
4. 监控告警:Webhook 失败率 > 1% 时告警(Stripe Dashboard 有监控)。
记住:支付回调是独立站的”钱袋子”——配置正确 + 签名验证 + 幂等处理 + 日志审计,四件套缺一不可。香港节点的低延迟(到 Stripe/PayPal 服务器 80-120ms)确保回调快速响应,降低超时风险。
📌 查看云数方舟香港云主机方案:
云数方舟官网 | 香港云主机(AMD EPYC)
本文由 云数方舟 技术团队原创发布,转载请注明出处。