Aekor

Aekor
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. Blog
  3. 正文

全球支付巨头Checkout如何用一套 API 接管你的收银台

2022-08-12 7点热度 0人点赞 0条评论

如果你正在做跨境电商、SaaS 或任何需要面向全球用户收款的数字业务,你一定听说过 checkout。这家总部位于伦敦的支付平台,覆盖全球超过 170 个国家和地区,支持 150 多种货币和数十种本地支付方式。更重要的是,它用一套设计高度统一的 REST API 和嵌入式结账组件 Flow,让开发者可以在几分钟内搭建完全 PCI 合规的收银台,无需触碰任何敏感卡片数据。

今天,我们就基于 checkout 最新官方文档,拆解它的核心能力、技术优势以及几个最实用的接口。

checkout 是什么?它凭什么成为头部玩家的首选?

checkout 的定位从来不是简单的“支付网关”,而是一套完整的**支付基础设施**。它把收单、风控、3D Secure 认证、令牌化、退款、支付链接等功能全部整合到一个平台上。商户只需对接一套 REST API,就能在全球范围内处理复杂的支付流程。

对开发者来说,checkout 有几个特别吸引人的优点:

1. Flow 嵌入式结账,PCI 合规零负担

checkout 提供了名为 **Flow** 的预构建支付 UI 组件。你只需要在自己的结账页面上挂载这个组件,它就会自动渲染所有可用的支付方式(Visa、Mastercard、Apple Pay、Google Pay、PayPal、Klarna 等),并处理所有敏感信息的采集和令牌化。卡片数据永远不会到达你的服务器,PCI 合规压力降到最低。

2. Payment Session 模型,前后端分离优雅

发起支付前,后端先调用 `POST /payment-sessions` 创建一个 Payment Session,返回一个一次性令牌 `payment_session_token`。前端拿到这个令牌后,用它初始化 Flow 组件。整个过程中,前端不直接接触商户的 Secret Key,安全设计非常合理。

3. Unified Payments API,一张卡多种用法

checkout 的支付 API 支持多种付款来源:通过 Flow 生成的 token、卡组织生成的 network_token、已存储的支付工具 id,甚至是完整的卡号(需 SAQ D 级别 PCI 合规)。这意味着不管你是新接入的商户,还是已经在用卡组织网络令牌的成熟团队,都能用同一套 API 处理支付。

4. 完整的后支付功能与强大搜索能力

退款(Refund)、撤销(Void)、取消(Reverse)等操作全部 REST 化,响应结构清晰,支持幂等键防重复。文档中还提供了一个强大的支付搜索接口,你可以用灵活的查询语法精确筛选交易,这在财务对账和异常排查中非常实用。

checkout Flow 支付组件示意图

核心接口实战:从创建 Payment Session 到接收 Webhook

以下示例均基于 checkout 的沙箱环境。API 基础 URL 包含你账户专属的 prefix,可在 Dashboard 中获取。

1. 后端创建 Payment Session

curl -X POST https://{prefix}.api.sandbox.checkout/payment-sessions \
 -H "Authorization: sk_xxx" \
 -H "Content-Type: application/json" \
 -d '{
 "amount": 1000,
 "currency": "GBP",
 "reference": "ORD-123A",
 "billing": {
 "address": {
 "country": "GB"
 }
 },
 "customer": {
 "name": "Jordan Smith",
 "email": "[email protected]"
 },
 "success_url": "https://yoursite.com/success",
 "failure_url": "https://yoursite.com/failure"
 }'

响应中的 `id` 是 session 的唯一标识,`payment_session_token` 是前端挂载 Flow 组件必需的凭证。

2. 前端挂载 Flow 组件

const checkout = await CheckoutWebComponents({
 paymentSession: paymentSessionToken,
 publicKey: 'pk_xxx',
 environment: 'sandbox'
 });
const flowComponent = checkout.create('flow');
 flowComponent.mount('#flow-container');

Flow 会自动渲染所有符合条件的支付方式。用户选择卡支付后,Flow 内部完成卡片令牌化并发起扣款。如果发卡行要求 3D Secure 认证,Flow 也会自动处理挑战弹窗或重定向,开发者无需额外编写任何逻辑。

3. 监听同步支付完成事件

对于不需要重定向的支付方式(如普通卡支付),Flow 会在支付完成后触发 `onPaymentCompleted` 回调:

const checkout = await CheckoutWebComponents({
 paymentSession,
 publicKey,
 onPaymentCompleted: (_self, paymentResponse) => {
 console.log('Payment ID:', paymentResponse.id);
 // 显示成功提示,等待 Webhook 最终确认
 }
 });
 ```

对于需要重定向的支付方式(如 PayPal、部分 3DS 流程),用户会被引导回 `success_url`,URL 参数中会携带 `cko-payment-id`,你可以在后端调用查询接口获取详情。

checkout 支付流程与 Webhook 示意图

4. 退款与查询

退款接口非常简洁:

curl -X POST https://{prefix}.api.sandbox.checkout/payments/{paymentId}/refunds \
-H "Authorization: sk_xxx" \
-H "Content-Type: application/json" \
-d '{
"amount": 6540,
"reference": "REFUND-001"
}'

退款异步处理,最终结果通过 Webhook 通知。如果需要根据特定条件批量查询交易,可以使用搜索接口:

curl -X POST https://{prefix}.api.sandbox.checkout/payments/search \
-H "Authorization: sk_xxx" \
-H "Content-Type: application/json" \
-d '{
"query": "id:'\''pay_mbabizu24mvu3mela5njyhpit4'\''",
"limit": 10
}'

搜索接口支持复杂的查询语法,可以按金额、状态、时间范围等维度筛选,非常适合财务团队对账。

总结

checkout 是那种“越用越顺”的支付平台。它的 Flow 组件让前端集成几乎零门槛,Payment Session 模型在安全性和开发效率之间取得了优雅的平衡,而统一支付 API 则让卡、令牌、网络令牌三种支付来源可以用完全相同的方式处理。对于有全球化支付需求的团队,它几乎是一个“一站式终点站”。

现在就可以去 checkout 注册一个沙箱账号,用文档中的测试卡号(4242 4242 4242 4242)跑通你的第一笔 GBP 交易。当你在几分钟内看到一个完整的结账页面出现在自己网站上时,你会明白为什么那么多头部企业选择了 checkout。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 3D Secure Checkout 支付 API Checkout.com Flow 嵌入式结账 Payment Session PCI 合规 SaaS 收款 Webhook 全球支付 跨境电商支付 退款接口
最后更新:2026-08-12

Aekor

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

使用AI教程

  • API报错解决方案
  • API 基础知识
  • API Key 获取

分类

  • Blog
  • TradingAgents-CN
  • 使用教程

COPYRIGHT © 2026 Aekor. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang