1.0.0 • Published 3 years ago

3dsecureio-mappings v1.0.0

Weekly downloads
-
License
-
Repository
github
Last release
3 years ago

3dsecureio-mappings

Mappers from internal format to 3dsecure.io

const {
    TdsError,
    UnsupportedCountryError,
    UnsupportedCurrencyError,
    UnexpectedEnumValueError,
    InvalidAmountError,
    AmountTooLargeError,
    toPreAuthRequest,
    fromPreAuthResponse,
    toAuthRequest,
    fromAuthResponse,
    toChallengeRequest,
    fromChallengeResponse,
    toPostAuthRequest,
    fromPostAuthResponse,
    schemas,
} = require('@paylike/3dsecureio-mappings')

Interface

  • toPreAuthRequest(preAuthRequest) → 3dsecureObject
  • fromPreAuthResponse(3dsecureObject)preAuthResponse | TdsError | UnexpectedEnumValueError
  • toAuthRequest(authRequest) → 3dsecureObject | UnexpectedEnumValueError | UnsupportedCurrencyError | InvalidAmountError | AmountTooLargeError | UnsupportedCountryError
  • fromAuthResponse(3dsecureObject)authResponse | TdsError | UnexpectedEnumValueError
  • toChallengeRequest(challengeRequest) → 3dsecureObject | UnexpectedEnumValueError
  • fromChallengeResponse(3dsecureObject)challengeResponse | TdsError | UnexpectedEnumValueError
  • toPostAuthRequest(postAuthRequest) → 3dsecureObject
  • fromPostAuthResponse(3dsecureObject)postAuthResponse | TdsError | UnexpectedEnumValueError

Exceptions

  • TdsError
{
  name: String, // name of the error
  message: String, // description of the error
  acsTransactionId?: String, // format: uuid
  dsTransactionId?: String, // length ≤ 36, format: uuid
  errorCode: String, // enum: ['message-received-invalid', 'message-version-number-not-supported', 'sent-messages-limit-exceeded', 'required-data-element-missing', 'critical-message-extension-not-recognised', 'format-invalid', 'duplicate-data-element', 'transaction-id-not-recognised', 'data-decryption-failure', 'access-denied-invalid-endpoint', 'iso-code-invalid', 'transaction-data-not-valid', 'merchant-category-code-not-valid', 'serial-number-not-valid', 'transaction-timed-out', 'transient-system-failure', 'permanent-system-failure', 'system-connection-failure']
  errorComponent: String, // enum: ['3ds-sdk', '3ds-server', 'directory-server', 'acs']
  errorDescription: String, // length ≤ 2048
  errorDetail: String, // length ≤ 2048
  errorMessageType?: String, // enum: ['ARes', 'AReq', 'PRes', 'PReq', 'CRes', 'CReq', 'RReq', 'RRes', 'Erro']
  messageType: String, // enum: ['Erro']
  messageVersion: String, // enum: ['2.1.0']
  sdkTransactionId?: String, // format: uuid
  threeDSServerTransactionId: String, // format: uuid
}
  • 'UnexpectedEnumValueError'
{
  name: String, // name of the error
  message: String, // description of the error
  enumName: String, // name of the enum
  enumValue: String, // value which was not found in the enum
}  
  • 'UnsupportedCurrencyError'
{
  name: String, // name of the error
  message: String, // description of the error
  field: String, // name of the field which causes an error
}
  • 'InvalidAmountError'
{
  name: String, // name of the error
  message: String, // description of the error
  field: String, // name of the field which causes an error
}
  • 'AmountTooLargeError'
{
  name: String, // name of the error
  message: String, // description of the error
  field: String, // name of the field which causes an error
  maxAmount: @capbasic/money, // max allowed amount
}
  • 'UnsupportedCountryError'
{
  name: String, // name of the error
  message: String, // description of the error
  field: String, // name of the field which causes an error
}