Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created.
Typical response flow
On success: info = "Success", subscribeSuccess and/or chargeSuccess are true.
On decline: info = "Error", chargeSuccess = false, statusId indicates the decline reason.
On 3DS required: info = "Pending", threeDSecureId is populated — call POST /api/{productId}/3ds to complete.
On pre-processing error (no transaction): info is one of "Failed", "LimitReached", "UserBlocked", or "None", and statusId = 0. See the error field and the Error & Decline Handling Guide.
Session identifier from the partner's system. Either this or paysightSession must be provided. Keep this value at 50 characters or fewer so it is persisted for transaction-webhook correlation.
Name, alias, or your identifier for the affiliate or traffic source. Paysight resolves the matching affiliate or creates an affiliate record for a new value.
Sub-affiliate identifier, if applicable. This can be passed in the format 'primarysubid_secondarysubId' (or simply primarysubid if no secondary source is present). These fields are available as breakdowns in Reporting as Primary Sub ID and Secondary Sub ID
Shopify-specific checkout options. Only required for Shopify integrations.
Show child attributes
Response
Card submission result. Covers all transaction outcomes including success, all decline types, 3DS pending, already-subscribed, and pre-processing errors. Inspect info and statusId to determine the specific outcome. See the SubmitResult schema for the full statusId reference table.
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).
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.
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.
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
ID
Status
2636
Transaction succeeded
3367
Preauthorized
3616
Approved
4165
Card Verified
4173
SUCCEEDED
4257
Transaction Approved
Issuer Declines
The issuing bank rejected the transaction. The card or account is the primary cause.
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.
ID
Status
0
None — no transaction logged
2
Failed
1614
Unsubscribed
1789
Submitted (gateway-level submission status)
2680
Transaction declined (amount exceeds credit)
2681
Transaction declined (format error)
2686
Transaction declined (too many invalid tries)
2858
AVS Check Failed (amount reserved but will be released)
2884
Email blacklisted
2887
BIN Blacklisted (Paysight)
2890
Duplicate Transaction
2892
Max transactions per account already exceeded
2913
Channel/Merchant is disabled (no processing possible)
2927
Channel/Merchant not configured for this payment type
2931
Invalid payment data (currency or sub type not configured)
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.
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.
Paysight subscription ID created by this submit. 0 if no subscription was created.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Paysight Documentation","colors":{"primary":"#835df7","light":"#835df7","dark":"#835df7"},"logo":{"light":"https://mintcdn.com/paysight/iGy8IXiF55l0XLYB/images/paysight_light_purple.svg?fit=max\u0026auto=format\u0026n=iGy8IXiF55l0XLYB\u0026q=85\u0026s=8a5a98a9b4a10797c2f93131b72166cb","dark":"https://mintcdn.com/paysight/iGy8IXiF55l0XLYB/images/paysight_light_purple.svg?fit=max\u0026auto=format\u0026n=iGy8IXiF55l0XLYB\u0026q=85\u0026s=8a5a98a9b4a10797c2f93131b72166cb","href":"https://docs.paysight.io/"},"favicon":"https://mintcdn.com/paysight/N-VR3otE-jwc0efn/favicon.svg?fit=max\u0026auto=format\u0026n=N-VR3otE-jwc0efn\u0026q=85\u0026s=7dbd7fb359d2a2e527055aa4c04f3604","background":{"decoration":"grid"},"navbar":{"links":[{"href":"https://help.paysight.io/en/","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.paysight.io/auth/login"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/paysight-io","instagram":"https://www.instagram.com/paysight.io"}},"icons":{"library":"lucide"},"interaction":{"drilldown":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"paysight","hasAudioNarration":false,"actualSubdomain":"paysight","customDomains":["docs.paysight.io"],"gitSource":{"type":"github","owner":"paysight-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false},"entitlements":{},"buildId":"6ad36825c61f9b46518099d8","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Guides","count":43},{"language":"default","tag":"SDK Reference","count":30},{"language":"default","tag":"Paysight API Reference","count":29},{"language":"default","tag":"Shopify Checkout","count":24},{"language":"default","tag":"Checkout Editor","count":23},{"language":"default","tag":"Integration Guides","count":18},{"language":"default","tag":"Knowledgebase","count":14},{"language":"default","tag":"Examples","count":10},{"language":"default","tag":"Admin API","count":9},{"language":"default","tag":"Paysight Guides","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/card-submit/card/submit-card-and-customer-info-for-a-product","slug":"/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product","pageMetadata":{"title":"Submit card and customer info for a product","description":"Processes a card payment for the specified product. Returns `HTTP 200` for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created.\n\n### Typical response flow\n\n1. On success: `info = \"Success\"`, `subscribeSuccess` and/or `chargeSuccess` are `true`.\n2. On decline: `info = \"Error\"`, `chargeSuccess = false`, `statusId` indicates the decline reason.\n3. On 3DS required: `info = \"Pending\"`, `threeDSecureId` is populated — call `POST /api/{productId}/3ds` to complete.\n4. On pre-processing error (no transaction): `info` is one of `\"Failed\"`, `\"LimitReached\"`, `\"UserBlocked\"`, or `\"None\"`, and `statusId = 0`. See the `error` field and the Error \u0026 Decline Handling Guide.\n","deprecated":null,"version":null,"openapi":"/api-reference/card-submit/paysight_card_submit_api.yaml post /api/{productId}","href":"/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n h3: \"h3\",\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Processes a card payment for the specified product. Returns \", _jsx(_components.code, {\n children: \"HTTP 200\"\n }), \" for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created.\"]\n }), \"\\n\", _jsx(_components.h3, {\n children: \"Typical response flow\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"On success: \", _jsx(_components.code, {\n children: \"info = \\\"Success\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"subscribeSuccess\"\n }), \" and/or \", _jsx(_components.code, {\n children: \"chargeSuccess\"\n }), \" are \", _jsx(_components.code, {\n children: \"true\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"On decline: \", _jsx(_components.code, {\n children: \"info = \\\"Error\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"chargeSuccess = false\"\n }), \", \", _jsx(_components.code, {\n children: \"statusId\"\n }), \" indicates the decline reason.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"On 3DS required: \", _jsx(_components.code, {\n children: \"info = \\\"Pending\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"threeDSecureId\"\n }), \" is populated — call \", _jsx(_components.code, {\n children: \"POST /api/{productId}/3ds\"\n }), \" to complete.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"On pre-processing error (no transaction): \", _jsx(_components.code, {\n children: \"info\"\n }), \" is one of \", _jsx(_components.code, {\n children: \"\\\"Failed\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"\\\"LimitReached\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"\\\"UserBlocked\\\"\"\n }), \", or \", _jsx(_components.code, {\n children: \"\\\"None\\\"\"\n }), \", and \", _jsx(_components.code, {\n children: \"statusId = 0\"\n }), \". See the \", _jsx(_components.code, {\n children: \"error\"\n }), \" field and the Error \u0026 Decline Handling Guide.\"]\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Submit card and customer info for a product","description":"Processes a card payment for the specified product. Returns `HTTP 200` for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created.\n\n### Typical response flow\n\n1. On success: `info = \"Success\"`, `subscribeSuccess` and/or `chargeSuccess` are `true`.\n2. On decline: `info = \"Error\"`, `chargeSuccess = false`, `statusId` indicates the decline reason.\n3. On 3DS required: `info = \"Pending\"`, `threeDSecureId` is populated — call `POST /api/{productId}/3ds` to complete.\n4. On pre-processing error (no transaction): `info` is one of `\"Failed\"`, `\"LimitReached\"`, `\"UserBlocked\"`, or `\"None\"`, and `statusId = 0`. See the `error` field and the Error \u0026 Decline Handling Guide.\n","deprecated":null,"version":null,"openapi":"/api-reference/card-submit/paysight_card_submit_api.yaml post /api/{productId}","href":"/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"submitCard","summary":"Submit card and customer info for a product","description":"Processes a card payment for the specified product. Returns `HTTP 200` for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created.\n\n### Typical response flow\n\n1. On success: `info = \"Success\"`, `subscribeSuccess` and/or `chargeSuccess` are `true`.\n2. On decline: `info = \"Error\"`, `chargeSuccess = false`, `statusId` indicates the decline reason.\n3. On 3DS required: `info = \"Pending\"`, `threeDSecureId` is populated — call `POST /api/{productId}/3ds` to complete.\n4. On pre-processing error (no transaction): `info` is one of `\"Failed\"`, `\"LimitReached\"`, `\"UserBlocked\"`, or `\"None\"`, and `statusId = 0`. See the `error` field and the Error \u0026 Decline Handling Guide.\n","tags":["Card"],"parameters":["b87430ef-eea3-4f23-b38c-b7174f493552","b315a3a0-d53e-4b61-ab0c-bb43998f7365"],"requestBody":"8ec9e28a-b3ed-4116-9777-88c0cd5d4db2","responses":{"200":"963edf66-9ba7-48ac-aceb-da1270faee16","400":"526b3a79-ce8c-4bb3-8f55-15d887611893","500":"31e56fe2-fb74-419d-821f-b29847423828"},"security":["65d6b32d-5c80-4b4d-8416-d3246d33c757"],"method":"post","type":"path","servers":["97835335-7b07-4650-b877-87bd9965b929","dc56ae59-0b55-4028-8f91-b9fb40317546"],"path":"/api/{productId}","baseUrlOptions":["https://test.paysight.io","https://secure.paysight.io"],"title":"Submit card and customer info for a product","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b87430ef-eea3-4f23-b38c-b7174f493552":{"name":"productId","in":"path","required":true,"schema":{"type":"integer","isRequired":true,"description":"ID of the Paysight product. This can be found at https://app.paysight.io/management/products","uniqueKey":"","typeLabel":"integer"},"description":"ID of the Paysight product. This can be found at https://app.paysight.io/management/products"},"b315a3a0-d53e-4b61-ab0c-bb43998f7365":{"name":"ClientId","in":"header","required":true,"description":"Your Paysight tenant ID (parent company ID). Find it at https://app.paysight.io/settings/account or https://app.paysight.io/management/companies.","schema":{"type":"string","isRequired":true,"description":"Your Paysight tenant ID (parent company ID). Find it at https://app.paysight.io/settings/account or https://app.paysight.io/management/companies.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["card","amount","email"],"properties":{"card":{"type":"object","required":["name","pan","expiryMonth","expiryYear","cvv"],"properties":{"name":{"type":"string","description":"Full name on the card e.g \"John Doe\"","isRequired":true,"uniqueKey":"card.name","typeLabel":"string"},"pan":{"type":"string","description":"Primary Account Number (card number)","isRequired":true,"uniqueKey":"card.pan","typeLabel":"string"},"expiryMonth":{"type":"integer","description":"Card expiry month (1–12)","isRequired":true,"uniqueKey":"card.expiryMonth","typeLabel":"integer"},"expiryYear":{"type":"integer","description":"Card expiry year (4-digit)","isRequired":true,"uniqueKey":"card.expiryYear","typeLabel":"integer"},"cvv":{"type":"string","description":"Card security code","isRequired":true,"uniqueKey":"card.cvv","typeLabel":"string"},"bin":{"type":"string","description":"Bank Identification Number (first 6 digits of PAN) (Optional)","uniqueKey":"card.bin","typeLabel":"string"},"lastFour":{"type":"string","description":"Last 4 digits of the card number (Optional)","uniqueKey":"card.lastFour","typeLabel":"string"},"brand":{"type":"string","description":"Card brand (e.g. Visa, MasterCard) (Optional)","uniqueKey":"card.brand","typeLabel":"string"}},"isRequired":true,"uniqueKey":"card","typeLabel":"object"},"email":{"type":"string","description":"Customer email address","isRequired":true,"uniqueKey":"email","typeLabel":"string"},"amount":{"type":"number","description":"Amount to charge in the transaction","isRequired":true,"uniqueKey":"amount","typeLabel":"number"},"paysightSession":{"type":"string","description":"Unique session identifier from Paysight. Either this or partnerSession must be provided.","uniqueKey":"paysightSession","typeLabel":"string"},"partnerSession":{"type":"string","maxLength":50,"description":"Session identifier from the partner's system. Either this or paysightSession must be provided. Keep this value at 50 characters or fewer so it is persisted for transaction-webhook correlation.","uniqueKey":"partnerSession","typeLabel":"string"},"phone":{"type":"string","description":"Customer phone number","uniqueKey":"phone","typeLabel":"string"},"address":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the customer","uniqueKey":"address.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the customer","uniqueKey":"address.lastName","typeLabel":"string"},"street":{"type":"string","description":"Street address","uniqueKey":"address.street","typeLabel":"string"},"city":{"type":"string","description":"City","uniqueKey":"address.city","typeLabel":"string"},"state":{"type":"string","description":"State or province","uniqueKey":"address.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or postal code","uniqueKey":"address.zip","typeLabel":"string"},"country":{"type":"string","description":"Country (ISO 3166-1 alpha-2 code preferred)","uniqueKey":"address.country","typeLabel":"string"}},"uniqueKey":"address","typeLabel":"object"},"shippingAddress":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the customer","uniqueKey":"shippingAddress.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the customer","uniqueKey":"shippingAddress.lastName","typeLabel":"string"},"street":{"type":"string","description":"Street address","uniqueKey":"shippingAddress.street","typeLabel":"string"},"city":{"type":"string","description":"City","uniqueKey":"shippingAddress.city","typeLabel":"string"},"state":{"type":"string","description":"State or province","uniqueKey":"shippingAddress.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or postal code","uniqueKey":"shippingAddress.zip","typeLabel":"string"},"country":{"type":"string","description":"Country (ISO 3166-1 alpha-2 code preferred)","uniqueKey":"shippingAddress.country","typeLabel":"string"}},"uniqueKey":"shippingAddress","typeLabel":"object"},"mid":{"type":"string","description":"Override to explicitly set for the transaction. It will override the Paysight logic for selecting the MID. Omit by default.","uniqueKey":"mid","typeLabel":"string"},"props":{"type":"object","description":"Custom metadata as key-value pairs","additionalProperties":{"type":"string","uniqueKey":"props.additionalProperties","typeLabel":"string"},"uniqueKey":"props","typeLabel":"object"},"campaignId":{"type":"integer","deprecated":true,"description":"Deprecated internal Paysight-assigned campaign ID. Omit this field and use campaignName for a campaign name, alias, or your identifier.","uniqueKey":"campaignId","typeLabel":"integer"},"affiliateId":{"type":"integer","deprecated":true,"description":"Deprecated internal Paysight-assigned traffic-source or affiliate ID. Omit this field and use affiliateName for a name, alias, or your identifier.","uniqueKey":"affiliateId","typeLabel":"integer"},"campaignName":{"type":"string","description":"Name, alias, or your identifier for the campaign. Paysight resolves the matching campaign or creates a campaign record for a new value.","uniqueKey":"campaignName","typeLabel":"string"},"affiliateName":{"type":"string","description":"Name, alias, or your identifier for the affiliate or traffic source. Paysight resolves the matching affiliate or creates an affiliate record for a new value.","uniqueKey":"affiliateName","typeLabel":"string"},"subAffiliate":{"type":"string","description":"Sub-affiliate identifier, if applicable. This can be passed in the format 'primarysubid_secondarysubId' (or simply primarysubid if no secondary source is present). These fields are available as breakdowns in Reporting as Primary Sub ID and Secondary Sub ID","uniqueKey":"subAffiliate","typeLabel":"string"},"trackhouseClickId":{"type":"string","description":"Tracking click ID from Trackhouse. Not required","uniqueKey":"trackhouseClickId","typeLabel":"string"},"threeDSecure":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether 3D Secure is enabled","uniqueKey":"threeDSecure.enabled","typeLabel":"boolean"},"cancelOnFail":{"type":"boolean","description":"Whether to cancel authorization even if 3D Secure fails","uniqueKey":"threeDSecure.cancelOnFail","typeLabel":"boolean"}},"uniqueKey":"threeDSecure","typeLabel":"object"},"useragent":{"type":"string","description":"User-Agent header from client request","uniqueKey":"useragent","typeLabel":"string"},"ip":{"type":"string","description":"IP address of the client","uniqueKey":"ip","typeLabel":"string"},"cascade":{"type":"boolean","description":"If true, will attempt a cascade, i.e. a second authorization attempt on another MID if selection conditions are met","uniqueKey":"cascade","typeLabel":"boolean"},"applePay":{"type":"boolean","description":"Set to true if this transaction should use Apple Pay","uniqueKey":"applePay","typeLabel":"boolean"},"shopify":{"type":"object","description":"Shopify-specific checkout options. Only required for Shopify integrations.","properties":{"savePaymentMethod":{"type":"boolean","description":"If true, saves the payment method for subsequent use on this session","uniqueKey":"shopify.savePaymentMethod","typeLabel":"boolean"},"usePreviousPaymentMethod":{"type":"boolean","description":"If true, uses the previously saved payment method for this session","uniqueKey":"shopify.usePreviousPaymentMethod","typeLabel":"boolean"},"optIn":{"type":"boolean","description":"If true, the customer is also opted in to a subscription","uniqueKey":"shopify.optIn","typeLabel":"boolean"},"cart":{"type":"object","description":"Shopify cart item for the transaction","required":["quantity","variant","product"],"properties":{"quantity":{"type":"integer","description":"Quantity of the item","isRequired":true,"uniqueKey":"shopify.cart.quantity","typeLabel":"integer"},"variant":{"type":"integer","format":"int64","description":"Shopify variant ID","isRequired":true,"uniqueKey":"shopify.cart.variant","typeLabel":"integer\u003cint64>"},"product":{"type":"integer","format":"int64","description":"Shopify product ID","isRequired":true,"uniqueKey":"shopify.cart.product","typeLabel":"integer\u003cint64>"},"saleStrategyId":{"type":"integer","description":"Paysight sale strategy ID to apply (optional)","uniqueKey":"shopify.cart.saleStrategyId","typeLabel":"integer"},"saleStrategyAmount":{"type":"number","description":"Override amount for the sale strategy (optional)","uniqueKey":"shopify.cart.saleStrategyAmount","typeLabel":"number"},"discountCodeId":{"type":"integer","description":"Paysight discount code ID to apply (optional)","uniqueKey":"shopify.cart.discountCodeId","typeLabel":"integer"},"discountCodeAmount":{"type":"number","description":"Override amount for the discount code (optional)","uniqueKey":"shopify.cart.discountCodeAmount","typeLabel":"number"}},"uniqueKey":"shopify.cart","typeLabel":"object"}},"uniqueKey":"shopify","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"card":{"name":"\u003cstring>","pan":"\u003cstring>","expiryMonth":123,"expiryYear":123,"cvv":"\u003cstring>","bin":"\u003cstring>","lastFour":"\u003cstring>","brand":"\u003cstring>"},"email":"\u003cstring>","amount":123,"paysightSession":"\u003cstring>","partnerSession":"\u003cstring>","phone":"\u003cstring>","address":{"firstName":"\u003cstring>","lastName":"\u003cstring>","street":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","zip":"\u003cstring>","country":"\u003cstring>"},"shippingAddress":{"firstName":"\u003cstring>","lastName":"\u003cstring>","street":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","zip":"\u003cstring>","country":"\u003cstring>"},"mid":"\u003cstring>","props":{},"campaignId":123,"affiliateId":123,"campaignName":"\u003cstring>","affiliateName":"\u003cstring>","subAffiliate":"\u003cstring>","trackhouseClickId":"\u003cstring>","threeDSecure":{"enabled":true,"cancelOnFail":true},"useragent":"\u003cstring>","ip":"\u003cstring>","cascade":true,"applePay":true,"shopify":{"savePaymentMethod":true,"usePreviousPaymentMethod":true,"optIn":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"963edf66-9ba7-48ac-aceb-da1270faee16":{"description":"Card submission result. Covers all transaction outcomes including success, all decline types, 3DS pending, already-subscribed, and pre-processing errors. Inspect `info` and `statusId` to determine the specific outcome. See the `SubmitResult` schema for the full `statusId` reference table.\n","content":{"application/json":{"schema":{"type":"object","properties":{"paysightSession":{"type":"string","description":"Paysight session identifier","uniqueKey":"paysightSession","typeLabel":"string"},"partnerSession":{"type":"string","description":"Partner session identifier","uniqueKey":"partnerSession","typeLabel":"string"},"subscribeSuccess":{"type":"boolean","description":"Indicates if the subscription was created successfully.","uniqueKey":"subscribeSuccess","typeLabel":"boolean"},"chargeSuccess":{"type":"boolean","description":"Indicates if the charge transaction was fully captured.","uniqueKey":"chargeSuccess","typeLabel":"boolean"},"info":{"type":"string","description":"High-level outcome of the submission. Possible values:\n\n- `Success` – Transaction completed successfully. `subscribeSuccess` and/or `chargeSuccess` will be `true`.\n- `Error` – Transaction-level failure. A transaction was attempted; check `statusId` for the decline reason.\n- `Failed` – Pre-processing validation failure; no transaction was logged. Check the `error` field.\n- `LimitReached` – A rate or frequency limit was exceeded; no transaction was logged. Check the `error` field.\n- `UserBlocked` – The user, card, BIN, or email is blocked; no transaction was logged. Check the `error` field.\n- `AlreadySubscribed` – Customer is already subscribed; no new transaction was created.\n- `Pending` – Awaiting 3D Secure authentication; `threeDSecureId` will be populated. Call `POST /api/{productId}/3ds` to complete.\n- `RedirectRequired` – A redirect is required to complete the transaction.\n","enum":["Success","Error","Failed","LimitReached","UserBlocked","None","AlreadySubscribed","Pending","RedirectRequired"],"uniqueKey":"info","typeLabel":"enum\u003cstring>"},"error":{"type":"string","description":"Specific error message. Interpretation depends on the accompanying `info` value.\n\n**When `info` is `\"Error\"`** (`statusId > 0`, transaction was attempted):\nThis field contains the status description from the payment processor corresponding\nto the `statusId` value. See the `statusId` reference tables for the full list.\n\n**When `info` is `\"Failed\"`** (no transaction logged, `statusId: 0`):\n- `\"Blocked\"` – Request blocked at the platform level.\n- `\"Blocked Card\"` – The specific card is blocked.\n- `\"Invalid expiry\"` – Card `expiryMonth` or `expiryYear` is zero or missing.\n- `\"Invalid CVV\"` – CVV/CVC value is invalid or missing.\n- `\"Invalid CC Number\"` – Card number failed validation.\n- `\"Invalid Email\"` – Email address is invalid or missing.\n- `\"VISA cards not Supported\"` – VISA cards are not accepted for this product/MID.\n- `\"Mastercard cards not supported\"` – Mastercard cards are not accepted for this product/MID.\n- `\"Discover cards not supported\"` – Discover cards are not accepted for this product/MID.\n- `\"AMEX cards not supported\"` – American Express cards are not accepted for this product/MID.\n- `\"MAESTRO cards not supported\"` – Maestro cards are not accepted for this product/MID.\n- `\"Bin and Last4 required along with Encrypted data\"` – `bin` and `lastFour` must be provided when submitting encrypted card data.\n- `\"Specified Mid not found\"` – The `mid` field does not match any known MID.\n- `\"Specified Mid does not belong to Tenant account\"` – The `mid` field references a MID from a different tenant.\n\n**When `info` is `\"LimitReached\"`** (no transaction logged, `statusId: 0`):\n- `\"CC entered too many times in quick succession\"` – The card number has been submitted too frequently in a short window.\n- `\"Email entered too many times for this product\"` – The email address has been used too many times for this product.\n\n**When `info` is `\"UserBlocked\"`** (no transaction logged, `statusId: 0`):\n- `\"Blocked card\"` – Card BIN is from a blocked country.\n- `\"Blocked\"` – User is blacklisted (by email, card number, or BIN).\n","uniqueKey":"error","typeLabel":"string"},"email":{"type":"string","description":"Email address associated with the transaction.","uniqueKey":"email","typeLabel":"string"},"message":{"type":"string","description":"General message about the result. For pre-processing errors this mirrors the `error` field.\nFor 3D Secure pending flows this will be empty; check `threeDSecureId` instead.\n","uniqueKey":"message","typeLabel":"string"},"orderId":{"type":"integer","description":"Order identifier for the subscription or charge record.","uniqueKey":"orderId","typeLabel":"integer"},"descriptor":{"type":"string","description":"Credit card descriptor that will appear on the cardholder's statement.","uniqueKey":"descriptor","typeLabel":"string"},"mid":{"type":"string","description":"Merchant ID (MID number) used for the transaction.","uniqueKey":"mid","typeLabel":"string"},"threeDSecureId":{"type":"string","description":"Identifier for the 3D Secure session. Populated only when `info` is `\"Pending\"`.\nPass this value to `POST /api/{productId}/3ds` to complete the authentication flow.\nNull or empty in all other cases.\n","uniqueKey":"threeDSecureId","typeLabel":"string"},"transactionId":{"type":"string","description":"Unique transaction identifier from the payment processor.","uniqueKey":"transactionId","typeLabel":"string"},"amount":{"type":"number","description":"Amount charged in the transaction currency.","uniqueKey":"amount","typeLabel":"number"},"statusId":{"type":"integer","description":"Paysight transaction status code. `0` means no transaction was logged (pre-validation failure\nor unexpected error). All other values represent a processed transaction outcome.\n\nFor the complete reference with retry guidance see the Error \u0026 Decline Handling Guide.\n\n---\n\n### Successful\n\n| ID | Status |\n|---|---|\n| 2636 | Transaction succeeded |\n| 3367 | Preauthorized |\n| 3616 | Approved |\n| 4165 | Card Verified |\n| 4173 | SUCCEEDED |\n| 4257 | Transaction Approved |\n\n---\n\n### Issuer Declines\n\nThe issuing bank rejected the transaction. The card or account is the primary cause.\n\n| ID | Status |\n|---|---|\n| 2674 | Transaction declined for unknown reason |\n| 2677 | Transaction declined by authorization system |\n| 2683 | Transaction declined (suspecting manipulation) |\n| 2684 | Transaction declined (stolen card) |\n| 2690 | Transaction declined (card lost) |\n| 2693 | Transaction declined (restricted card) |\n| 2695 | Transaction declined (transaction not permitted) |\n| 2696 | Transaction declined (pick up card) |\n| 2882 | Account or user is blacklisted |\n| 3185 | Account Closed |\n| 3290 | Suspected Fraud |\n| 3613 | Issuer Declined |\n| 3614 | Issuer Declined MCC |\n| 3617 | Declined |\n| 3618 | Do not honor |\n| 3621 | Transaction not allowed |\n| 3629 | Call issuer for further information |\n| 3631 | Lost card |\n| 3632 | Stolen card |\n| 3635 | Declined - Stop all recurring payments |\n| 3637 | Declined - Update cardholder data available |\n| 3638 | Declined - Retry in a few days |\n| 3640 | Transaction error returned by processor |\n| 3654 | Transaction declined (additional customer authentication required) |\n| 3821 | Pick up card - F |\n| 3822 | Pick up card - SF |\n| 3823 | Pick up card - NF |\n| 4111 | ScaRequiredError |\n| 4174 | ADDRESS_VERIFICATION_FAILED_RISK_RULES |\n| 4175 | AUTHORIZATION_EXPIRED_OR_ALREADY_CAPTURED |\n| 4176 | BANK_ACCOUNT_CLOSED |\n| 4177 | BANK_ACCOUNT_FROZEN |\n| 4178 | CALL_ISSUER |\n| 4179 | CANCELLATION_VIA_API |\n| 4180 | CANCELLATION_VIA_DEVICE |\n| 4181 | CARD_ACCOUNT_CLOSED |\n| 4182 | CARD_NETWORK_ERROR |\n| 4183 | CARD_NOT_ACTIVATED_OR_BLOCKED |\n| 4184 | CARD_NOT_SUPPORTED |\n| 4185 | CARDHOLDER_PREVENTED_RECURRING_TRANSACTION |\n| 4186 | COMMUNICATION_ERROR |\n| 4187 | CVV_FAILED_RISK_RULES |\n| 4191 | DO_NOT_HONOR |\n| 4192 | DUPLICATE_TRANSACTION |\n| 4193 | EXCEEDED_CARDHOLDER_INPUT_TIME_LIMIT |\n| 4194 | EXCEEDS_APPROVAL_LIMIT |\n| 4195 | EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT |\n| 4197 | FRAUD_DETECTED |\n| 4198 | FRAUD_DETECTED_BY_FINIX |\n| 4199 | FRAUD_DETECTED_BY_ISSUER |\n| 4200 | GENERIC_DECLINE |\n| 4202 | INCOMPLETE_TRANSACTION |\n| 4205 | INVALID_AMOUNT |\n| 4211 | INVALID_ISSUER |\n| 4212 | INVALID_ROUTING_NUMBER |\n| 4213 | INVALID_TRANSACTION |\n| 4214 | ISSUER_POLICY_VIOLATION |\n| 4215 | LOST_OR_STOLEN_CARD |\n| 4216 | MAX_TRANSACTION_AMOUNT_EXCEEDED |\n| 4217 | NO_BANK_ACCOUNT_FOUND |\n| 4218 | NON_TRANSACTION_ACCOUNT |\n| 4219 | PAYMENT_STOPPED |\n| 4220 | PICK_UP_CARD |\n| 4221 | RESTRICTED_CARD |\n| 4222 | RESUBMIT_TRANSACTION |\n| 4223 | ALLOWABLE_NUMBER_OF_PIN_ENTRY_TRIES_EXCEEDED |\n| 4224 | CANNOT_VERIFY_PIN |\n| 4226 | CRYPTOGRAPHIC_ERROR_FOUND_IN_PIN |\n| 4227 | ERROR |\n| 4228 | EXCEEDS_APPROVAL_AMOUNT_LIMIT |\n| 4229 | FILE_TEMPORARILY_NOT_AVAILABLE |\n| 4230 | FINANCIAL_INSTITUTION_NOT_FOUND |\n| 4232 | INVALID_AMOUNT_OR_CURRENCY |\n| 4233 | INVALID_MERCHANT |\n| 4234 | ISSUER_INOPERATIVE |\n| 4235 | LOST_CARD_PICK_UP_FRAUD_ACCOUNT |\n| 4236 | NEGATIVE_RESULTS |\n| 4237 | NO_ACTION_TAKEN |\n| 4238 | NO_CHECKING_ACCOUNT |\n| 4239 | NO_CREDIT_ACCOUNT |\n| 4240 | NO_SAVINGS_ACCOUNT |\n| 4241 | NO_SUCH_ISSUER |\n| 4243 | PICK_UP_CARD_FRAUD_ACCOUNT |\n| 4244 | PICK_UP_CARD_NO_FRAUD |\n| 4245 | RE_ENTER_TRANSACTION |\n| 4246 | REFER_TO_CARD_ISSUER |\n| 4247 | STOLEN_CARD_PICK_UP_FRAUD_ACCOUNT |\n| 4248 | STOP_PAYMENT_ORDER |\n| 4249 | SURCHARGE_AMOUNT_NOT_SUPPORTED |\n| 4250 | SUSPECTED_FRAUD |\n| 4251 | TRANSACTION_AMOUNT_EXCEEDS_PREAUTHORIZED_APPROVAL_AMOUNT |\n| 4252 | TRANSACTION_DOES_NOT_FULFILL_AML_REQUIREMENT |\n| 4253 | TRANSACTION_NOT_COMPLETED_LAW_VIOLATION |\n| 4254 | UNABLE_TO_LOCATE_RECORD |\n| 4255 | Rejected (NMI Fraud block) |\n| 4256 | TRANSACTION_NOT_PERMITTED |\n| 4265 | Card Type Not Accepted |\n| 4266 | ACH Not Accepted |\n| 4267 | AVS Mismatch |\n| 4268 | Merchant Does Not Accept Card Type |\n| 4279 | Declined - Pick Up Card |\n| 4280 | Voice Authorization Required |\n| 4290 | Card Type Not Accepted by Processor |\n| 4303 | Declined - Fraud Score Too High |\n| 4307 | Declined - AVS and Card Code Filter |\n\n---\n\n### Insufficient Funds\n\n| ID | Status |\n|---|---|\n| 2687 | Transaction declined (limit exceeded) |\n| 3512 | Insufficient Funds |\n| 3619 | Insufficient funds |\n| 3620 | Over limit |\n| 4203 | INSUFFICIENT_FUNDS |\n| 4242 | NOT_SUFFICIENT_FUNDS |\n| 4281 | Insufficient Funds |\n\n---\n\n### Invalid Card Details\n\nThe card number, expiry, CVV, or holder name is invalid or failed verification.\n\n| ID | Status |\n|---|---|\n| 2676 | Transaction declined (invalid card) |\n| 2682 | Transaction declined (wrong expiry date) |\n| 2707 | Transaction declined (invalid CVV — amount may be reserved for a few business days) |\n| 2708 | Transaction declined (UserAccount Number/ID unknown) |\n| 3137 | Card Expired |\n| 3142 | cc/bank account holder not valid |\n| 3149 | Invalid cc number/brand combination |\n| 3256 | Invalid credit card number |\n| 3625 | Expired card |\n| 3627 | Invalid card security code |\n| 3628 | Invalid PIN |\n| 4105 | InvalidCardError |\n| 4196 | EXPIRED_CARD |\n| 4201 | INACTIVE_CARD |\n| 4204 | INVALID_ACCOUNT_NUMBER |\n| 4206 | INVALID_BANK_ACCOUNT_NUMBER |\n| 4207 | INVALID_BANK_ACCOUNT_VALIDATION_CHECK |\n| 4208 | INVALID_CARD |\n| 4209 | INVALID_CARD_NUMBER_OR_EXPIRED_CARD |\n| 4210 | INVALID_CVV |\n| 4225 | CARD_AUTHENTICATION_FAILED |\n| 4231 | INCORRECT_PIN |\n| 4258 | Invalid Credit Card Number |\n| 4259 | Invalid Expiration Date |\n| 4260 | Credit Card Expired |\n| 4274 | Invalid Amount |\n| 4275 | Invalid Account Number |\n| 4276 | Invalid ABA Code |\n| 4277 | Card Code Mismatch |\n| 4282 | Invalid Card Code |\n| 4295 | Required Field Missing |\n| 4299 | Invalid Credit Card Number Format |\n| 4306 | Declined - Card Code Mismatch |\n\n---\n\n### Other / System Errors\n\nGateway configuration issues, platform-level blocks, duplicate detection, communication\nfailures, and other non-issuer, non-card errors. No transaction may be retried without\nresolving the underlying cause.\n\n| ID | Status |\n|---|---|\n| 0 | None — no transaction logged |\n| 2 | Failed |\n| 1614 | Unsubscribed |\n| 1789 | Submitted (gateway-level submission status) |\n| 2680 | Transaction declined (amount exceeds credit) |\n| 2681 | Transaction declined (format error) |\n| 2686 | Transaction declined (too many invalid tries) |\n| 2858 | AVS Check Failed (amount reserved but will be released) |\n| 2884 | Email blacklisted |\n| 2887 | BIN Blacklisted (Paysight) |\n| 2890 | Duplicate Transaction |\n| 2892 | Max transactions per account already exceeded |\n| 2913 | Channel/Merchant is disabled (no processing possible) |\n| 2927 | Channel/Merchant not configured for this payment type |\n| 2931 | Invalid payment data (currency or sub type not configured) |\n| 3027 | Test accounts not allowed in production |\n| 3089 | Invalid authentication information |\n| 3140 | Request contains no cc/bank account holder |\n| 3448 | Failed AVS |\n| 3610 | OMIT STATE |\n| 3622 | Incorrect payment information |\n| 3623 | No such card issuer |\n| 3624 | No card number on file with issuer |\n| 3636 | Declined - Stop this recurring program |\n| 3639 | Transaction was rejected by gateway |\n| 3641 | Invalid merchant configuration |\n| 3642 | Merchant account is inactive |\n| 3643 | Communication error |\n| 3644 | Communication error with issuer |\n| 3645 | Duplicate transaction at processor |\n| 3646 | Processor format error |\n| 3647 | Invalid transaction information |\n| 3648 | Processor feature not available |\n| 3649 | Unsupported card type |\n| 3808 | BIN country blocked |\n| 3809 | Amount exceeds max ticket |\n| 3814 | Name Blacklisted |\n| 3818 | Invalid US State Code |\n| 4079 | ConfigurationError |\n| 4080 | CommunicationError |\n| 4082 | AccountError |\n| 4083 | TimeoutError |\n| 4088 | InputDataMissingError |\n| 4089 | InputDataFormatError |\n| 4090 | InputDataInvalidError |\n| 4093 | WorkflowError |\n| 4095 | ReferenceWorkflowError |\n| 4104 | ProcessingError |\n| 4107 | ExpiredCardError |\n| 4115 | CardBlacklistError |\n| 4116 | BinBlacklistError |\n| 4119 | BlacklistError |\n| 4130 | IrisFilterDeclinedError |\n| 4135 | IpNotWhitelistedError |\n| 4159 | RemoteSystemError |\n| 4160 | RemoteConfigurationError |\n| 4162 | RemoteWorkflowError |\n| 4166 | Authorized then Voided/Cancelled |\n| 4167 | Strong Customer Authentication Required |\n| 4168 | BIN Blacklisted (Client) |\n| 4169 | Daily threshold exceeded |\n| 4170 | Custom descriptors are not allowed |\n| 4171 | Specified API key not found |\n| 4172 | 3DS Failed |\n| 4261 | Duplicate Transaction |\n| 4262 | Invalid Merchant Authentication |\n| 4263 | Invalid Transaction ID |\n| 4264 | Transaction Not Found |\n| 4269 | Transaction Not Eligible for Settlement |\n| 4270 | Transaction Already Settled |\n| 4271 | Authorization Code Required |\n| 4272 | Invalid Relay Response URL |\n| 4273 | Processing Error - Try Again |\n| 4278 | Transaction Security Failure |\n| 4283 | Transaction Under Review |\n| 4284 | Processing Error - Connection Issue |\n| 4285 | Processing Error - System Timeout |\n| 4286 | Processing Error - Gateway Issue |\n| 4287 | Elavon Configuration Error |\n| 4288 | Processing Error - Retry Available |\n| 4289 | Processing Error - Server Issue |\n| 4291 | Paymentech Configuration Error |\n| 4292 | Processor Configuration Invalid |\n| 4293 | FDC Configuration Error |\n| 4294 | Merchant Password Invalid |\n| 4296 | VITAL Configuration Error |\n| 4297 | Processor Setup Error |\n| 4298 | Settlement Failed After Authorization |\n| 4300 | Global Payment System Configuration Error |\n| 4301 | Invalid Currency Code |\n| 4302 | Transaction Must Be Encrypted |\n| 4304 | Missing Required Field Information |\n| 4305 | Invalid Terminal ID |\n| 4308 | Session Expired or Invalid |\n| 4309 | Settlement Amount Exceeds Authorization |\n| 4310 | Partial Reversals Not Accepted |\n| 4311 | Amount Exceeds Maximum Allowed |\n| 4312 | Transaction Awaiting Settlement |\n| 4313 | Credit Exceeds Original Amount |\n| 4314 | Client Notification Failed |\n","uniqueKey":"statusId","typeLabel":"integer"},"declineSalvage":{"type":"boolean","description":"`true` if the customer was subscribed even though the charge was declined\n(e.g. a grace-period subscription on an insufficient-funds decline). In this\ncase `subscribeSuccess` may be `true` while `chargeSuccess` is `false`.\n","uniqueKey":"declineSalvage","typeLabel":"boolean"},"merchantAccountId":{"type":"integer","description":"Paysight internal ID for the Merchant Account used for the transaction.","uniqueKey":"merchantAccountId","typeLabel":"integer"},"midPortalUrl":{"type":"string","description":"Optional portal URL defined on the Paysight Brand entry. See https://app.paysight.io/management/brands/","uniqueKey":"midPortalUrl","typeLabel":"string"},"bin":{"type":"string","description":"Bank Identification Number (first 8 digits of PAN).","uniqueKey":"bin","typeLabel":"string"},"binCountry":{"type":"string","description":"Country of the BIN (ISO 3166-1 alpha-2) if available, e.g. `\"US\"`.","uniqueKey":"binCountry","typeLabel":"string"},"last4":{"type":"string","description":"Last 4 digits of the card number.","uniqueKey":"last4","typeLabel":"string"},"eci":{"type":"string","description":"Electronic Commerce Indicator for 3D Secure transactions.\n`\"02\"` / `\"05\"` = fully authenticated (liability shift applies).\n`\"01\"` / `\"06\"` = attempted authentication.\n","uniqueKey":"eci","typeLabel":"string"},"networkTokenized":{"type":"boolean","description":"Indicates whether the transaction was processed using a network token.","uniqueKey":"networkTokenized","typeLabel":"boolean"},"submitOrderId":{"type":"integer","description":"Identifier for the card-submit event. When the submit does **not** result in a\nsubscription this equals `orderId`. When a subscription is created (even if the\ncharge fails) this value differs from `orderId`.\n","uniqueKey":"submitOrderId","typeLabel":"integer"},"applePay":{"type":"boolean","description":"Indicates if the transaction was processed as an Apple Pay payment.","uniqueKey":"applePay","typeLabel":"boolean"},"googlePay":{"type":"boolean","description":"Indicates if the transaction was processed as a Google Pay payment.","uniqueKey":"googlePay","typeLabel":"boolean"},"gatewayResponses":{"type":"array","items":{"type":"object","properties":{"gateway":{"type":"string","description":"Payment Gateway used e.g NMI","uniqueKey":"gatewayResponses.items.[INDEX].gateway","typeLabel":"string"},"httpStatus":{"type":"integer","description":"HTTP status code from the gateway","uniqueKey":"gatewayResponses.items.[INDEX].httpStatus","typeLabel":"integer"},"response":{"type":"string","description":"Response body from gateway","uniqueKey":"gatewayResponses.items.[INDEX].response","typeLabel":"string"}},"uniqueKey":"gatewayResponses.items.[INDEX]","typeLabel":"object"},"description":"Raw gateway responses from each processing attempt (useful for debugging declines).","uniqueKey":"gatewayResponses","typeLabel":"object[]"},"subscriptionId":{"type":"integer","description":"Paysight subscription ID created by this submit. `0` if no subscription was created.\n","uniqueKey":"subscriptionId","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"success":{"title":"success","value":{"info":"Success","subscribeSuccess":true,"chargeSuccess":true,"statusId":3616,"orderId":1000123,"submitOrderId":1000123,"transactionId":"a1b2c3d4-0000-0000-0000-000000000001","amount":9.99,"mid":"MID123","descriptor":"EXAMPLE.COM","bin":"41111111","last4":"1111","binCountry":"US","networkTokenized":false,"applePay":false,"googlePay":false,"declineSalvage":false,"gatewayResponses":[],"subscriptionId":500}},"declined_issuer":{"title":"declined_issuer","value":{"info":"Error","subscribeSuccess":false,"chargeSuccess":false,"statusId":3617,"error":"Declined","message":"Declined","orderId":0,"submitOrderId":1000124,"amount":9.99,"declineSalvage":false,"gatewayResponses":[],"subscriptionId":0}},"declined_insufficient_funds":{"title":"declined_insufficient_funds","value":{"info":"Error","subscribeSuccess":false,"chargeSuccess":false,"statusId":3512,"error":"Insufficient Funds","message":"Insufficient Funds","orderId":0,"submitOrderId":1000125,"amount":9.99,"declineSalvage":false,"gatewayResponses":[],"subscriptionId":0}},"decline_salvage":{"title":"decline_salvage","value":{"info":"Error","subscribeSuccess":true,"chargeSuccess":false,"statusId":3512,"error":"Insufficient Funds","message":"Insufficient Funds","orderId":1000126,"submitOrderId":1000127,"amount":9.99,"declineSalvage":true,"gatewayResponses":[],"subscriptionId":501}},"three_ds_pending":{"title":"three_ds_pending","value":{"info":"Pending","subscribeSuccess":false,"chargeSuccess":false,"statusId":0,"threeDSecureId":"ev_3ds_abc123xyz","orderId":0,"gatewayResponses":[],"subscriptionId":0}},"already_subscribed":{"title":"already_subscribed","value":{"info":"AlreadySubscribed","subscribeSuccess":false,"chargeSuccess":false,"statusId":0,"orderId":1000050,"gatewayResponses":[],"subscriptionId":0}},"error_invalid_expiry":{"title":"error_invalid_expiry","value":{"info":"Failed","subscribeSuccess":false,"chargeSuccess":false,"statusId":0,"error":"Invalid expiry","message":"Invalid expiry date","gatewayResponses":[]}},"error_mid_not_found":{"title":"error_mid_not_found","value":{"info":"Failed","subscribeSuccess":false,"chargeSuccess":false,"statusId":0,"error":"Specified Mid not found","message":"Specified Mid not found","gatewayResponses":[]}}},"exampleType":"examples"}},"exampleType":"examples"},"526b3a79-ce8c-4bb3-8f55-15d887611893":{"description":"Bad Request. The request body could not be parsed as valid JSON. **No transaction is logged.**\n","content":{"application/json":{"schema":{"type":"object","description":"Returned for HTTP 400 and HTTP 500 responses. No transaction is logged for these errors.","properties":{"success":{"type":"boolean","example":false,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","description":"A description of the error.","example":"Invalid JSON body","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"message":"Invalid JSON body"},"examples":{"Example":{"title":"Example","value":{"success":false,"message":"Invalid JSON body"}}},"exampleType":"examples"}},"exampleType":"examples"},"31e56fe2-fb74-419d-821f-b29847423828":{"description":"Internal Server Error. An unexpected server-side failure occurred. **No transaction is logged.**\n","content":{"application/json":{"schema":{"type":"object","description":"Returned for HTTP 400 and HTTP 500 responses. No transaction is logged for these errors.","properties":{"success":{"type":"boolean","example":false,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","description":"A description of the error.","example":"Invalid JSON body","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"message":"Unexpected Error at 2024-01-01 12:00:00"},"examples":{"Example":{"title":"Example","value":{"success":false,"message":"Unexpected Error at 2024-01-01 12:00:00"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"65d6b32d-5c80-4b4d-8416-d3246d33c757":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Your Paysight API key. Send the raw key value — do not prefix with `Bearer`.\nCopy it from https://app.paysight.io/settings/account.\n","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"97835335-7b07-4650-b877-87bd9965b929":{"description":"Test Server","url":"https://test.paysight.io"},"dc56ae59-0b55-4028-8f91-b9fb40317546":{"description":"Production Server","url":"https://secure.paysight.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"Your Paysight API key. Send the raw key value — do not prefix with `Bearer`.\nCopy it from https://app.paysight.io/settings/account.\n","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Authorization","type":"string","description":"Your Paysight API key. Send the raw key value — do not prefix with `Bearer`.\nCopy it from https://app.paysight.io/settings/account.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/card-submit/paysight_card_submit_api.yaml"},"subdomain":"paysight","siteName":"Paysight Documentation","title":"Submit card and customer info for a product - Paysight Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-09T12:23:35.405Z","originalFileLocation":"api-reference/card-submit/card/submit-card-and-customer-info-for-a-product.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created. ### Typical response flow 1. On success: info = \u0026quot;Success\u0026quot;, subscribeSuccess and/or chargeSuccess are true. 2. On decline: info = \u0026quot;Error\u0026quot;, chargeSuccess = false, statusId indicates the decline reason. 3. On 3DS required: info = \u0026quot;Pending\u0026quot;, threeDSecureId is populated — call POST /api/{productId}/3ds to complete. 4. On pre-processing error (no transaction): info is one of \u0026quot;Failed\u0026quot;, \u0026quot;LimitReached\u0026quot;, \u0026quot;UserBlocked\u0026quot;, or \u0026quot;None\u0026quot;, and statusId = 0. See the error field and the Error \u0026amp; Decline Handling Guide.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Paysight Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit card and customer info for a product - Paysight Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created. ### Typical response flow 1. On success: info = \u0026quot;Success\u0026quot;, subscribeSuccess and/or chargeSuccess are true. 2. On decline: info = \u0026quot;Error\u0026quot;, chargeSuccess = false, statusId indicates the decline reason. 3. On 3DS required: info = \u0026quot;Pending\u0026quot;, threeDSecureId is populated — call POST /api/{productId}/3ds to complete. 4. On pre-processing error (no transaction): info is one of \u0026quot;Failed\u0026quot;, \u0026quot;LimitReached\u0026quot;, \u0026quot;UserBlocked\u0026quot;, or \u0026quot;None\u0026quot;, and statusId = 0. See the error field and the Error \u0026amp; Decline Handling Guide.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Paysight Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://paysight.mintlify.site/_mintlify/api/og/v2?division=Card\u0026amp;title=Submit+card+and+customer+info+for+a+product\u0026amp;description=Processes+a+card+payment+for+the+specified+product.+Returns+%60HTTP+200%60+for+all+transaction+outcomes+%28success%2C+decline%2C+3DS+pending%2C+etc.%29.+Non-200+responses+ind\u0026amp;theme=f392b05b090d467f13cdd995\u0026amp;signature=82b3bb655c79e7df03a8788febc08f1f84ec4d1076a62e47b0ecfd86d88f70a1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Submit card and customer info for a product - Paysight Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created. ### Typical response flow 1. On success: info = \u0026quot;Success\u0026quot;, subscribeSuccess and/or chargeSuccess are true. 2. On decline: info = \u0026quot;Error\u0026quot;, chargeSuccess = false, statusId indicates the decline reason. 3. On 3DS required: info = \u0026quot;Pending\u0026quot;, threeDSecureId is populated — call POST /api/{productId}/3ds to complete. 4. On pre-processing error (no transaction): info is one of \u0026quot;Failed\u0026quot;, \u0026quot;LimitReached\u0026quot;, \u0026quot;UserBlocked\u0026quot;, or \u0026quot;None\u0026quot;, and statusId = 0. See the error field and the Error \u0026amp; Decline Handling Guide.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paysight.mintlify.site/_mintlify/api/og/v2?division=Card\u0026amp;title=Submit+card+and+customer+info+for+a+product\u0026amp;description=Processes+a+card+payment+for+the+specified+product.+Returns+%60HTTP+200%60+for+all+transaction+outcomes+%28success%2C+decline%2C+3DS+pending%2C+etc.%29.+Non-200+responses+ind\u0026amp;theme=f392b05b090d467f13cdd995\u0026amp;signature=82b3bb655c79e7df03a8788febc08f1f84ec4d1076a62e47b0ecfd86d88f70a1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/paysight/TiRYAiq2LpWD_cfN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Paysight Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#835df7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.paysight.io/#organization\",\"name\":\"Paysight Documentation\",\"url\":\"https://docs.paysight.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/paysight/iGy8IXiF55l0XLYB/images/paysight_light_purple.svg?fit=max\u0026auto=format\u0026n=iGy8IXiF55l0XLYB\u0026q=85\u0026s=8a5a98a9b4a10797c2f93131b72166cb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.paysight.io#website\",\"name\":\"Paysight Documentation\",\"url\":\"https://docs.paysight.io\",\"publisher\":{\"@id\":\"https://docs.paysight.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product#webpage\",\"url\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product\",\"name\":\"Submit card and customer info for a product\",\"description\":\"Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created. ### Typical response flow 1. On success: info = \\\"Success\\\", subscribeSuccess and/or chargeSuccess are true. 2. On decline: info = \\\"Error\\\", chargeSuccess = false, statusId indicates the decline reason. 3. On 3DS required: info = \\\"Pending\\\", threeDSecureId is populated — call POST /api/{productId}/3ds to complete. 4. On pre-processing error (no transaction): info is one of \\\"Failed\\\", \\\"LimitReached\\\", \\\"UserBlocked\\\", or \\\"None\\\", and statusId = 0. See the error field and the Error \u0026 Decline Handling Guide.\",\"dateModified\":\"2026-10-09T12:23:35.405Z\",\"isPartOf\":{\"@id\":\"https://docs.paysight.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Paysight Documentation\",\"item\":\"https://docs.paysight.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Submit card and customer info for a product\",\"item\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product#apireference\",\"headline\":\"Submit card and customer info for a product\",\"name\":\"Submit card and customer info for a product\",\"description\":\"Processes a card payment for the specified product. Returns HTTP 200 for all transaction outcomes (success, decline, 3DS pending, etc.). Non-200 responses indicate a request-level failure with no transaction created. ### Typical response flow 1. On success: info = \\\"Success\\\", subscribeSuccess and/or chargeSuccess are true. 2. On decline: info = \\\"Error\\\", chargeSuccess = false, statusId indicates the decline reason. 3. On 3DS required: info = \\\"Pending\\\", threeDSecureId is populated — call POST /api/{productId}/3ds to complete. 4. On pre-processing error (no transaction): info is one of \\\"Failed\\\", \\\"LimitReached\\\", \\\"UserBlocked\\\", or \\\"None\\\", and statusId = 0. See the error field and the Error \u0026 Decline Handling Guide.\",\"url\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product\",\"mainEntityOfPage\":{\"@id\":\"https://docs.paysight.io/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product#webpage\"},\"dateModified\":\"2026-10-09T12:23:35.405Z\",\"publisher\":{\"@id\":\"https://docs.paysight.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.paysight.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Paysight Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Paysight Documentation","nav":{"global":null,"tabs":[{"tab":"Knowledgebase","pages":[{"title":"Knowledgebase","href":""}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/introduction"}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/widget-sdk/introduction"}]},{"tab":"Paysight API Reference","groups":[{"group":"Paysight API","pages":[{"title":"API Introduction","href":"/api-reference/introduction"}]},{"group":"Card Submit API","pages":[{"title":"Card Submission API Quickstart","description":"Learn how to integrate with the Paysight Card Submission API for processing payments and customer information","href":"/api-reference/card-submit/index"}]},{"group":"Card Submit API","pages":[{"group":"Card","pages":[{"title":"Submit card and customer info for a product","deprecated":null,"version":null,"openapi":"/api-reference/card-submit/paysight_card_submit_api.yaml post /api/{productId}","href":"/api-reference/card-submit/card/submit-card-and-customer-info-for-a-product"},{"title":"Complete a 3D Secure authentication flow","description":"Called after the front-end has completed the 3D Secure challenge and received a result. Pass the `threeDSecureId` returned from `POST /api/{productId}` (when `info = \"Pending\"`) to finalise authentication and proceed with the payment.\n\nThe response schema and outcome semantics are identical to `POST /api/{productId}`.\n","deprecated":null,"version":null,"openapi":"/api-reference/card-submit/paysight_card_submit_api.yaml post /api/{productId}/3ds","href":"/api-reference/card-submit/card/complete-a-3d-secure-authentication-flow"}]},{"group":"Session","pages":[{"title":"Submit customer contact/billing info before card submit","deprecated":null,"version":null,"openapi":"/api-reference/card-submit/paysight_card_submit_api.yaml post /api/{productId}/info","href":"/api-reference/card-submit/session/submit-customer-contactbilling-info-before-card-submit"}]}]},{"group":"Customer Leads API","pages":[{"title":"Customer Leads API","href":"/api-reference/customer-leads/index"}]},{"group":"Customer Leads API","pages":[{"group":"Customer Leads","pages":[{"title":"Query customer leads","deprecated":null,"version":null,"openapi":"/api-reference/customer-leads/paysight_customer_leads_api.yaml get /api/public/customer-leads","href":"/api-reference/customer-leads/customer-leads/query-customer-leads"},{"title":"Create or update a customer lead","deprecated":null,"version":null,"openapi":"/api-reference/customer-leads/paysight_customer_leads_api.yaml post /api/public/customer-leads","href":"/api-reference/customer-leads/customer-leads/create-or-update-a-customer-lead"}]}]},{"group":"Email Services","pages":[{"title":"Email Services","href":"/api-reference/emails/index"},{"title":"Tenant Email API","href":"/api-reference/emails/tenant-email-api"}]},{"group":"Customer Service API","pages":[{"group":"API Reference","pages":[{"title":"Search","deprecated":null,"version":null,"openapi":"/api-reference/customer-service-api/paysight_customer_service_api.yaml post /search","href":"/api-reference/search"},{"title":"Detail","deprecated":null,"version":null,"openapi":"/api-reference/customer-service-api/paysight_customer_service_api.yaml post /detail","href":"/api-reference/detail"},{"title":"Unsubscribe","deprecated":null,"version":null,"openapi":"/api-reference/customer-service-api/paysight_customer_service_api.yaml post /unsubscribe","href":"/api-reference/unsubscribe"},{"title":"Refund","deprecated":null,"version":null,"openapi":"/api-reference/customer-service-api/paysight_customer_service_api.yaml post /refund","href":"/api-reference/refund"}]}]},{"group":"Admin API","pages":[{"group":"MerchantAccounts","pages":[{"title":"GetMerchantAccount","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml get /api/admin/merchantaccounts/{id}","href":"/api-reference/admin-api/merchantaccounts/getmerchantaccount"},{"title":"UpdateMerchantAccount","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml put /api/admin/merchantaccounts/{id}","href":"/api-reference/admin-api/merchantaccounts/updatemerchantaccount"},{"title":"PatchMerchantAccount","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml patch /api/admin/merchantaccounts/{id}","href":"/api-reference/admin-api/merchantaccounts/patchmerchantaccount"},{"title":"GetMerchantAccounts","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml get /api/admin/merchantaccounts","href":"/api-reference/admin-api/merchantaccounts/getmerchantaccounts"},{"title":"CreateMerchantAccount","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml post /api/admin/merchantaccounts","href":"/api-reference/admin-api/merchantaccounts/createmerchantaccount"},{"title":"AddMerchantAccountToGroup","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml post /api/admin/merchantaccounts/{id}/group","href":"/api-reference/admin-api/merchantaccounts/addmerchantaccounttogroup"}]},{"group":"TransactionStatuses","pages":[{"title":"GetTransactionStatusCodes","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml get /api/admin/statuses","href":"/api-reference/admin-api/transactionstatuses/gettransactionstatuscodes"},{"title":"GetTransactionStatusCode","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml get /api/admin/statuses/{id}","href":"/api-reference/admin-api/transactionstatuses/gettransactionstatuscode"}]},{"group":"Transactions","pages":[{"title":"Advanced transaction search","deprecated":null,"version":null,"openapi":"/api-reference/admin-api/paysight_admin_api.yaml post /api/transactions/search","href":"/api-reference/admin-api/transactions/advanced-transaction-search"}]}]},{"group":"Mitigation API","pages":[{"group":"API for Chargeback Mitigation Providers","pages":[{"title":"Search","deprecated":null,"version":null,"openapi":"/api-reference/mitigation-api/paysight_mitigation_api.yaml post /api/mitigation/search","href":"/api-reference/mitigation-api/api-for-chargeback-mitigation-providers/search"},{"title":"Refund (and Cancel)","deprecated":null,"version":null,"openapi":"/api-reference/mitigation-api/paysight_mitigation_api.yaml post /api/mitigation/refund","href":"/api-reference/mitigation-api/api-for-chargeback-mitigation-providers/refund-and-cancel"},{"title":"User Subscription Search with Pagination","deprecated":null,"version":null,"openapi":"/api-reference/mitigation-api/paysight_mitigation_api.yaml post /api/mitigation/subscriptions","href":"/api-reference/mitigation-api/api-for-chargeback-mitigation-providers/user-subscription-search-with-pagination"},{"title":"Unsubscribe a user","deprecated":null,"version":null,"openapi":"/api-reference/mitigation-api/paysight_mitigation_api.yaml post /api/mitigation/unsubscribe","href":"/api-reference/mitigation-api/api-for-chargeback-mitigation-providers/unsubscribe-a-user"},{"title":"Advanced Transaction Search with Pagination","deprecated":null,"version":null,"openapi":"/api-reference/mitigation-api/paysight_mitigation_api.yaml post /api/mitigation/transactions","href":"/api-reference/mitigation-api/api-for-chargeback-mitigation-providers/advanced-transaction-search-with-pagination"}]}]},{"group":"Examples","pages":[{"title":"Payment API Integration","href":"/api-reference/examples/example-payment-api"}]}]}]},"basePath":"","title":"Submit card and customer info for a product - Paysight Documentation","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}