# Authenticate without cardholder present (3RI)

Use 3DS Requestor Initiated (3RI) authentication for transactions where the cardholder isn't present.

3DS Requestor Initiated (3RI) authentication allows you to authenticate transactions when the cardholder isn’t present. Use this guide to reference a previous authentication and obtain new cryptograms for subsequent authorizations.

> The sum of the transaction amount of all 3RI requests can’t exceed the transaction amount of the initial authentication.

To create a 3RI authentication object, set `channel[type]` to `three_r_i` and pass `channel[three_r_i][type]` and `channel[three_r_i][previous_authentication]`. Set `submit` to `always` to immediately submit the authentication object:

```curl
curl https://api.stripe.com/v1/three_d_secure/authentications \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "channel[type]=three_r_i" \
  -d "channel[three_r_i][type]=other_payment" \
  -d "channel[three_r_i][previous_authentication]=tdsa_1QmCRMJM0r9zBvr4OVmMRa6X" \
  -d message_category=payment_authentication \
  -d amount=5000 \
  -d currency=eur \
  -d submit=always
```

The `payment_method` parameter is optional for 3RI. If omitted, Stripe infers it from the `previous_authentication`.

Use `channel[three_r_i][type]` to specify the reason for the 3RI authentication:

- `other_payment`: Multiple authorizations linked to a single initial authentication (for example, separate businesses making authorizations)
- `recurring`: Recurring payment transactions
- `delayed_shipment`: Extend the expiration of the initial authentication for delayed shipments
- `split_shipment`: Multiple authorizations linked to the initial authentication for split shipments

Use `channel[three_r_i][previous_authentication]` to reference a previously created authentication token (for example, `tdsa_xxx`).

## Recurring payments

If you set `channel[three_r_i][type]` to `recurring`, you must set `future_usage[type]` to either `recurring` or `installment`, and include the corresponding nested object (`future_usage[recurring]` or `future_usage[installment]`) with its required parameters.

## Testing

You can test 3RI authentication in a sandbox with card 4037578812944191 (Visa). A standard, cardholder-present authentication with this card returns a challenge, but a 3RI authentication returns an authenticated result.

To test the full 3RI flow:

1. Create and submit a cardholder-present [authentication](https://docs.stripe.com/payments/3d-secure/standalone-3d-secure.md#create-a-3ds-authentication-object), passing the `pm_card_debit_threeDSecureStandalone3RI` payment method token as the `payment_method` parameter. Because it’s a standard authentication, it goes through a [challenge](https://docs.stripe.com/payments/3d-secure/standalone-3d-secure.md#present-the-3ds-challenge-to-the-cardholder) that you complete to reach a `success` state and obtain a `previous_authentication` token (`tdsa_xxx`).
2. Create a 3RI authentication that references the `previous_authentication`. Because it’s a 3RI request, the authentication completes without a challenge.

The authentication resolves to a `success` state with `outcome: authenticated`, `trans_status: "Y"`, and `eci: "05"`, and returns a cryptogram for the subsequent authorization.
