Skip to main content
POST
/
api
/
{productId}
/
3ds
Complete a 3D Secure authentication flow
curl --request POST \
  --url https://test.paysight.io/api/{productId}/3ds \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "threeDSecureId": "<string>",
  "paysightSession": "<string>",
  "partnerSession": "<string>"
}
'
{
  "paysightSession": "<string>",
  "partnerSession": "<string>",
  "subscribeSuccess": true,
  "chargeSuccess": true,
  "info": "Success",
  "error": "<string>",
  "email": "<string>",
  "message": "<string>",
  "orderId": 123,
  "descriptor": "<string>",
  "mid": "<string>",
  "threeDSecureId": "<string>",
  "transactionId": "<string>",
  "amount": 123,
  "statusId": 123,
  "declineSalvage": true,
  "merchantAccountId": 123,
  "midPortalUrl": "<string>",
  "bin": "<string>",
  "binCountry": "<string>",
  "last4": "<string>",
  "eci": "<string>",
  "networkTokenized": true,
  "submitOrderId": 123,
  "applePay": true,
  "googlePay": true,
  "gatewayResponses": [
    {
      "gateway": "<string>",
      "httpStatus": 123,
      "response": "<string>"
    }
  ],
  "subscriptionId": 123
}

Authorizations

Authorization
string
header
required

This will be provided by Paysight

Path Parameters

productId
integer
required

ID of the Paysight product.

Body

application/json
threeDSecureId
string
required

The threeDSecureId value returned by POST /api/{productId} when info was "Pending".

paysightSession
string

Paysight session identifier. Either this or partnerSession must be provided.

partnerSession
string

Partner session identifier. Either this or paysightSession must be provided.

Response

Transaction result after 3D Secure completion. Same structure as the Submit response.

paysightSession
string

Paysight session identifier

partnerSession
string

Partner session identifier

subscribeSuccess
boolean

Indicates if the subscription was created successfully.

chargeSuccess
boolean

Indicates if the charge transaction was fully captured.

info
enum<string>

High-level outcome of the submission. Possible values:

  • Success – Transaction completed successfully. subscribeSuccess and/or chargeSuccess will be true.
  • Error – Transaction-level failure. A transaction was attempted; check statusId for the decline reason.
  • Failed – Pre-processing validation failure; no transaction was logged. Check the error field.
  • LimitReached – A rate or frequency limit was exceeded; no transaction was logged. Check the error field.
  • UserBlocked – The user, card, BIN, or email is blocked; no transaction was logged. Check the error field.
  • AlreadySubscribed – Customer is already subscribed; no new transaction was created.
  • Pending – Awaiting 3D Secure authentication; threeDSecureId will be populated. Call POST /api/{productId}/3ds to complete.
  • RedirectRequired – A redirect is required to complete the transaction.
Available options:
Success,
Error,
Failed,
LimitReached,
UserBlocked,
None,
AlreadySubscribed,
Pending,
RedirectRequired
error
string

Specific error message. Interpretation depends on the accompanying info value.

When info is "Error" (statusId > 0, transaction was attempted): This field contains the status description from the payment processor corresponding to the statusId value. See the statusId reference tables for the full list.

When info is "Failed" (no transaction logged, statusId: 0):

  • "Blocked" – Request blocked at the platform level.
  • "Blocked Card" – The specific card is blocked.
  • "Invalid expiry" – Card expiryMonth or expiryYear is zero or missing.
  • "Invalid CVV" – CVV/CVC value is invalid or missing.
  • "Invalid CC Number" – Card number failed validation.
  • "Invalid Email" – Email address is invalid or missing.
  • "VISA cards not Supported" – VISA cards are not accepted for this product/MID.
  • "Mastercard cards not supported" – Mastercard cards are not accepted for this product/MID.
  • "Discover cards not supported" – Discover cards are not accepted for this product/MID.
  • "AMEX cards not supported" – American Express cards are not accepted for this product/MID.
  • "MAESTRO cards not supported" – Maestro cards are not accepted for this product/MID.
  • "Bin and Last4 required along with Encrypted data"bin and lastFour must be provided when submitting encrypted card data.
  • "Specified Mid not found" – The mid field does not match any known MID.
  • "Specified Mid does not belong to Tenant account" – The mid field references a MID from a different tenant.

