使用Cyber​​source REST API验证Apple Pay付款

时间:2020-02-13 16:30:49

标签: cybersource

我目前正在与我们的Cyber​​source支持的商店进行Apple Pay的集成,但是我在使用其REST API进行付款身份验证时遇到了麻烦。

假设我从苹果公司获得了以下令牌:

{
  "version": "EC_v1",
  "data": "GA6LvLUk4hK0ts3N01vG...",
  "signature": "MIAGCSqGSIb3DQEHAqC...",
  "header": {
    "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKo...",
    "publicKeyHash": "saJIzbUmWiHInzN91n5LHf3BOHfywXMnxlZLsEpMv+0=",
    "transactionId": "46eb21a120d9eca1a7a24030dc525bf5634b83084453cdb2594333661ef72166"
  }
}

以及以下请求框架:

{
  "clientReferenceInformation": {
    "code": "JLEDRLkiXM3a"
  },
  "processingInformation": {
    "capture": false,
    "commerceIndicator": "internet",
    "paymentSolution": "001"
  },
  "paymentInformation": {
    "card": {
      "type": "004"
    },
    "fluidData": {
      "keySerialNumber": "???"
      "value": "???",
      "descriptor": "???",
      "encoding": "Base64"
    }
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": 3900,
      "currency": "EUR"
    },
    "billTo": {
      "firstName": "John",
      "lastName": "Doe",
      "address1": "Test123",
      "locality": "Test"
      "country": "de",
      "email": "t@st.com"
    }
  }
}

我的问题是:

  1. 令牌的哪些部分需要发送到网络资源?整个过程还是“数据”字段?
  2. “ fluidData”的哪些属性(标有???)需要设置为哪个值?

我已经尝试了以下方法,但没有成功:

  1. value设置为base64编码的令牌。这会导致错误,因为其中包含太多字符
  2. keySerialNumber设置为base64编码的令牌。由于请求缺少信用卡号(?),因此导致错误
  3. 我都尝试过将描述符设置为“ RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U”(可以在网上的一些Cyber​​source文档中找到,请问我是什么意思)
  4. value设置为令牌的data属性。由于无法解密,因此会导致错误。 (我的Cyber​​source帐户已启用Apple支付,并且我已使用其CSR生成付款处理证书)

我不知道为什么这不起作用,所以任何帮助将不胜感激!

0 个答案:

没有答案