Аутентификация платежей Apple Pay с использованием API REST Cybersource - PullRequest
0 голосов
/ 13 февраля 2020

В настоящее время я работаю над интеграцией Apple Pay в нашем магазине с поддержкой Cybersource, но у меня проблемы с аутентификацией платежей с использованием их REST API.

Допустим, у меня есть следующий токен от Apple :

{
  "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. Какие части токена необходимо отправить в кибер-источник? Все это или только поле «data»?
  2. Каким свойствам «FluidData» (помеченным как ???) какое значение нужно установить?

У меня уже есть безуспешно пытался выполнить следующее:

  1. Установить value на кодированный токен base64. Это приводит к ошибке, поскольку содержит слишком много символов
  2. Установите keySerialNumber в кодированный токен base64. Это приводит к ошибке, так как в запросе отсутствует номер кредитной карты (?)
  3. Я пробовал оба с дескриптором, установленным в "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U" (который можно найти в некоторых документах Cybersource онлайн, не спрашивайте меня что это значит)
  4. Установите value в свойство data токена. Это приводит к ошибке, поскольку она не может быть расшифрована. (Оплата Apple включена в моей учетной записи Cybersource, и я использовал их CSR для создания сертификата обработки платежей)

Я понятия не имею, почему это не работает, поэтому любая помощь будет принята с благодарностью !

...