When info is "LimitReached" (no transaction logged, statusId: 0):

  • "CC entered too many times in quick succession" – The card number has been submitted too frequently in a short window.
  • "Email entered too many times for this product" – The email address has been used too many times for this product.

When info is "UserBlocked" (no transaction logged, statusId: 0):

  • "Blocked card" – Card BIN is from a blocked country.
  • "Blocked" – User is blacklisted (by email, card number, or BIN).
email
string

Email address associated with the transaction.

message
string

General message about the result. For pre-processing errors this mirrors the error field. For 3D Secure pending flows this will be empty; check threeDSecureId instead.

orderId
integer

Order identifier for the subscription or charge record.

descriptor
string

Credit card descriptor that will appear on the cardholder's statement.

mid
string

Merchant ID (MID number) used for the transaction.

threeDSecureId
string

Identifier for the 3D Secure session. Populated only when info is "Pending". Pass this value to POST /api/{productId}/3ds to complete the authentication flow. Null or empty in all other cases.

transactionId
string

Unique transaction identifier from the payment processor.

amount
number

Amount charged in the transaction currency.

statusId
integer

Paysight transaction status code. 0 means no transaction was logged (pre-validation failure or unexpected error). All other values represent a processed transaction outcome.

For the complete reference with retry guidance see the Error & Decline Handling Guide.


Successful

IDStatus
2636Transaction succeeded
3367Preauthorized
3616Approved
4165Card Verified
4173SUCCEEDED
4257Transaction Approved

Issuer Declines

The issuing bank rejected the transaction. The card or account is the primary cause.

IDStatus
2674Transaction declined for unknown reason
2677Transaction declined by authorization system
2683Transaction declined (suspecting manipulation)
2684Transaction declined (stolen card)
2690Transaction declined (card lost)
2693Transaction declined (restricted card)
2695Transaction declined (transaction not permitted)
2696Transaction declined (pick up card)
2882Account or user is blacklisted
3185Account Closed
3290Suspected Fraud
3613Issuer Declined
3614Issuer Declined MCC
3617Declined
3618Do not honor
3621Transaction not allowed
3629Call issuer for further information
3631Lost card
3632Stolen card
3635Declined - Stop all recurring payments
3637Declined - Update cardholder data available
3638Declined - Retry in a few days
3640Transaction error returned by processor
3654Transaction declined (additional customer authentication required)
3821Pick up card - F
3822Pick up card - SF
3823Pick up card - NF
4111ScaRequiredError
4174ADDRESS_VERIFICATION_FAILED_RISK_RULES
4175AUTHORIZATION_EXPIRED_OR_ALREADY_CAPTURED
4176BANK_ACCOUNT_CLOSED
4177BANK_ACCOUNT_FROZEN
4178CALL_ISSUER
4179CANCELLATION_VIA_API
4180CANCELLATION_VIA_DEVICE
4181CARD_ACCOUNT_CLOSED
4182CARD_NETWORK_ERROR
4183CARD_NOT_ACTIVATED_OR_BLOCKED
4184CARD_NOT_SUPPORTED
4185CARDHOLDER_PREVENTED_RECURRING_TRANSACTION
4186COMMUNICATION_ERROR
4187CVV_FAILED_RISK_RULES
4191DO_NOT_HONOR
4192DUPLICATE_TRANSACTION
4193EXCEEDED_CARDHOLDER_INPUT_TIME_LIMIT
4194EXCEEDS_APPROVAL_LIMIT
4195EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT
4197FRAUD_DETECTED
4198FRAUD_DETECTED_BY_FINIX
4199FRAUD_DETECTED_BY_ISSUER
4200GENERIC_DECLINE
4202INCOMPLETE_TRANSACTION
4205INVALID_AMOUNT
4211INVALID_ISSUER
4212INVALID_ROUTING_NUMBER
4213INVALID_TRANSACTION
4214ISSUER_POLICY_VIOLATION
4215LOST_OR_STOLEN_CARD
4216MAX_TRANSACTION_AMOUNT_EXCEEDED
4217NO_BANK_ACCOUNT_FOUND
4218NON_TRANSACTION_ACCOUNT
4219PAYMENT_STOPPED
4220PICK_UP_CARD
4221RESTRICTED_CARD
4222RESUBMIT_TRANSACTION
4223ALLOWABLE_NUMBER_OF_PIN_ENTRY_TRIES_EXCEEDED
4224CANNOT_VERIFY_PIN
4226CRYPTOGRAPHIC_ERROR_FOUND_IN_PIN
4227ERROR
4228EXCEEDS_APPROVAL_AMOUNT_LIMIT
4229FILE_TEMPORARILY_NOT_AVAILABLE
4230FINANCIAL_INSTITUTION_NOT_FOUND
4232INVALID_AMOUNT_OR_CURRENCY
4233INVALID_MERCHANT
4234ISSUER_INOPERATIVE
4235LOST_CARD_PICK_UP_FRAUD_ACCOUNT
4236NEGATIVE_RESULTS
4237NO_ACTION_TAKEN
4238NO_CHECKING_ACCOUNT
4239NO_CREDIT_ACCOUNT
4240NO_SAVINGS_ACCOUNT
4241NO_SUCH_ISSUER
4243PICK_UP_CARD_FRAUD_ACCOUNT
4244PICK_UP_CARD_NO_FRAUD
4245RE_ENTER_TRANSACTION
4246REFER_TO_CARD_ISSUER
4247STOLEN_CARD_PICK_UP_FRAUD_ACCOUNT
4248STOP_PAYMENT_ORDER
4249SURCHARGE_AMOUNT_NOT_SUPPORTED
4250SUSPECTED_FRAUD
4251TRANSACTION_AMOUNT_EXCEEDS_PREAUTHORIZED_APPROVAL_AMOUNT
4252TRANSACTION_DOES_NOT_FULFILL_AML_REQUIREMENT
4253TRANSACTION_NOT_COMPLETED_LAW_VIOLATION
4254UNABLE_TO_LOCATE_RECORD
4255Rejected (NMI Fraud block)
4256TRANSACTION_NOT_PERMITTED
4265Card Type Not Accepted
4266ACH Not Accepted
4267AVS Mismatch
4268Merchant Does Not Accept Card Type
4279Declined - Pick Up Card
4280Voice Authorization Required
4290Card Type Not Accepted by Processor
4303Declined - Fraud Score Too High
4307Declined - AVS and Card Code Filter

