# Requêtes de conversion d'authentification

Utilisez Stripe Sigma pour retrouver les informations d'authentification, de conversion et d'exemptions de la SCA utilisées.

Consultez le tableau `authentication_report_attempts` dans la section **Tableaux d’analyse** du schéma Sigma. Chaque ligne du tableau `authentication_report_attempts` représente les données d’un seul objet Attempt. Notre [documentation pleine page](https://dashboard.stripe.com/stripe-schema?tableName=authentication_report_attempts) présente également le schéma dans un format fractionné.

## Informations sur les tentatives de conversion

Vous pouvez obtenir un rapport pour chaque tentative, chaque [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) ou [SetupIntent](https://docs.stripe.com/api/payment_intents.md) pouvant présenter plusieurs tentatives.

> Il existe parfois plusieurs tentatives pour un seul paiement, comme lorsqu’un paiement est refusé avant d’être retenté. Pour accéder à une transaction précise, utilisez la colonne `is_final_attempt`. Cette colonne est créée après quelques jours d’utilisation.

La requête suivante utilise la table `authentication_report_attempts`pour récupérer une liste des PaymentIntents qui ont été authentifiés avec succès à l’aide du flux de challenge.

```sql
select
  attempt_id,
  intent_id,
  payment_method,
  threeds_reason as step_up_reason,
  charge_outcome
from authentication_report_attempts
where intent_type = 'payment'
  and threeds_outcome_result = 'authenticated'
  and authentication_flow = 'challenge'
  and is_final_attempt
limit 5
```

| attempt_id | intent_id | payment_method | step_up_reason | charge_outcome |
| --- | --- | --- | --- | --- |
| payatt_1IRdZ9F… | pi_1Hn8d… | card_charge | requested_by_radar_rule | authorized |
| payatt_1I4AFxF… | pi_1J8Ljt… | card_charge | requested_by_radar_rule | authorized |
| payatt_1HvmxU… | pi_1HhsH… | card_charge | requested_by_radar_rule | authorized |
| payatt_1I5npGF… | pi_1IdKak… | card_charge | requested_by_radar_rule | authorized |
| payatt_1HcbWZ… | pi_1IAhBh… | card_charge | requested_by_radar_rule | authorized |

## Informations sur l’exemption de la SCA

Vous pouvez aussi chercher des informations sur les *exemptions de SCA* (Some transactions that are deemed low risk, based on the volume of fraud rates associated with the payment provider or bank, may be exempt from Europe's Strong Customer Authentication requirements) utilisés par Stripe ou par la banque émettrice. Consultez la page concernant les [exemptions d’authentification forte du client](https://stripe.com/guides/strong-customer-authentication#exemptions-to-strong-customer-authentication).

La requête suivante présente des paiements passés avec une *autorisation directe* (Where Stripe requests an SCA exemption as part of the authorization message) à faible risque grâce à l’exemption de la SCA, mais qui ont été refusés pour des raisons étrangères à l’exemption demandée.

```sql
select
  attempt_id,
  intent_id,
  charge_outcome,
  charge_outcome_reason
from authentication_report_attempts
where intent_type = 'payment'
  and sca_exemption_requested = 'low_risk'
  and sca_exemption_mechanism = 'authorization' -- direct to authorization
  and sca_exemption_status = 'non_sca_decline'
  and is_final_attempt
limit 5
```

| attempt_id | intent_id | charge_outcome | charge_outcome_reason |
| --- | --- | --- | --- |
| payatt_3JeL… | pi_3JeL… | issuer_declined | insufficient_funds |
| payatt_1Itw… | pi_1Itw… | issuer_declined | do_not_honor |
| payatt_1Ini3… | pi_1Ini3… | issuer_declined | do_not_honor |
| payatt_1IiO7… | pi_1IiO7… | issuer_declined | do_not_honor |
| payatt_1I0hGm… | pi_1I0hGk… | issuer_declined | insufficient_funds |

## Impact de la suppression des doublons

La requête suivante montre l’impact de la suppression des doublons avec `is_final_attempt` sur les taux d’authentification pour les configurations.

> Notre circuit logique de suppression de doublons cherche des groupes de transactions refusées (à l’exception, éventuellement, de la dernière) présentant les mêmes paramètres `customer_id​`, `currency` et `amount​` et qui sont effectués dans un court laps de temps. Ces groupes sont rassemblés en une entité unique pour les calculs de conversion. Dans le tableau Sigma, l’ensemble des données brutes sont incluses, de même qu’une colonne `is_final_attempt​`, que vous pouvez utiliser comme filtre pour obtenir une transaction représentative pour chaque groupe.

```sql
with setup_attempts as (
  select
    created,
    is_final_attempt,
    threeds_outcome_result in (
      'attempt_acknowledged',
      'authenticated',
      'delegated',
      'exempted'
    ) as threeds_succeeded
  from authentication_report_attempts
  where created between date'2021-10-29' and date'2021-11-03'
    and intent_type = 'setup'
    and is_threeds_triggered
)
select
  date_trunc('day', created) as day,
  1.0 * count_if(threeds_succeeded)
    / count(*) as authentication_rate__raw,
  2.0 * count_if(threeds_succeeded and is_final_attempt)
    / nullif(count_if(is_final_attempt), 0) as authentication_rate__deduped
from setup_attempts
group by 1
order by 1
```

| day | authentication_rate__raw | authentication_rate__deduped |
| --- | --- | --- |
| 2021-10-29 | 0.59 | 0.80 |
| 2021-10-30 | 0.60 | 0.81 |
| 2021-10-31 | 0.59 | 0.81 |
| 2021-11-01 | 0.61 | 0.83 |
| 02/11/2021 | 0.62 | 0.83 |
