Adyen Drop-In Data для карт.encrypted.json - PullRequest
0 голосов
/ 21 октября 2019

Мы интегрируем платежи в наше приложение, используя плагин Adyen Web Drop-in , так как мы не совместим с PCI, мы получаем зашифрованную информацию из Drop-in, как показано ниже:

{
  "data": {
      "paymentMethod": {
          "type": "scheme",
          "encryptedCardNumber" : "adyenjs_0_1_25$...",
          "encryptedExpiryMonth" : "adyenjs_0_1_25$..."
          "encryptedExpiryYear" : "adyenjs_0_1_25$..."
          "encryptedSecurityCode" : "adyenjs_0_1_25$..."
        }
  },
  "isValid": true
}

Нам нужно вызвать / authorize API, и для этого нужны зашифрованные данные в одном свойстве card.encrypted.json как следует:

{
   "reference":"YourPaymentReference",
   "merchantAccount":"TestMerchant",
   "amount":{
      "currency":"EUR",
      "value":1500
   },
   "additionalData":{
      "authorisationType":"PreAuth",
      "card.encrypted.json : "adyenjs_0_1_25$..*"
   }
}

Пока у нас естьпопытался передать весь JSON, предоставленный Drop-in, в поле, но это не сработало, и мы получили следующий ответ от Adyen.

{
    "status": 422,
    "errorCode": "174",
    "message": "Unable to decrypt data",
    "errorType": "validation"
}

Так кто-нибудь знает, как преобразовать наши данные в эту card.encrypted.json , я видел, что есть другие плагины Adyen, которые генерируют этот токен с помощью пользовательских форм, но нам нужно использовать плагин Drop-in , и он не генерирует это поле.

Спасибо.

1 Ответ

0 голосов
/ 21 октября 2019

С дополнительными и другими компонентами необходимо использовать API /payments.

Для примеров / авторизации требуются минимальные изменения, чтобы стать запросом / платежей. Вам необходимо передать объект paymentMethod непосредственно в запрос / платежей:

{
   "reference":"YourPaymentReference",
   "merchantAccount":"TestMerchant",
   "amount":{
      "currency":"EUR",
      "value":1500
   },
   "paymentMethod": {
       "type": "scheme",
       "encryptedCardNumber" : "adyenjs_0_1_25$...",
       "encryptedExpiryMonth" : "adyenjs_0_1_25$..."
       "encryptedExpiryYear" : "adyenjs_0_1_25$..."
       "encryptedSecurityCode" : "adyenjs_0_1_25$..."
   },
   "additionalData":{
      "authorisationType":"PreAuth",
   }
}
...