Insufficient Funds

IDStatus
2687Transaction declined (limit exceeded)
3512Insufficient Funds
3619Insufficient funds
3620Over limit
4203INSUFFICIENT_FUNDS
4242NOT_SUFFICIENT_FUNDS
4281Insufficient Funds

Invalid Card Details

The card number, expiry, CVV, or holder name is invalid or failed verification.

IDStatus
2676Transaction declined (invalid card)
2682Transaction declined (wrong expiry date)
2707Transaction declined (invalid CVV — amount may be reserved for a few business days)
2708Transaction declined (UserAccount Number/ID unknown)
3137Card Expired
3142cc/bank account holder not valid
3149Invalid cc number/brand combination
3256Invalid credit card number
3625Expired card
3627Invalid card security code
3628Invalid PIN
4105InvalidCardError
4196EXPIRED_CARD
4201INACTIVE_CARD
4204INVALID_ACCOUNT_NUMBER
4206INVALID_BANK_ACCOUNT_NUMBER
4207INVALID_BANK_ACCOUNT_VALIDATION_CHECK
4208INVALID_CARD
4209INVALID_CARD_NUMBER_OR_EXPIRED_CARD
4210INVALID_CVV
4225CARD_AUTHENTICATION_FAILED
4231INCORRECT_PIN
4258Invalid Credit Card Number
4259Invalid Expiration Date
4260Credit Card Expired
4274Invalid Amount
4275Invalid Account Number
4276Invalid ABA Code
4277Card Code Mismatch
4282Invalid Card Code
4295Required Field Missing
4299Invalid Credit Card Number Format
4306Declined - Card Code Mismatch

Other / System Errors

Gateway configuration issues, platform-level blocks, duplicate detection, communication failures, and other non-issuer, non-card errors. No transaction may be retried without resolving the underlying cause.

