• 新平台

Checkout.com使用Restful的API规范,具体API文档可参考:
https://api-reference.checkout.com/preview/crusoe/

Base Url

在发起API请求时,请使用以下的地址:

环境 Base URL
沙箱测试环境 https://api.sandbox.checkout.com/
生产正式环境 https://api.checkout.com/

接口安全验证方式

Checkout.com 使用公私钥的方式来进行安全验证,可以在后台系统Dashboard中查找对应密钥信息并在需要时进行新增。
密钥的格式为:

密钥类型 沙箱环境 生产环境
私钥 sk_sbox_xxxxxxxxxxxxxxxxxxxxxxxxxx sk_xxxxxxxxxxxxxxxxxxxxxxxxxx
公钥 pk_sbox_xxxxxxxxxxxxxxxxxxxxxxxxxx pk_xxxxxxxxxxxxxxxxxxxxxxxxxx

其中公钥一般用于iFrame的初始化,或者移动端的SDK。
私钥则是后端接口调用时进行鉴权。具体使用方式是在HTTP header中增加参数:Authrozation。并在密钥值前增加 Bearer
如:

Key Value
Authorization Bearer sk_sbox_xxxxxxxxxxxxxxxxxxxxxxxxxx

若贵司使用的是Checkout.com老平台对接,请与负责贵司的工程师进行联系。

幂等机制

Checkout.com的大部分业务接口都提供幂等功能,以便商户在出现系统异常时安全的发起重试。其逻辑为:当HTTP请求中增加了幂等的key时,后续使用同一幂等key重新发起的请求会返回此前相同的处理结果(相同的HTTP code返回及body信息)。

沙箱环境的幂等有效期为120秒
生产环境的幂等有效期为24小时

幂等参数同样是在HTTP请求中添加key:

Key Value
Cko-Idempotency-Key string

建议使用V4 UUIDs来产生幂等值。
请求示例如下:

  1. curl -X POST https://api.sandbox.checkout.com/payments
  2. -H 'Authorization: Bearer sk_***'
  3. -H 'Cko-Idempotency-Key: 74f18c1ee79747949cc5f0bd4d771e93'
  4. -H 'Content-Type: application/json'
  5. -d '{
  6. "source": {
  7. "type": "token",
  8. "token": "tok_6qi7zfk7652udgy2thneaoxp7u"
  9. },
  10. "amount": 1000,
  11. "currency": "USD"
  12. }