Skip to content

Stripe: Create a Payment Evaluation

Stripe radar.postRadarPaymentEvaluations: arguments, response, policy and SDK examples.

← Radar operations · Get started

Operation stripe.postradarpaymentevaluations

Provider route: POST /v1/radar/payment_evaluations. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["radar"]["postRadarPaymentEvaluations"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.radar.postRadarPaymentEvaluations(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_stripe import StripeIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.radar.post_radar_payment_evaluations(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
headersobjectOptionalAdditional keys: not allowed
headers.Idempotency-KeystringOptionalMinimum length: 1
Maximum length: 255
bodyobjectRequired within parentAdditional keys: not allowed
body.client_device_metadata_detailsobjectOptionalDetails about the Client Device Metadata to associate with the payment evaluation.
body.client_device_metadata_details.radar_sessionstringRequired within parentMaximum length: 5000
body.customer_detailsobjectRequired within parentDetails about the customer associated with the payment evaluation.
body.customer_details.customerstringOptionalMaximum length: 5000
body.customer_details.customer_accountstringOptionalMaximum length: 5000
body.customer_details.emailstringOptional
body.customer_details.namestringOptionalMaximum length: 5000
body.customer_details.phonestringOptional
body.expandarrayOptionalSpecifies which fields in the response should be expanded.
body.expand[]stringEach itemMaximum length: 5000
body.metadataobjectOptionalSet of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
Additional keys: see wildcard field
body.metadata.*stringAdditional keys
body.payment_detailsobjectRequired within parentDetails about the payment.
body.payment_details.amountintegerRequired within parent
body.payment_details.currencystringRequired within parentFormat: currency
body.payment_details.descriptionstringOptionalMaximum length: 5000
body.payment_details.money_movement_detailsobjectOptional
body.payment_details.money_movement_details.cardobjectOptional
body.payment_details.money_movement_details.card.customer_presencestringOptionalOne of: off_session, on_session
body.payment_details.money_movement_details.card.payment_typestringOptionalOne of: one_off, recurring, setup_one_off, setup_recurring
body.payment_details.money_movement_details.money_movement_typestringRequired within parentOne of: card
body.payment_details.payment_method_detailsobjectRequired within parent
body.payment_details.payment_method_details.billing_detailsobjectOptional
body.payment_details.payment_method_details.billing_details.addressobjectOptional
body.payment_details.payment_method_details.billing_details.address.citystringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.address.countrystringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.address.line1stringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.address.line2stringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.address.postal_codestringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.address.statestringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.emailstringOptional
body.payment_details.payment_method_details.billing_details.namestringOptionalMaximum length: 5000
body.payment_details.payment_method_details.billing_details.phonestringOptional
body.payment_details.payment_method_details.payment_methodstringRequired within parentMaximum length: 5000
body.payment_details.shipping_detailsobjectOptional
body.payment_details.shipping_details.addressobjectOptional
body.payment_details.shipping_details.address.citystringOptionalMaximum length: 5000
body.payment_details.shipping_details.address.countrystringOptionalMaximum length: 5000
body.payment_details.shipping_details.address.line1stringOptionalMaximum length: 5000
body.payment_details.shipping_details.address.line2stringOptionalMaximum length: 5000
body.payment_details.shipping_details.address.postal_codestringOptionalMaximum length: 5000
body.payment_details.shipping_details.address.statestringOptionalMaximum length: 5000
body.payment_details.shipping_details.namestringOptionalMaximum length: 5000
body.payment_details.shipping_details.phonestringOptional
body.payment_details.statement_descriptorstringOptionalMaximum length: 5000

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Create a Payment Evaluation — response body

Referenced models: Create a Payment Evaluation — response body

728 more schemas are linked from the tables above, on the schema pages.

Create a Payment Evaluation — response body
FieldTypePresenceDescription and constraints
$objectRootPayment Evaluations represent the risk lifecycle of an externally processed payment. It includes the Radar risk score from Stripe, payment outcome taken by the merchant or processor, and any post transaction events, such as refunds or disputes. See the [Radar API guide](/radar/multiprocessor) for integration steps.
client_device_metadata_detailsModelOptionalExpand Create a Payment Evaluation — response body — client device metadata details
created_atJSONRequired within parent
created_at (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
customer_detailsModelOptionalExpand Create a Payment Evaluation — response body — customer details
eventsarrayRequired within parentEvent information associated with the payment evaluation, such as refunds, dispute, early fraud warnings, or user interventions.
events[]ModelEach itemExpand Create a Payment Evaluation — response body — events item
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
metadataJSONOptional
metadata (anyOf 1)objectAlternativeSet of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Additional keys: see wildcard field
metadata (anyOf 1).*stringAdditional keysMaximum length: 500
metadata (anyOf 2)nullAlternative
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: radar.payment_evaluation
outcomeJSONOptional
outcome (anyOf 1)JSONAlternativeIndicates the final outcome for the payment evaluation.
outcome (anyOf 1) (anyOf 1)ModelAlternativeExpand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded
outcome (anyOf 2)nullAlternative
payment_detailsModelOptionalExpand Create a Payment Evaluation — response body — payment details
recommended_actionstringRequired within parentRecommended action based on the score of the `fraudulent_payment` signal. Possible values are `block`, `continue` and `request_three_d_secure`.
Known values: block, continue
signalsModelRequired within parentExpand Create a Payment Evaluation — response body — signals

Referenced models: Create a Payment Evaluation — response body — client device metadata details, Create a Payment Evaluation — response body — customer details, Create a Payment Evaluation — response body — events item, Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded, Create a Payment Evaluation — response body — payment details, Create a Payment Evaluation — response body — signals

Create a Payment Evaluation — response body — client device metadata details
FieldTypePresenceDescription and constraints
$objectRootClient device metadata attached to this payment evaluation.
radar_sessionstringRequired within parentID for the Radar Session associated with the payment evaluation. A [Radar Session](https://docs.stripe.com/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
Maximum length: 5000
Create a Payment Evaluation — response body — customer details
FieldTypePresenceDescription and constraints
$objectRootCustomer details attached to this payment evaluation.
customerJSONOptional
customer (anyOf 1)stringAlternativeThe ID of the customer associated with the payment evaluation.
Maximum length: 5000
customer (anyOf 2)nullAlternative
customer_accountJSONOptional
customer_account (anyOf 1)stringAlternativeThe ID of the Account representing the customer associated with the payment evaluation.
Maximum length: 5000
customer_account (anyOf 2)nullAlternative
emailJSONOptional
email (anyOf 1)stringAlternativeThe customer's email address.
Maximum length: 5000
email (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe customer's full name or business name.
Maximum length: 5000
name (anyOf 2)nullAlternative
phoneJSONOptional
phone (anyOf 1)stringAlternativeThe customer's phone number.
Maximum length: 5000
phone (anyOf 2)nullAlternative
Create a Payment Evaluation — response body — events item
FieldTypePresenceDescription and constraints
$objectRootEvent reported for this payment evaluation.
dispute_openedModelOptionalExpand Create a Payment Evaluation — response body — events item dispute opened
early_fraud_warning_receivedModelOptionalExpand Create a Payment Evaluation — response body — events item early fraud warning received
occurred_atJSONRequired within parent
occurred_at (anyOf 1)integerAlternativeTimestamp when the event occurred.
Format: unix-time
occurred_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
refundedModelOptionalExpand Create a Payment Evaluation — response body — events item refunded
typestringRequired within parentIndicates the type of event attached to the payment evaluation.
Known values: dispute_opened, early_fraud_warning_received, refunded, user_intervention_raised, user_intervention_resolved
user_intervention_raisedModelOptionalExpand Create a Payment Evaluation — response body — events item user intervention raised
user_intervention_resolvedModelOptionalExpand Create a Payment Evaluation — response body — events item user intervention resolved

Referenced models: Create a Payment Evaluation — response body — events item dispute opened, Create a Payment Evaluation — response body — events item early fraud warning received, Create a Payment Evaluation — response body — events item refunded, Create a Payment Evaluation — response body — events item user intervention raised, Create a Payment Evaluation — response body — events item user intervention resolved

Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded
FieldTypePresenceDescription and constraints
$objectRootOutcome details for this payment evaluation.
merchant_blockedModelOptionalExpand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded merchant blocked
payment_intent_idstringOptionalThe PaymentIntent ID associated with the payment evaluation.
Maximum length: 5000
rejectedModelOptionalExpand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded rejected
succeededModelOptionalExpand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded succeeded
typestringRequired within parentIndicates the outcome of the payment evaluation.
Known values: failed, merchant_blocked, rejected, rerouted, succeeded

Referenced models: Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded merchant blocked, Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded rejected, Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded succeeded

Create a Payment Method — response body — zip
FieldTypePresenceDescription and constraints
$objectRoot

SDK function policy ID: stripe.postradarpaymentevaluations. Catalog operation: PostRadarPaymentEvaluations. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"Stripe-Version": "2026-09-30.endive"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.