'use strict';
/**
* @name BraintreeError.3D Secure - Creation Error Codes
* @description Errors that occur when [creating the 3D Secure component](./module-braintree-web_three-d-secure.html#.create).
* @property {MERCHANT} THREEDS_NOT_ENABLED Occurs when 3D Secure is not enabled in the Braintree control panel.
* @property {MERCHANT} THREEDS_CAN_NOT_USE_TOKENIZATION_KEY Occurs when 3D Secure component is created without a Client Token.
* @property {MERCHANT} THREEDS_HTTPS_REQUIRED Occurs when 3D Secure component is created in production over HTTPS.
* @property {MERCHANT} THREEDS_NOT_ENABLED_FOR_V2 Occurs when 3D Secure component is created with version 2 parameter, but merchant is not enabled to use version 2.
* @property {MERCHANT} THREEDS_UNRECOGNIZED_VERSION Occurs when unrecognized version enum is passed into the create call.
* @property {UNKNOWN} THREEDS_CARDINAL_SDK_SETUP_FAILED Occurs when Cardinal's Songbird.js library fails to setup for an unknown reason.
* @property {NETWORK} THREEDS_CARDINAL_SDK_SCRIPT_LOAD_FAILED Occurs when using version 2 and Cardinal's Songbird.js script could not be loaded.
* @property {UNKNOWN} THREEDS_CARDINAL_SDK_SETUP_TIMEDOUT Occurs when Cardinal's Songbird.js library takes longer than 60 seconds to set up.
* @property {UNKNOWN} THREEDS_CARDINAL_SDK_RESPONSE_TIMEDOUT Occurs when Cardinal sends a response indicating a timeout on /Validate, /Confirm, or /Continue.
* @property {MERCHANT} THREEDS_CARDINAL_SDK_BAD_CONFIG Occurs when there is no JWT in the request. Also when there's some other malformed aspect of config.
* @property {MERCHANT} THREEDS_CARDINAL_SDK_BAD_JWT Occurs when a malformed config causes a either a missing response JWT or a malformed Cardinal response.
* @property {UNKNOWN} THREEDS_CARDINAL_SDK_ERROR Occurs when a "general error" or a Cardinal hosted fields error happens. Description contains more details.
* @property {CUSTOMER} THREEDS_CARDINAL_SDK_CANCELED Occurs when customer cancels the transaction mid-flow, usually with alt-pays that have their own cancel buttons.
*/
/**
* @name BraintreeError.3D Secure - verifyCard Error Codes
* @description Errors that occur when using the [`verifyCard` method](./ThreeDSecure.html#verifyCard).
* @property {MERCHANT} THREEDS_AUTHENTICATION_IN_PROGRESS Occurs when another verification is already in progress.
* @property {MERCHANT} THREEDS_MISSING_VERIFY_CARD_OPTION Occurs when a required option is missing.
* @property {UNKNOWN} THREEDS_JWT_AUTHENTICATION_FAILED Occurs when something went wrong authenticating the JWT from the Cardinal SDK.
* @property {MERCHANT} THREEDS_LOOKUP_TOKENIZED_CARD_NOT_FOUND_ERROR Occurs when the supplied payment method nonce does not exist or the payment method nonce has already been consumed.
* @property {CUSTOMER} THREEDS_LOOKUP_VALIDATION_ERROR Occurs when a validation error occurs during the 3D Secure lookup.
* @property {UNKNOWN} THREEDS_LOOKUP_ERROR An unknown error occurred while attempting the 3D Secure lookup.
* @property {MERCHANT} THREEDS_VERIFY_CARD_CANCELED_BY_MERCHANT Occurs when the 3D Secure flow is canceled by the merchant using `cancelVerifyCard` (3D Secure v2 flows only).
* @property {UNKNOWN} THREEDS_INLINE_IFRAME_DETAILS_INCORRECT An unknown error occurred while attempting to use the inline iframe framework.
*/
/**
* @name BraintreeError.3D Secure - cancelVerifyCard Error Codes
* @description Errors that occur when using the [`cancelVerifyCard` method](./ThreeDSecure.html#cancelVerifyCard).
* @property {MERCHANT} THREEDS_NO_VERIFICATION_PAYLOAD Occurs when the 3D Secure flow is canceled, but there is no 3D Secure information available.
*/
/**
* @name BraintreeError.3D Secure - Internal Error Codes
* @ignore
* @description Errors that occur internally
* @property {INTERNAL} THREEDS_TERM_URL_REQUIRES_BRAINTREE_DOMAIN Occurs when iframe is initialized on a non-verified domain.
* @property {INTERNAL} THREEDS_FRAMEWORK_METHOD_NOT_IMPLEMENTED Occurs when a 3D Secure framework method is not implemented.
*/
var BraintreeError = require('../../lib/braintree-error');
module.exports = {
THREEDS_NOT_ENABLED: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_NOT_ENABLED',
message: '3D Secure is not enabled for this merchant.'
},
THREEDS_CAN_NOT_USE_TOKENIZATION_KEY: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_CAN_NOT_USE_TOKENIZATION_KEY',
message: '3D Secure can not use a tokenization key for authorization.'
},
THREEDS_HTTPS_REQUIRED: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_HTTPS_REQUIRED',
message: '3D Secure requires HTTPS.'
},
THREEDS_NOT_ENABLED_FOR_V2: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_NOT_ENABLED_FOR_V2',
message: '3D Secure version 2 is not enabled for this merchant. Contact Braintree Support for assistance at https://help.braintreepayments.com/'
},
THREEDS_UNRECOGNIZED_VERSION: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_UNRECOGNIZED_VERSION'
},
THREEDS_CARDINAL_SDK_SETUP_FAILED: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_CARDINAL_SDK_SETUP_FAILED',
message: 'Something went wrong setting up Cardinal\'s Songbird.js library.'
},
THREEDS_CARDINAL_SDK_SCRIPT_LOAD_FAILED: {
type: BraintreeError.types.NETWORK,
code: 'THREEDS_CARDINAL_SDK_SCRIPT_LOAD_FAILED',
message: 'Cardinal\'s Songbird.js library could not be loaded.'
},
THREEDS_CARDINAL_SDK_SETUP_TIMEDOUT: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_CARDINAL_SDK_SETUP_TIMEDOUT',
message: 'Cardinal\'s Songbird.js took too long to setup.'
},
THREEDS_CARDINAL_SDK_RESPONSE_TIMEDOUT: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_CARDINAL_SDK_RESPONSE_TIMEDOUT',
message: 'Cardinal\'s API took too long to respond.'
},
THREEDS_CARDINAL_SDK_BAD_CONFIG: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_CARDINAL_SDK_BAD_CONFIG',
message: 'JWT or other required field missing. Please check your setup configuration.'
},
THREEDS_CARDINAL_SDK_BAD_JWT: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_CARDINAL_SDK_BAD_JWT',
message: 'Cardinal JWT missing or malformed. Please check your setup configuration.'
},
THREEDS_CARDINAL_SDK_ERROR: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_CARDINAL_SDK_ERROR',
message: 'A general error has occurred with Cardinal. See description for more information.'
},
THREEDS_CARDINAL_SDK_CANCELED: {
type: BraintreeError.types.CUSTOMER,
code: 'THREEDS_CARDINAL_SDK_CANCELED',
message: 'Canceled by user.'
},
THREEDS_VERIFY_CARD_CANCELED_BY_MERCHANT: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_VERIFY_CARD_CANCELED_BY_MERCHANT',
message: '3D Secure verfication canceled by merchant.'
},
THREEDS_AUTHENTICATION_IN_PROGRESS: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_AUTHENTICATION_IN_PROGRESS',
message: 'Cannot call verifyCard while existing authentication is in progress.'
},
THREEDS_MISSING_VERIFY_CARD_OPTION: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_MISSING_VERIFY_CARD_OPTION'
},
THREEDS_JWT_AUTHENTICATION_FAILED: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_JWT_AUTHENTICATION_FAILED',
message: 'Something went wrong authenticating the JWT from Cardinal'
},
THREEDS_LOOKUP_TOKENIZED_CARD_NOT_FOUND_ERROR: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_LOOKUP_TOKENIZED_CARD_NOT_FOUND_ERROR',
message: 'Either the payment method nonce passed to `verifyCard` does not exist, or it was already consumed'
},
THREEDS_LOOKUP_VALIDATION_ERROR: {
type: BraintreeError.types.CUSTOMER,
code: 'THREEDS_LOOKUP_VALIDATION_ERROR',
message: 'The data passed in `verifyCard` did not pass validation checks. See details for more info'
},
THREEDS_LOOKUP_ERROR: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_LOOKUP_ERROR',
message: 'Something went wrong during the 3D Secure lookup'
},
THREEDS_INLINE_IFRAME_DETAILS_INCORRECT: {
type: BraintreeError.types.UNKNOWN,
code: 'THREEDS_INLINE_IFRAME_DETAILS_INCORRECT',
message: 'Something went wrong when attempting to add the authentication iframe to the page.'
},
THREEDS_NO_VERIFICATION_PAYLOAD: {
type: BraintreeError.types.MERCHANT,
code: 'THREEDS_NO_VERIFICATION_PAYLOAD',
message: 'No verification payload available.'
},
THREEDS_TERM_URL_REQUIRES_BRAINTREE_DOMAIN: {
type: BraintreeError.types.INTERNAL,
code: 'THREEDS_TERM_URL_REQUIRES_BRAINTREE_DOMAIN',
message: 'Term Url must be on a Braintree domain.'
},
THREEDS_FRAMEWORK_METHOD_NOT_IMPLEMENTED: {
type: BraintreeError.types.INTERNAL,
code: 'THREEDS_FRAMEWORK_METHOD_NOT_IMPLEMENTED',
message: 'Method not implemented for this framework.'
}
};