CartDNA 是 Shopify 支付应用开发合作伙伴

CartDNA 徽标

逐步集成CartDNA

使用此指南将CartDNA连接到您的电商店铺、应用或后端服务。核心流程很简单:身份验证、创建支付请求、发送安全标头、重定向客户并监听回调。

1

获取您的凭据

开始之前,请收集您的CartDNA凭据。您的设置通常包括client ID、client secret、merchant ID和签名密钥。仅在服务器上保留私有值。切勿在浏览器代码或公共存储库中暴露它们。

2

身份验证并获取访问令牌

CartDNA使用基于令牌的身份验证。您的服务器将客户端凭据发送到身份验证端点并接收访问令牌。然后您在授权的API请求中将该令牌作为Bearer令牌包含在内。

Note: 令牌过期时刷新它。在您的后端中干净地处理401响应。

3

创建支付请求payload

使用您的订单参考、金额、货币、交易类型、支付方式、客户详细信息、返回URL、取消URL和回调URL构建支付payload。如果需要将支付与您自己的内部系统关联,请添加元数据。

有用的示例:

  • order_id 用于您的商店订单
  • metadata.cart_id 用于购物车跟踪
  • customer.email 用于支付跟踪和支持工作流
4

发送所需的安全标头

每个支付请求都应包含身份验证和请求保护所需的标头。这些包括Bearer令牌、UTC时间戳、幂等性密钥和生成的签名。

Note: 这些标头有助于防止重放问题、重复请求和篡改的payload。

5

正确生成签名

CartDNA需要从严格顺序的关键值构建的SHA-256签名。金额必须转换为其最小单位整数格式,签名密钥必须进行MD5哈希,最终字符串必须进行哈希处理并以大写形式发送。

Note: 为此创建一个经过测试的服务器端实用程序。在所有支付请求中重用它。

6

将客户重定向到支付

成功的支付请求返回支付URL。将客户重定向到该URL,以便他们可以使用所选支付方式完成交易。

客户流程:

  • 成功路线进入您的返回URL
  • 取消路线进入您的取消URL
  • 最终状态仍应从回调事件中确认
7

处理回调并更新您的系统

CartDNA可以在支付事件发生时通知您的回调端点。使用此功能更新订单状态、支付状态、支持仪表板和内部报告。您的回调处理程序应记录事件、验证请求并且可以安全地重试。

生产启动检查清单

凭据安全存储

身份验证令牌流程已测试

签名实用程序已验证

幂等性策略已定义

返回和取消URL正常工作

回调端点已上线并记录

沙盒流程已端到端测试

上线前已审查生产环境

避免这些集成错误

重用相同的幂等性密钥

发送未签名或签名错误的请求

在浏览器代码中使用密钥

在没有回调确认的情况下信任重定向成功

忽略令牌过期处理

以纯文本记录敏感密钥