# Invocations de l’application Stripe pour la plateforme Salesforce

Ce guide fournit des exemples de code exploitables, qui vous guideront tout au long de tâches essentielles, comme créer des clients Stripe, lancer des sessions de paiement et générer une liste des clients existants, le tout directement dans Salesforce. Ces exemples s’adressent aux administrateurs et développeurs Salesforce, ainsi qu’à toute personne intéressée par des intégrations Stripe-Salesforce fluides. Ils utilisent des classes Apex personnalisées pour les appels de classes à l’aide d’appels à l’API Stripe. Que vous développiez une nouvelle solution d’e-commerce ou que vous mettiez à niveau vos flux de paiement, ce guide vous fournit les outils dont vous avez besoin pour exploiter efficacement Stripe dans Salesforce.

## Créer un client dans Stripe

> #### Utiliser l’API Accounts v2 pour représenter les clients
> 
> L’API Accounts&nbsp;v2 est généralement disponible pour les utilisateurs de Connect et en aperçu public pour les autres utilisateurs de Stripe. Si vous avez accès à l’aperçu Accounts&nbsp;v2, vous devez spécifier une [version d’aperçu](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) dans votre code.
> 
> Pour accéder à l’aperçu Accounts&nbsp;v2, rendez-vous sur [aperçus et fonctionnalités de Account](https://dashboard.stripe.com/settings/previews) dans votre Dashboard et activez **Moyens de paiement réutilisables pour les virements internationaux**.
> 
> Dans la plupart des cas d’usage, nous vous recommandons de [modéliser vos clients en tant qu’objets Account configurés par le client](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md), plutôt que d’utiliser des objets [Customer](https://docs.stripe.com/api/customers.md).

L’exemple de code suivant crée un objet [Customer](https://docs.stripe.com/api/customers.md) Stripe comportant les attributs `name`, `email` et `metadata`.

#### Java

```java
// Step 1: Initialize an instance of the stripeGC.v01_CreateCustomers.V1 class
stripeGC.CreateCustomers.V1 params = new stripeGC.CreateCustomers.V1();
      List<stripeGC.CreateCustomers.V1> paramsCollection = new List<stripeGC.CreateCustomers.V1>{
          params
      };
// Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to
params.accountRecordId = 'a028B0000029RhlQAE';

// Step 3: Set the metadata field
stripeGC.Metadata metadata = new stripeGC.Metadata();
metadata.listAdditionalStringField = new List<stripeGC.AdditionalString>{
   new stripeGC.AdditionalString('AccountID', 'abc123')
};
params.metadata = metadata;

// Step 4: Set the name field
params.name = 'Tim Smith';

// Step 5: Set the email field
params.email = 'example@example.com';

// Step 6: Call the stripeGC.v01_PostCustomers.postCustomers_2022_11_15 method
List<stripeGC.Customer> customers = stripeGC.v01_CreateCustomers.createCustomers_2022_11_15(paramsCollection);
```

## Créer une session Checkout

L’exemple de code suivant crée une session Checkout dans Stripe&nbsp;:

#### Java

```java
// Step 1: Initialize an instance of the stripeGC.v01_CreateCheckoutSessions.V1 class
stripeGC.CreateCheckoutSessions.V1 params = new stripeGC.CreateCheckoutSessions.V1();
      List<stripeGC.CreateCheckoutSessions.V1> paramsCollection = new List<stripeGC.CreateCheckoutSessions.V1>{
          params
      };
// Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to
params.accountRecordId = 'a028B0000029RhlQAE';

// Step 3: Set the checkout line items
stripeGC.CreateCheckoutSessionsReqLineItem cliparams = new stripeGC.CreateCheckoutSessionsReqLineItem();
cliparams.price = 'price_1NhcVkBSPQ8HL343ZNsBp'; //price id from Stripe.
cliparams.quantity = 1;
List<stripeGC.CreateCheckoutSessionsReqLineItem> cliparamlist = new List<stripeGC.CreateCheckoutSessionsReqLineItem>();
cliparamlist.add(cliparams);
params.lineItems = cliparamlist;

// Step 4: Set mode,successurl,client ref fields
params.mode = 'payment';
params.successUrl = 'https://stripe.com';
params.clientReferenceId = 'abcd123';

// Step 5: Call the stripeGC.v01_CreateCheckoutSessions.CreateCheckoutSessions_2022_11_15 method
List<stripeGC.CheckoutSession> results = stripeGC.v01_CreateCheckoutSessions.createCheckoutSessions_2022_11_15(paramsCollection);

```

### Liste des clients

L’exemple de code suivant génère une liste de tous vos clients enregistrés dans Stripe&nbsp;:

```java
// Step 1: Initialize an instance of the stripeGC.v01_ListCustomers.V1 class
stripeGC.ListCustomers.V1 params = new stripeGC.ListCustomers.V1();
List<stripeGC.ListCustomers.V1> paramsCollection = new List<stripeGC.ListCustomers.V1>{
   params
};

// Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to
params.accountRecordId = 'a028B0000029RhlQAE';

// Step 3: Call the stripeGC.v01_ListCustomers.listCustomers_2022_11_15 method
List<stripeGC.CustomerResourceCustomerList > results = stripeGC.v01_ListCustomers.listCustomers_2022_11_15(paramsCollection);
System.debug(results[0]);

```

## See also

- [Guide d’installation](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/installation-guide.md)
- [Vidéos d’activation](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/training.md)
- [Configurer des événements](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/configure-events.md)
