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.
Call through Alter
Section titled “Call through Alter”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 osfrom alter_sdk import Appfrom 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()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
headers | object | Optional | Additional keys: not allowed |
headers.Idempotency-Key | string | Optional | Minimum length: 1 Maximum length: 255 |
body | object | Required within parent | Additional keys: not allowed |
body.client_device_metadata_details | object | Optional | Details about the Client Device Metadata to associate with the payment evaluation. |
body.client_device_metadata_details.radar_session | string | Required within parent | Maximum length: 5000 |
body.customer_details | object | Required within parent | Details about the customer associated with the payment evaluation. |
body.customer_details.customer | string | Optional | Maximum length: 5000 |
body.customer_details.customer_account | string | Optional | Maximum length: 5000 |
body.customer_details.email | string | Optional | |
body.customer_details.name | string | Optional | Maximum length: 5000 |
body.customer_details.phone | string | Optional | |
body.expand | array | Optional | Specifies which fields in the response should be expanded. |
body.expand[] | string | Each item | Maximum length: 5000 |
body.metadata | object | Optional | Set 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.* | string | Additional keys | |
body.payment_details | object | Required within parent | Details about the payment. |
body.payment_details.amount | integer | Required within parent | |
body.payment_details.currency | string | Required within parent | Format: currency |
body.payment_details.description | string | Optional | Maximum length: 5000 |
body.payment_details.money_movement_details | object | Optional | |
body.payment_details.money_movement_details.card | object | Optional | |
body.payment_details.money_movement_details.card.customer_presence | string | Optional | One of: off_session, on_session |
body.payment_details.money_movement_details.card.payment_type | string | Optional | One of: one_off, recurring, setup_one_off, setup_recurring |
body.payment_details.money_movement_details.money_movement_type | string | Required within parent | One of: card |
body.payment_details.payment_method_details | object | Required within parent | |
body.payment_details.payment_method_details.billing_details | object | Optional | |
body.payment_details.payment_method_details.billing_details.address | object | Optional | |
body.payment_details.payment_method_details.billing_details.address.city | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.address.country | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.address.line1 | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.address.line2 | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.address.postal_code | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.address.state | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.email | string | Optional | |
body.payment_details.payment_method_details.billing_details.name | string | Optional | Maximum length: 5000 |
body.payment_details.payment_method_details.billing_details.phone | string | Optional | |
body.payment_details.payment_method_details.payment_method | string | Required within parent | Maximum length: 5000 |
body.payment_details.shipping_details | object | Optional | |
body.payment_details.shipping_details.address | object | Optional | |
body.payment_details.shipping_details.address.city | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.address.country | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.address.line1 | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.address.line2 | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.address.postal_code | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.address.state | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.name | string | Optional | Maximum length: 5000 |
body.payment_details.shipping_details.phone | string | Optional | |
body.payment_details.statement_descriptor | string | Optional | Maximum length: 5000 |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Create a Payment Evaluation — response body |
Referenced models: Create a Payment Evaluation — response body
Schemas
Section titled “Schemas”728 more schemas are linked from the tables above, on the schema pages.
Create a Payment Evaluation — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Payment 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_details | Model | Optional | Expand Create a Payment Evaluation — response body — client device metadata details |
created_at | JSON | Required within parent | |
created_at (anyOf 1) | integer | Alternative | Time at which the object was created. Measured in seconds since the Unix epoch. Format: unix-time |
created_at (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
customer_details | Model | Optional | Expand Create a Payment Evaluation — response body — customer details |
events | array | Required within parent | Event information associated with the payment evaluation, such as refunds, dispute, early fraud warnings, or user interventions. |
events[] | Model | Each item | Expand Create a Payment Evaluation — response body — events item |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
livemode | boolean | Required within parent | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Set 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).* | string | Additional keys | Maximum length: 500 |
metadata (anyOf 2) | null | Alternative | |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: radar.payment_evaluation |
outcome | JSON | Optional | |
outcome (anyOf 1) | JSON | Alternative | Indicates the final outcome for the payment evaluation. |
outcome (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded |
outcome (anyOf 2) | null | Alternative | |
payment_details | Model | Optional | Expand Create a Payment Evaluation — response body — payment details |
recommended_action | string | Required within parent | Recommended action based on the score of the `fraudulent_payment` signal. Possible values are `block`, `continue` and `request_three_d_secure`. Known values: block, continue |
signals | Model | Required within parent | Expand 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Client device metadata attached to this payment evaluation. |
radar_session | string | Required within parent | ID 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Customer details attached to this payment evaluation. |
customer | JSON | Optional | |
customer (anyOf 1) | string | Alternative | The ID of the customer associated with the payment evaluation. Maximum length: 5000 |
customer (anyOf 2) | null | Alternative | |
customer_account | JSON | Optional | |
customer_account (anyOf 1) | string | Alternative | The ID of the Account representing the customer associated with the payment evaluation. Maximum length: 5000 |
customer_account (anyOf 2) | null | Alternative | |
email | JSON | Optional | |
email (anyOf 1) | string | Alternative | The customer's email address. Maximum length: 5000 |
email (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | The customer's full name or business name. Maximum length: 5000 |
name (anyOf 2) | null | Alternative | |
phone | JSON | Optional | |
phone (anyOf 1) | string | Alternative | The customer's phone number. Maximum length: 5000 |
phone (anyOf 2) | null | Alternative |
Create a Payment Evaluation — response body — events item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Event reported for this payment evaluation. |
dispute_opened | Model | Optional | Expand Create a Payment Evaluation — response body — events item dispute opened |
early_fraud_warning_received | Model | Optional | Expand Create a Payment Evaluation — response body — events item early fraud warning received |
occurred_at | JSON | Required within parent | |
occurred_at (anyOf 1) | integer | Alternative | Timestamp when the event occurred. Format: unix-time |
occurred_at (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
refunded | Model | Optional | Expand Create a Payment Evaluation — response body — events item refunded |
type | string | Required within parent | Indicates 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_raised | Model | Optional | Expand Create a Payment Evaluation — response body — events item user intervention raised |
user_intervention_resolved | Model | Optional | Expand 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Outcome details for this payment evaluation. |
merchant_blocked | Model | Optional | Expand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded merchant blocked |
payment_intent_id | string | Optional | The PaymentIntent ID associated with the payment evaluation. Maximum length: 5000 |
rejected | Model | Optional | Expand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded rejected |
succeeded | Model | Optional | Expand Create a Payment Evaluation — response body — outcome / value / type: failed, merchant blocked, rejected, rerouted, succeeded succeeded |
type | string | Required within parent | Indicates 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root |
Policy, approvals and errors
Section titled “Policy, approvals and errors”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"}