Skip to navigation

Process Dy Scan Result

View as Markdown

Process the result of a completed Dyneti debit-card scan.

Available to: All authenticated users

Environments: Live

Rate Limit: No endpoint-specific limit

Call this endpoint only after addStripeDebitCard returns last4, nameOnCard, and stripeFundingMethodId. Run the Dyneti card-scan SDK in the partner’s own client, then submit the resulting scanId with NinjaTrader’s numeric stripeFundingMethodId.

The browser-side DyScan SDK key is used only to initialize and complete the scan. Do not send that key to this endpoint or reuse NinjaTrader dashboard credentials; contact your NinjaTrader partner representative for an approved Dyneti integration. NinjaTrader’s funding service holds a separate server-side Dyneti API credential and makes an authenticated external request to Dyneti for scan/{scanId}.

This endpoint does not capture or upload a card image. It verifies that:

  • the caller can access the specified funding method;
  • the funding method is Pending or DcvRequested;
  • Dyneti reports the scan as scanComplete with decline-reason data; and
  • the returned cardholder name and last four digits exactly match the values stored on the pending Stripe funding method.

These comparisons prevent a scan ID created for another card or user from approving the pending method. Call this endpoint only after the client SDK reports completion. An incomplete, invalid, mismatched, or unprocessable scan cancels the pending funding method, so the user must register the card again before retrying.

For a valid response, the service stores Dyneti’s formatMismatch, numberMismatch, generatedImage, rateLimited, and optional nameMismatch results. Format mismatch, generated-image, or rate-limit findings are treated as fraud and decline the funding method. Number or name mismatch without a fraud finding cancels it. A clean result approves it.

Response Interpretation

FieldsMeaning
isVerified: true, isFraud: falseCard is approved and can be used for funding
isVerified: false, isFraud: trueScan was classified as fraud; the method is declined
isVerified: false, isFraud: falseNon-fraud verification failure; the method is canceled
non-empty errorTextScan could not be processed; do not call startStripeFunding with this method

Common Failure Scenarios

  • Unknown or expired Dyneti scan ID
  • Scan belongs to a different cardholder or card number
  • Funding method is no longer pending
  • Dyneti reports a format, number, generated-image, rate-limit, or name mismatch

Related Endpoints

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
stripeFundingMethodIdlongRequired
scanIdstringRequired<=64 characters

Response

ProcessDyScanResultResponse
stripeFundingMethodIdlong
scanIdstring<=64 characters
errorTextstringOptional<=8192 characters

Non-empty if the request failed

isVerifiedbooleanOptional
isFraudbooleanOptional