Integration Types
Altre funzionalità
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Un ordine è il concetto utilizzato da Mastercard Gateway per collegare tutte le transazioni correlate a una sola istanza di una vendita tra l'esercente e il pagante. Il suo scopo è sostanzialmente quello di rappresentare il classico ordine cartaceo, in cui l'esercente vende merce ai clienti. Pertanto presenta tutti i dati normalmente presenti negli ordini — le voci relative alla merce acquistata, chi ha pagato e con quale modalità, l'indirizzo di spedizione e, soprattutto, l'importo pagato.
Un ordine può includere una o più transazioni. Alcuni ordini prevedono una sola transazione, un "acquisto" in cui i beni vengono pagati interamente e inviati immediatamente. Altri prevedono due transazioni: una "autorizzazione", in cui si verifica che sul conto corrente bancario del pagante sia disponibile un importo sufficiente e si riserva la quota e un'"acquisizione", in cui si trasferisce la quota dal conto del pagante a quello dell'esercente. Il modello di autorizzazione/acquisizione viene generalmente utilizzato quando non è possibile garantire che i beni vengano inviati quando richiesto dal pagante. In alcune situazioni potrebbe essere necessario anche rimborsare parte o tutti i soldi dell'ordine o inviare i beni in più consegne parziali. Tutti questi spostamenti di soldi rappresentano transazioni di un unico ordine.
Quando si utilizza Mastercard Gateway, generalmente si forniscono tutte le informazioni relative all'ordine nella transazione iniziale — i dettagli di fatturazione, di spedizione, di pagamento, l'intero importo e così via. Nelle transazioni successive, ad esempio Capture, Refund o Void, non sarà necessario ripetere questi dati ma solo fare riferimento all'ordine originale. Se ad esempio si desidera eseguire un rimborso, è sufficiente fornire l'identificativo dell'ordine e l'importo da rimborsare e il gateway fornirà tutti i dettagli necessari alla banca per spostare i soldi.
Mastercard Gateway ha un solo identificativo univoco che usa per identificare un ordine specifico inviato all'esercente. È necessario assegnare l'identificativo come parte della prima transazione dell'ordine. Questo identificativo è denominato order.id
(specificato come orderID
nell'URL per REST). È consigliabile fornire al gateway la chiave naturale per l'ordine utilizzata all'interno del sistema, ad esempio l'ID del carrello della spesa o il numero di fattura. In questo modo è più semplice tenere traccia della transazione tra il sistema e il gateway. Il gateway prova inoltre a utilizzare l'identificativo order.id
nei messaggi dell'acquirer. In questo modo tutti e tre i sistemi — quello dell'esercente, il gateway e la banca dell'esercente — saranno collegati da un identificativo comune. Questa situazione ideale potrebbe tuttavia non essere realizzabile, a causa di limitazioni dei vari sistemi.
L'identificativo dell'ordine potrebbe non essere adatto come riferimento nel sistema in uso. Ad esempio, se il sistema aggiorna gli ID degli ordini o raggruppa più offerte in un unico ordine, l'identificativo dell'ordine non sarà idoneo. In questo caso, è possibile specificare un valore aggiuntivo, order.reference
, per tenere traccia della transazione tra il sistema e Mastercard Gateway.
Il gateway deve passare un identificativo all'acquirer. Proverà a utilizzare l'identificativo dell'ordine, possibilmente insieme all'identificativo della transazione (vedere di seguito). Tuttavia, se l'identificativo non è idoneo per l'acquirer, il gateway lo trasformerà in un valore idoneo. In tutti i casi, il gateway restituisce l'identificativo utilizzato nel campo transaction.acquirer.transactionId
.
Se tuttavia si desidera controllare il valore fornito dal gateway all'acquirer, allora sarà possibile specificare un valore transaction.acquirer.transactionId
nella richiesta.
Se tuttavia si desidera controllare il valore fornito dal gateway all'acquirer, è possibile fornire un valore in transaction.acquirer.transactionId
.
Riferimento API per l'identificativo dell'ordine per l'acquirer[REST][NVP]
order.id
e uno o entrambi i valori order.reference
e transaction.acquirer.transactionId
per ottenere un elevato grado di controllo sull'identità in ciascun sistema.Mastercard Gateway ha un identificativo univoco che usa per identificare ogni transazione all'interno dell'ordine. Questo identificativo è denominato transaction.id
(specificato come transactionID
nell'URL per REST). Di solito non si dispone di una chiave naturale, ma nel caso in cui sia presente è preferibile utilizzarla. In caso contrario, è utilizzabile un numero sequenziale o casuale.