Skip to navigation

Add Stripe Debit Card

View as Markdown

Register a Stripe debit-card PaymentMethod and run account-name inquiry.

Available to: All authenticated users

Environments: Live

Rate Limit: 20 requests per rolling hour, 3-second back-off, counts all requests, CAPTCHA enabled

CAPTCHA fallback: If a penalty response includes p-captcha: true, stop API retries and do not retry with p-ticket. A server-side integration cannot solve the reCAPTCHA challenge. Direct the user to the NinjaTrader-hosted funding flow, or wait approximately one hour for the penalty count to clear before resuming API calls.

Create the Stripe PaymentMethod in the user’s browser, then send its string ID as stripePaymentMethodId. The card must be a debit card and the billing name must match the account holder.

Warning: errorText does not distinguish the two successful ANI outcomes. Inspect the conditional response fields.

Successful Outcomes

ResponseMeaningNext step
{}ANI passed and the funding method is approvedCall stripeFundingMethodDependents to obtain the approved numeric funding-method ID
last4, nameOnCard, and stripeFundingMethodId are presentANI did not approve the card; the method is pendingRun the Dyneti SDK in the user’s client, then send its scan ID to processDyScanResult

The input stripePaymentMethodId is Stripe’s string PaymentMethod identifier, such as pm_.... The response stripeFundingMethodId is NinjaTrader’s numeric funding-method identifier. They are not interchangeable.

When displayError is true, the client may show errorText directly. Other non-empty errorText values should be handled as registration failures without assuming they are user-displayable.

Common Failure Scenarios

  • Stripe object is not a debit card
  • Cardholder name does not match the account holder
  • Required funding disclosures have not been accepted
  • The user has a declined card under review
  • Another active funding method prevents approval

Related Endpoints

Authentication

AuthorizationBearer

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

Request

This endpoint expects an object.
accountIdlongRequired
stripePaymentMethodIdstringRequired<=8192 characters

Response

AddStripeDebitCardResponse
errorTextstringOptional<=8192 characters

Non-empty if the request failed

last4stringOptional<=64 characters
nameOnCardstringOptional<=64 characters
displayErrorbooleanOptional
stripeFundingMethodIdlongOptional