Guide de chargement de fichiers
Utilisez l’API File Upload pour envoyer des fichiers de manière sécurisée à Stripe, comme des justificatifs de litige, des documents d’identité, etc.
Lorsque vous importez un fichier vers Stripe via l’API, celle-ci renvoie un token de fichier ainsi que d’autres informations associées. Vous pouvez ensuite utiliser ce token dans d’autres appels à l’API. Ce guide décrit ce processus.
Importer un fichier
Pour importer un fichier, envoyez une requête multipart/form-data vers https://files.stripe.com/v1/files. Le sous-domaine files.stripe.com est différent de la plupart des endpoints de l’API Stripe. Indiquez un purpose et un file dans la requête. L’exemple suivant importe un fichier situé à /path/to/a/file.jpg sur votre système local avec le purpose dispute_ :
L’exemple suivant charge un fichier à l’aide de notre SDK Android avec l’objectif dispute_ :
class CheckoutActivity : AppCompatActivity() { private val stripe: Stripe by lazy { Stripe(this,) } private fun uploadFile(file: File) { stripe.createFile( StripeFileParams( file, StripeFilePurpose.DisputeEvidence ), callback = object : ApiResultCallback<StripeFile> { override fun onSuccess(result: StripeFile) { // File upload succeeded } override fun onError(e: Exception) { // File upload failed } } ) } }"pk_test_oKhSR5nslBRnBZpjO6KuzZeX"
Il existe des valeurs d’objectif valides multiples, chacune aux exigences de taille et de format de fichier.
| Purpose | Description | Supported mimetypes | Max size | Expiry | Downloadable |
|---|---|---|---|---|---|
account_ | Additional documentation requirements that can be requested for an account. | PDF JPEG PNG | 64MB | NEVER | Non |
business_ | A business icon. | JPEG PNG GIF | 512KB | NEVER | Oui |
business_ | A business logo. | JPEG PNG GIF | 512KB | NEVER | Oui |
customer_ | Customer signature image. | JPEG PNG SVG | 4MB | 7 days | Oui |
dispute_ | Evidence to submit with a dispute response. | PDF JPEG PNG | 5MB | 9 months | Oui |
platform_ | A copy of the platform's Terms of Service. | PDF TXT MARKDOWN | 64MB | NEVER | Non |
issuing_ | Additional regulatory reporting requirements for Issuing. | JSON | 256KB | 2 years | Oui |
pci_ | A self-assessment PCI questionnaire. | PDF | 16MB | NEVER | Oui |
tax_ | A user-uploaded tax document. | PDF CSV JPEG PNG XLSX DOCX | 16MB | NEVER | Oui |
additional_ | Additional verification for custom accounts. | PDF JPEG PNG | 16MB | NEVER | Non |
terminal_ | Android POS apps to be deployed on Stripe smart readers. | APK | 200MB | 6 months | Oui |
terminal_ | Splashscreen to be displayed on Terminal readers. | PNG JPEG GIF | 4.194304MB | 1 year | Oui |
terminal_ | Certificate used for Enterprise WiFi on Terminal readers. | PEM | 100KB | NEVER | Non |
terminal_ | Private key used for Enterprise WiFi on Terminal readers. | PEM | 100KB | NEVER | Non |
identity_ | A document to verify the identity of an account owner during account provisioning. | PDF JPEG PNG | 32MB | NEVER | Lorsqu'il est chargé par la plateforme Connect |
Mise en garde
Les images identity_ ont aussi besoin d’être plus petites que 8 000 px par 8 000 px.
Le type MIME du fichier que vous souhaitez importer doit correspondre à son format.
| File format | MIME type |
|---|---|
| APK | application/vnd.android.package-archive |
| CSV | text/csv |
| DOCX | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| GIF | image/gif |
| HTML | text/html |
| ICO | image/vnd.microsoft.icon |
| JPEG | image/jpeg |
| JSON | application/json |
| JSONL | application/jsonl |
| MARKDOWN | text/markdown |
| application/pdf | |
| PEM | application/x-pem-file |
| PNG | image/png |
| SVG | image/svg+xml |
| TIFF | image/tiff |
| TSV | text/tab-separated-values |
| TXT | text/plain |
| WEBP | image/webp |
| XLS | application/vnd.ms-excel |
| XLSM | application/vnd.ms-excel.sheet.macroEnabled.12 |
| XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| XML | application/xml |
| ZIP | application/zip |
Mise en garde
Tous les documents Microsoft Office contenant des macros VBA seront refusés pour des raisons de sécurité.
Une requête réussie renvoie un objet File.
Récupération d’une ressource d’API de fichier
Pour récupérer la ressource API d’un fichier, effectuez une requête GET vers l’endpoint /v1/files du sous-domaine files.stripe.com, en fournissant l’ID du fichier importé :
Lorsque vous utilisez des clés API limitées, vous devez bénéficier d’un accès préalable à la ressource Files.
Télécharger le contenu du fichier
Si l’objectif du fichier permet de télécharger le contenu du fichier, alors le fichier inclut un champ url non nul indiquant comment accéder au contenu. Cette URL nécessite une authentification avec vos clés API Stripe.
curl https://files.stripe.com/v1/files//contents -u{{FILE_ID}}sk_test_VePHdqKTYQjKNInc7u56JBrQ
Si vous voulez un accès non authentifié au fichier dont l’objectif permet le téléchargement, alors vous pouvez générer des liens de téléchargement anonyme en créant un file_link.
La ressource file_link comporte un champ url permettant un accès non authentifié au contenu du fichier.
Utilisation d’un fichier
Une fois le fichier importé, vous pouvez utiliser son ID dans d’autres requêtes API. Par exemple, pour joindre un fichier importé à un litige spécifique en tant que justificatif :
Vous ne pouvez utiliser un fichier importé que dans une seule requête API.
Gérer les erreurs d’import
Lorsque vous utilisez l’API File pour télécharger un document PDF, nous effectuons une série de vérifications pour confirmer qu’il est correctement formaté et répond aux spécifications de PDF. Nous renvoyons une erreur pour les téléchargements qui ne satisfont pas nos vérifications.
Essayez ce qui suit pour corriger les erreurs que nous détectons :
- Supprimez les annotations ou les médias supplémentaires ajoutés au document.
- Si vous ne parvenez pas à supprimer vos annotations ou vos éléments multimédias, ou si vous avez fusionné plusieurs PDF en un seul, essayez d’utiliser la fonction « Imprimer en PDF » de votre ordinateur pour créer un nouveau document.