public PaymentInfo validatePayment(String cypheredtxt) throws ServiceException {
try {
LOGGER.info("CA call preparation for payment validation");
SIPSApiWeb api = new SIPSApiWeb(getPaymentInitFile());
// Initialisation de l'objet reponse
SIPSDataObject resp = (SIPSDataObject) new SIPSResponseParm();
// Recuperation de la variable cryptee postee
// Decryptage de la reponse
resp = api.sipsPaymentResponseFunc(cypheredtxt);
String orderId = resp.getValue("order_id");
LOGGER.debug("orderId ="+orderId);
String authorisationId = resp.getValue("authorisation_id");
LOGGER.debug("authorisationId ="+authorisationId);
/*
00 Autorisation accepte?e
02 demande d�autorisation par te?le?phone a? la banque a? cause d�un
de?passement de plafond d�autorisation sur la carte
03 � Champ merchant_id invalide, ve?rifier la valeur renseigne?e
dans la reque?te
� Contrat de vente a? distance inexistant, contacter votre
banque.
05 Autorisation refuse?e
12 Transaction invalide, ve?rifier les parame?tres transfe?re?s dans la
reque?te.
17 Annulation de l�internaute
30 Erreur de format.
34 Suspicion de fraude
75 Nombre de tentatives de saisie du nume?ro de carte de?passe?.
90 Service temporairement indisponible
*/
String bankResponseCode = resp.getValue("response_code");
LOGGER.debug("bankResponseCode ="+bankResponseCode);
String transactionId = resp.getValue("transaction_id");
LOGGER.debug("transactionId ="+transactionId);
Order pendingOrder = Portal.getInstance().getPricingService().getOrder(Long.valueOf(orderId));
LOGGER.debug("pendingOrder ="+pendingOrder);
//payment authorized