Processo di autorizzazione

L'autorizzazione al pagamento è un processo attraverso il quale viene verificato l'importo da pagare su un metodo di pagamento.

In caso di carte di credito, l'autorizzazione comporta in particolare il contatto con il sistema di pagamento e il blocco dell'importo richiesto di fondi contro la carta di credito. I tipi di pagamento possono o non possono richiedere questa fase di autorizzazione. Questo è configurabile in Sterling™ Order Management System nella regola di pagamento dei venditori. Se un ordine richiede l'elaborazione del pagamento, l'ordine non viene ritirato per la pianificazione o altre elaborazioni fino a quando non viene autorizzato.

La transazione a tempo di incasso analizza un ordine per creare richieste di autorizzazione. La transazione a tempo di esecuzione del pagamento monitora le richieste create per l'autorizzazione e fornisce le uscite dell'utente per eseguire l'autorizzazione. L'uscita utente può elaborare la richiesta di autorizzazione in uno dei seguenti modi:

  • Eseguire l'elaborazione sincrona per eseguire immediatamente l'autorizzazione interfacciandosi con un database dei crediti e restituire l'importo autorizzato.
  • Effettuare una richiesta per riprovare in un secondo momento se l'interfaccia per il sistema di pagamento non è utilizzabile.
  • Richiedere l'elaborazione asincrona, il che significa che la console non contatta mai il sistema di pagamento per questo ordine.

A seconda della risposta dal sistema di pagamento esterno, possono essere generati diversi eventi per gestire la risposta in maniera appropriata all'interno di Sterling Order Management System. Per maggiori dettagli sugli eventi disponibili, vedere le API di elaborazione dei pagamenti in IBM Sterling® Order Management: Javadoc.

Una volta ricevuta l'autorizzazione, o una volta che l'ordine è stato pre-autorizzato sul front-end per l'intero importo dell'ordine, la transazione di riscossione del pagamento cambia lo stato del pagamento in AUTHORIZED.

Un record CHARGE con un'autorizzazione di negative OPEN_AUTHORIZED_AMOUNT è considerato un'autorizzazione consumata. Se questo CHARGE è fallito e il record della transazione di addebito è STATUS = 'ERROR', il sistema non riutilizza questa autorizzazione.

La condizione per contrassegnare un record di transazione di addebito come ERROR è quando YFSExtnPaymentCollectionInputStruct.requestAmount e YFSExtnPaymentCollectionOutputStruct.authorizationAmount non corrispondono e YFSExtnPaymentCollectionOutputStruct.holdOrderAndRaiseEvent è vero.
Evitare lo stato di ERRORE
Se si verifica un problema al gateway di pagamento e YFSExtnPaymentCollectionOutputStruct.authorizationAmount non viene popolato, lanciare un'eccezione dall'uscita dell'utente e lasciare che la transazione di addebito venga registrata nello stato OPEN e lo stato di uscita dell'utente sia INVOKED. Utilizzare quindi YFSValidateInvokedCollectionUE per elaborare il record in un secondo momento.