Gérer les erreurs applicatives

Gérer les erreurs applicatives

Des messages d'erreurs applicatifs normalisés peuvent être envoyés dans le message SOAP réponse lié à un appel.

Ils se présentent sous la forme d'un code d'erreur associé à une description du problème rencontré.

Le tableau ci-dessous récapitule les codes d'erreurs susceptibles d'être retournés dans l'attribut responseCode :

Code d'erreur responseCodeDetail Description
0 Action successfully completed Le format de la requête est valide. Ne traduit pas pour autant un paiement accepté.
1 Unauthorized request Action non autorisée.
2 Bad Parameter Attribut invalide.
3 Bad Request La requête n'a pu être traitée.
10 Transaction was not found Transaction non trouvée.
11 Bad transaction status Statut de la transaction incorrect.
12 Transaction already exists Transaction existe déjà.
13 Date is too far from current UTC date Mauvaise date (la valeur de l'attribut 'submissionDate' est trop loin de la date actuelle).
14 Nothing has changed Aucun changement.
15 Too much results Trop de résultats.
16 Duplicate forbidden La transaction initiale a été refusée pour un motif interdisant la duplication. Demandez au porteur de payer avec un autre moyen de paiement.
20 Bad amount Montant invalide dans l'attribut 'amount'.
21 Unknown currency Devise invalide dans l'attribut 'currency'.
22 Unknown card type Type de carte inconnu.
23 Invalid Expiration Date Date invalide dans les attributs 'expiryMonth' et/ou 'expiryYear'.
24 CVV Mandatory Le 'cvv' est obligatoire.
25 Contract not found Numéro de contrat inconnu.
26 Invalid card number Le numéro de carte est invalide.
30 Payment token not found L'alias n'est pas trouvé.
31 Invalid payment token (cancelled, …) L'alias est invalide (Résilié, vide…).
32 SubscriptionID was not found Attribut 'subscriptionId' non trouvé.
33 Invalid Subscription Attribut 'rrule' invalide

ou

Abonnement déjà résilié

34 Payment token already exists L'alias existe déjà.
35 Payment token creation declined Création de l'alias refusé.
36 Payment token purged Attribut 'paymentToken' purgé.
40 Amount not authorized Attribut 'amount' non autorisé
41 Card range not found Plage de carte non trouvée
42 Not enough credit Le solde du moyen de paiement n'est pas suffisant.
43 No credit Le remboursement n'est pas autorisé pour ce contrat.
50 Brand not found Aucune brand localisée.
51 Merchant not enrolled Marchand non enrôlé.
52 Invalid ACS Signature Signature de l'ACS invalide.
53 Technical error 3DS Erreur technique 3DS.
54 Wrong Parameter 3DS Paramètre 3DS incorrect.
55 3DS Disabled 3DS désactivé.
56 PAN not found PAN non trouvé.
57 Acquirer transient data not valid Les données spécifiques devant être transmises à l'acquéreur sont invalides.
75 Cancel operation not available anymore, try a refund Annulation impossible, veuillez tenter un remboursement.
76 Refund operation not yet available, try a cancel Remboursement impossible, veuillez tenter une annulation
77 In order to refund this transaction, please contact RBM at the following address: solicitudes@rbm.com.co L'acquéreur Redeban n'autorise pas le remboursement sur une carte MAESTRO. Veuillez contacter RBM à l'adresse mail: solicitudes@rbm.com.co
78 In order to refund this transaction, please contact Credibanco at the following address: atrecom@credibanco.com L'acquéreur Credibanco n'autorise pas le remboursement sur les cartes AMEX. Veuillez contacter Credibanco à l'adresse mail: atrecom@credibanco.com
79 In order to refund this transaction, please contact Davivienda at the following adress: cempresarial@davivienda.com L'acquéreur Redeban n'autorise pas le remboursement sur les cartes Diners. Veuillez contacter Davivienda à l'adresse mail cempresarial@davivienda.com
80 Transaction(s) not sent yet in CNAB/Remessa file Remise non autorisée car la transaction n'est pas enregistrée dans un fcihier CNAB/Remessa (Paiement Boleto).
81 Manual capture not allowed for this type of contract Capture manuelle non supportée sur ce réseau.
82 Refund not allowed on this transaction type Un crédit n'est pas autorisé sur ce type de transaction (VERIFICATION, CREDIT).
83 Refund not allowed on unpaid transaction Remboursement impossible sur une transaction impayée.
97 OneyWsError OneyWs Erreur.
98 Bad request Id Attribut RequestId invalide.
99 Undefined Error Erreur inconnue.

Précisions sur les codes d'erreurs

  • 0 - Action réalisée avec succès

    Indique que le format de la requête est correct.

    ATTENTION: Même si responseCode est valorisé à 0, vous devez analyser les champs suivants afin de déterminer si le paiement est réussi:

    1. commonResponse.transactionStatusLabel pour connaître le statut de la transaction,
    2. authorizationResponse.result pour connaître la raison du refus de la demande d'autorisation,
    3. paymentResponse.paymentError pour connaître les autres raison du refus.

  • 1 - Action non autorisée

    Indique que votre boutique n'est pas autorisée à créer des transaction dans le mode PRODUCTION.

  • 2 - Paramètre invalide

    Ce code d'erreur est retourné lorsqu'un attribut est invalide. Il est accompagné d'une erreur de type param qui fournit un complément d'informations sur l'attribut posant problème.

    Code d'erreur Description Explication
    33 Paramètre 'paymentSource' invalide dans le cas d'un abonnement Origine de la transaction invalide pour un abonnement.

    Les valeurs possibles sont "EC", "MOTO", "CC" ou "OTHER".

    34 Paramètre 'scheme' invalide dans le cas d'une création d'un alias Type de carte invalide lors de la création d'un alias.
    35 Paramètre phoneNumber' invalide Numéro de téléphone de l'acheteur invalide.
    36 Paramètre 'email' invalide E-mail de l'acheteur invalide.
    37 Paramètre 'zipCode' invalide Code postal de l'acheteur invalide.
    38 Paramètre 'cellPhoneNumber' invalide Numéro de téléphone mobile de l'acheteur invalide.
    50 Paramètre 'shopId' invalide Identifiant boutique mal renseigné.
    51 Paramètre 'submissionDate' invalide Date et heure UTC de la transaction non renseignées.
    66 Paramètre 'contractNumber' invalide Numéro de contract commerçant invalide.
    82 Paramètre 'initialAmount' invalide Montant initial de l'abonnement invalide (inférieur à 0).
    83 Paramètre 'initialAmountNumber' invalide

    Nombre d’échéances auxquelles il faut appliquer le montant initialAmount.

    Cet attribut est obligatoire si initialAmount est valorisé.

    84 Paramètre effectDate' invalide Date d'effet de l'abonnement invalide. La date ne peut pas être dans le passé.
    85 Paramètre commission' invalide Paramètre non renseigné et obligatoire pour le Boleto au Brésil.
    90 Paramètre 'enrolled' invalide Statut de l'enrôlement du porteur est invalide
    92 Paramètre 'eci' invalide Indicateur de commerce electronique invalide
    93 Paramètre 'xid' invalide Numéro de transaction 3DS invalide
    94 Paramètre 'cavv' invalide Certificat de l'ACS invalide
    95 Paramètre 'cavvAlgorithm' invalide Algorithme de vérification de l'authentification du porteur (cavv) invalide
    96 Paramètre 'brand' invalide Réseau de la carte invalide
    101 Paramètre 'paymentOptionCode' invalide Code de l'option invalide.
    102 Paramètre 'paymentOptionCode (invalid date)' invalide Date de validité de l'option de paiement invalide.
    103 Paramètre 'amount/optionCode (inconsistency)' invalide Code de l'option de paiement incohérent vis-à-vis du montant.
    104 Paramètre 'optionCode (not found) ' invalide Code de l'option de paiement inconnu.
Exemple : Adresse e-mail manquante pour une opération où elle doit être renseignée.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">   
	<env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope">
		<shopId xmlns="http://v5.ws.vads.lyra.com/Header/">12345678</shopId>
		<requestId xmlns="http://v5.ws.vads.lyra.com/Header/">222e970d-9c8b-466f-b672-7d830af18a8c</requestId>
		<timestamp xmlns="http://v5.ws.vads.lyra.com/Header/">2015-04-01T09:41:11Z</timestamp>
		<mode xmlns="http://v5.ws.vads.lyra.com/Header/">TEST</mode>
		<authToken xmlns="http://v5.ws.vads.lyra.com/Header/">HW4+kJDlErT3g2z5KnUEjFxBPsg9NTjR6QOsXjfsKvk=</authToken>
	</env:Header>
	<soap:Body>
		<ns2:createTokenResponse xmlns:ns2="http://v5.ws.vads.lyra.com/">
			<createTokenResult>
				<requestId>222e970d-9c8b-466f-b672-7d830af18a8c</requestId>
				<commonResponse>
					<responseCode>2</responseCode>
					<responseCodeDetail>Error param 36: email</responseCodeDetail>
				</commonResponse>
				<authorizationResponse/>
			</createTokenResult>
		</ns2:createTokenResponse>
	</soap:Body>
</soap:Envelope>

  • 3 - Requête non traitée

    Indique que la requête n'a pu être traitée.

    Dans la réponse un complément d'informations est retourné pour plus de détails.

    Exemple :

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    	<env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope"/>
    	<soap:Body>
    		<ns2:updatePaymentDetailsResponse xmlns:ns2="http://v5.ws.vads.lyra.com/">
    			<updatePaymentDetailsResult>
    				<requestId>024a5593-8537-46cf-afc3-fabb7c76bc97</requestId>
    				<commonResponse>
    					<responseCode>3</responseCode>
    						<responseCodeDetail>Bad Request[Détails du non traitement de la requête]</responseCodeDetail>
    				</commonResponse>
    				<paymentResponse/>
    				<orderResponse/>
    				<cardResponse/>
    				<authorizationResponse/>
    				<captureResponse/>
    				<customerResponse/>
    				<markResponse/>
    				<threeDSResponse/>
    				<extraResponse/>
    				<fraudManagementResponse/>
    				<shoppingCartResponse/>
    			</updatePaymentDetailsResult>
    		</ns2:updatePaymentDetailsResponse>
    	</soap:Body>
    </soap:Envelope>

  • 25 - Numéro de contrat inconnu

    Indique un défaut au niveau du contrat commerçant.

    Plusieurs cas possibles :

    • La valeur transmise dans la requête ne correspond à aucun contrat enregistré sur la boutique (shopId),
    • Il n’y a pas de contrat associé à la boutique,
    • Le contrat spécifié est clôturé,
    • Aucun contrat ne correspond au type de contrat nécessaire pour effectuer le paiement. C’est le cas si vous ne possédez pas de contrat acceptant le paiement manuel et que paymentSource est valorisé à MOTO, CC ou OTHER dans votre requête.

  • 35 - Alias non créé

    Indique que l'alias n'a pas été créé.

    Le motif du refus est donné dans l'attribut result de l'objet authorizationResponse.

    Reportez-vous au chapitre Gérer les codes de retour d'une demande d'autorisation pour plus de détails.

    Exemple :
    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    	<env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope">
    		<shopId xmlns="http://v5.ws.vads.lyra.com/Header/">12345678</shopId>
    		<requestId xmlns="http://v5.ws.vads.lyra.com/Header/">8fbf0b7a-c5bd-419d-b14d-23bf557c6139</requestId>
    		<timestamp xmlns="http://v5.ws.vads.lyra.com/Header/">2015-04-01T09:47:58Z</timestamp>
    		<mode xmlns="http://v5.ws.vads.lyra.com/Header/">TEST</mode>
    		<authToken xmlns="http://v5.ws.vads.lyra.com/Header/">DjY7Jr+a+7jzqD4FtYj7MflmVc8o/8QDPZkJdFSNk/k=</authToken>
    	</env:Header>
    	<soap:Body>
    		<ns2:createTokenResponse xmlns:ns2="http://v5.ws.vads.lyra.com/">
    			<createTokenResult>
    				<requestId>8fbf0b7a-c5bd-419d-b14d-23bf557c6139</requestId>
    				<commonResponse>
    					<responseCode>35</responseCode>
    					<responseCodeDetail>PaymentToken creation declined</responseCodeDetail>
    				</commonResponse>
    				<authorizationResponse>
    					<result>51</result>
    				</authorizationResponse>
    			</createTokenResult>
    		</ns2:createTokenResponse>
    	</soap:Body>
    </soap:Envelope>

  • 36 - Attribut 'paymentToken' purgé

    Au delà de 15 mois de non utilisation d'un alias, les données du titulaire du moyen de paiement sont purgées (référentiel de sécurité PCI DSS - sécurité et protection des données bancaires).

  • 40 - Montant non autorisé

    Indique que le montant de la requête de création ou de remboursement de paiement n’est pas conforme aux montants minimum / maximum définis sur le contrat commerçant.

    Vous pouvez vous rapprocher du service clients pour connaitre les détails de votre contrat.

  • 99 - Erreur technique

    Ce code d'erreur est retourné en cas d'une erreur technique interne.

    Pour plus de renseignements, veuillez contacter le support technique.

Exemple : Adresse e-mail manquante pour une opération où elle doit être renseignée.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
	<env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope">
		<shopId xmlns="http://v5.ws.vads.lyra.com/Header/">12345678</shopId>
		<requestId xmlns="http://v5.ws.vads.lyra.com/Header/">ca3d38d5-0344-461c-9f52-192482e09bda</requestId>
		<timestamp xmlns="http://v5.ws.vads.lyra.com/Header/">2015-04-01T09:47:58Z</timestamp>
		<mode xmlns="http://v5.ws.vads.lyra.com/Header/">TEST</mode>
		<authToken xmlns="http://v5.ws.vads.lyra.com/Header/">d3W/6dtIebGUpReqzrS40KHEImEway6ixrpn05pSGLY=</authToken>
	</env:Header>
	<soap:Body>
		<ns2:createTokenResponse xmlns:ns2="http://v5.ws.vads.lyra.com/">
			<createTokenResult>
				<requestId>ca3d38d5-0344-461c-9f52-192482e09bda</requestId>
				<commonResponse>
					<responseCode>99</responseCode>
				</commonResponse>
				<authorizationResponse>
					<result>96</result>
				</authorizationResponse>
			</createTokenResult>
		</ns2:createTokenResponse>
	</soap:Body>
</soap:Envelope>