1.
1.1 确定目标市场(韩元 KRW 或多币种),以及结算频率(日结/周结/月结)。
1.2 比较支付供应商(KCP、Toss Payments、PayPal、Stripe、国内支付聚合商),确认是否支持对接韩国云服务器和结算到指定银行或境外账户、手续费与入金周期。
1.3 注册商户账号并完成资质提交(公司登记、银行账户、负责人身份证明、商务合同),等待审核通过。
2.
2.1 在韩国云(如Naver Cloud、AWS 韩国区、KT Cloud)创建实例,选择Ubuntu 20.04或22.04,配置至少2CPU、4GB内存。
2.2 绑定公网IP与域名,在DNS中添加A记录指向实例IP。
2.3 安装基础组件:sudo apt update && sudo apt install -y nginx ufw certbot python3-certbot-nginx
3.
3.1 使用Certbot自动签发证书:sudo certbot --nginx -d yourdomain.com,完成后nginx会自动配置443。
3.2 确认回调URL(Webhook)为https地址并在支付平台管理后台填写回调地址,确保可以被公网访问。
4.
4.1 在支付平台后台获取API Key、Secret、商户号、Webhook签名密钥等,保存到服务器安全环境变量或加密配置文件(不要直接写在代码里)。
4.2 使用支付方沙盒(Sandbox)环境进行订单创建、支付模拟、Webhook测试。示例:使用curl请求创建支付订单并读取返回的支付URL。
5.
5.1 初始化项目:npm init -y;安装依赖:npm i express axios body-parser crypto dotenv。
5.2 创建创建订单接口:接收前端订单信息,调用支付方创建订单API(POST /v1/payments),本地保存订单号、状态、金额、货币等。
5.3 返回支付跳转URL给前端或直接生成支付表单(视支付方式),示例伪代码:axios.post(payUrl,{amount,currency,callback})。
6.
6.1 在服务器实现POST /webhook 接口,接收支付平台回调,使用支付方提供的签名密钥验证请求合法性(HMAC SHA256等)。
6.2 验证订单号、金额一致后更新本地订单状态并触发业务流程(发货、开通服务),返回200 OK。
6.3 为防止重复通知,幂等处理回调(通过订单状态或回调ID去重)。
7.
7.1 前端调用后端创建订单接口,获取支付URL或支付token,跳转到支付页或嵌入支付SDK(如Stripe Elements)。
7.2 提示用户支付完成后返回结果页,并通过轮询或调用订单查询接口确认最终状态,避免因回调延迟导致用户不知情。
8.
8.1 确认结算货币与收款账户(若平台结算为KRW而你需要结汇到其它货币,需注意汇率和手续费)。
8.2 定期下载支付平台对账单(CSV/Excel),与本地订单数据比对(金额、手续费、退款),自动化对账可用脚本每日比对并生成异常报告。
8.3 配置入账通知和银行回单对账,保存相关凭证以备税务审计。
9.
9.1 韩国本地法律对支付、电子发票与税务有要求,若为韩国本地服务,考虑注册当地实体或与代理合作。
9.2 退款策略需要与支付平台一致,提前配置退款API权限并实现自动化退款流程;关注跨境退款时的汇率与手续费。
10.
问:在韩国云服务器上对接第三方支付,哪些配置是必须的?
答:必须的有:公网可访问的域名与IP、HTTPS证书、支付平台商户账号与API密钥、Webhook可达的回调地址、后端安全存储密钥、服务器防火墙与日志监控,另外建议启用自动化对账和证书自动续期。
11.
问:怎么校验Webhook并防止重复处理?
答:使用支付方提供的签名密钥(如HMAC SHA256)对请求体或指定字段进行校验,拒绝校验失败的请求;在业务层检查回调ID或订单状态实现幂等(若已处理则直接返回200),并记录回调日志以便追溯。
12.
问:如果结算货币为KRW但我希望收款到境外账户,有啥注意?
答:关注汇率、跨境手续费、支付平台是否支持多币种结算及入账目标、以及当地外汇合规。许多平台提供币种转换或合作银行服务,最好在签约前确认结算路径、预计到账时间与手续费明细。