IDStatus
0None — no transaction logged
2Failed
1614Unsubscribed
1789Submitted (gateway-level submission status)
2680Transaction declined (amount exceeds credit)
2681Transaction declined (format error)
2686Transaction declined (too many invalid tries)
2858AVS Check Failed (amount reserved but will be released)
2884Email blacklisted
2887BIN Blacklisted (Paysight)
2890Duplicate Transaction
2892Max transactions per account already exceeded
2913Channel/Merchant is disabled (no processing possible)
2927Channel/Merchant not configured for this payment type
2931Invalid payment data (currency or sub type not configured)
3027Test accounts not allowed in production
3089Invalid authentication information
3140Request contains no cc/bank account holder
3448Failed AVS
3610OMIT STATE
3622Incorrect payment information
3623No such card issuer
3624No card number on file with issuer
3636Declined - Stop this recurring program
3639Transaction was rejected by gateway
3641Invalid merchant configuration
3642Merchant account is inactive
3643Communication error
3644Communication error with issuer
3645Duplicate transaction at processor
3646Processor format error
3647Invalid transaction information
3648Processor feature not available
3649Unsupported card type
3808BIN country blocked
3809Amount exceeds max ticket
3814Name Blacklisted
3818Invalid US State Code
4079ConfigurationError
4080CommunicationError
4082AccountError
4083TimeoutError
4088InputDataMissingError
4089InputDataFormatError
4090InputDataInvalidError
4093WorkflowError
4095ReferenceWorkflowError
4104ProcessingError
4107ExpiredCardError
4115CardBlacklistError
4116BinBlacklistError
4119BlacklistError
4130IrisFilterDeclinedError
4135IpNotWhitelistedError
4159RemoteSystemError
4160RemoteConfigurationError
4162RemoteWorkflowError
4166Authorized then Voided/Cancelled
4167Strong Customer Authentication Required
4168BIN Blacklisted (Client)
4169Daily threshold exceeded
4170Custom descriptors are not allowed
4171Specified API key not found
41723DS Failed
4261Duplicate Transaction
4262Invalid Merchant Authentication
4263Invalid Transaction ID
4264Transaction Not Found
4269Transaction Not Eligible for Settlement
4270Transaction Already Settled
4271Authorization Code Required
4272Invalid Relay Response URL
4273Processing Error - Try Again
4278Transaction Security Failure
4283Transaction Under Review
4284Processing Error - Connection Issue
4285Processing Error - System Timeout
4286Processing Error - Gateway Issue
4287Elavon Configuration Error
4288Processing Error - Retry Available
4289Processing Error - Server Issue
4291Paymentech Configuration Error
4292Processor Configuration Invalid
4293FDC Configuration Error
4294Merchant Password Invalid
4296VITAL Configuration Error
4297Processor Setup Error
4298Settlement Failed After Authorization
4300Global Payment System Configuration Error
4301Invalid Currency Code
4302Transaction Must Be Encrypted
4304Missing Required Field Information
4305Invalid Terminal ID
4308Session Expired or Invalid
4309Settlement Amount Exceeds Authorization
4310Partial Reversals Not Accepted
4311Amount Exceeds Maximum Allowed
4312Transaction Awaiting Settlement
4313Credit Exceeds Original Amount
4314Client Notification Failed
declineSalvage
boolean

true if the customer was subscribed even though the charge was declined (e.g. a grace-period subscription on an insufficient-funds decline). In this case subscribeSuccess may be true while chargeSuccess is false.

merchantAccountId
integer

Paysight internal ID for the Merchant Account used for the transaction.

midPortalUrl
string

Optional portal URL defined on the Paysight Brand entry. See https://app.paysight.io/management/brands/

bin
string

Bank Identification Number (first 8 digits of PAN).

binCountry
string

Country of the BIN (ISO 3166-1 alpha-2) if available, e.g. "US".

last4
string

Last 4 digits of the card number.

eci
string

Electronic Commerce Indicator for 3D Secure transactions. "02" / "05" = fully authenticated (liability shift applies). "01" / "06" = attempted authentication.

networkTokenized
boolean

Indicates whether the transaction was processed using a network token.

submitOrderId
integer

Identifier for the card-submit event. When the submit does not result in a subscription this equals orderId. When a subscription is created (even if the charge fails) this value differs from orderId.

applePay
boolean

Indicates if the transaction was processed as an Apple Pay payment.

googlePay
boolean

Indicates if the transaction was processed as a Google Pay payment.

gatewayResponses
object[]

Raw gateway responses from each processing attempt (useful for debugging declines).

subscriptionId
integer

Paysight subscription ID created by this submit. 0 if no subscription was created.