Integration Types
Altre funzionalità
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Come primo passo, verificare la connettività ai servizi Mastercard Gateway.
Prima di iniziare l'integrazione, è necessario conoscere i valori dei campi che richiedono un'immissione.
la creazione del corpo della richiesta è un passaggio critico dell'integrazione.
Molti elementi concorrono a rendere sicuro l'invio del corpo della richiesta di transazione a Mastercard Gateway.
Dopo aver inviato un batch, è possibile richiederne periodicamente lo stato per stabilirne lo stato corrente di elaborazione.
Al termine dell'elaborazione di un batch, è possibile richiedere un file di risposta con il risultato di ogni operazione caricata.
Il test consente di verificare che l'integrazione funzioni nel modo desiderato.
Si, è possibile utilizzare più profili esercente in un'unica richiesta batch, se si riesce a garantire che le credenziali dell'operazione (identificativo esercente e password di autenticazione) per ciascuna riga del record dell'operazione siano valide per l'autenticazione e l'autorizzazione.
Per impostazione predefinita, per ogni operazione di un batch verranno utilizzate le credenziali di autenticazione fornite nell'intestazione della richiesta batch (sia identificativo che password esercente). È possibile scegliere di utilizzare il meccanismo predefinito o fornire credenziali di operazione per ogni riga del record dell'operazione. Nel secondo caso, l'autenticazione dell'operazione utilizzerà le credenziali a livello di operazione e non le credenziali predefinite del batch caricato. Se le credenziali a livello di operazione non sono corrette, il caricamento batch verrà rifiutato.
Nel file batch di esempio riportato di seguito le operazioni VOID
utilizzeranno le credenziali dell'intestazione della richiesta batch, in quanto l'identificativo esercente e la password non sono stati forniti.
merchant,apiPassword,apiOperation,order.id,transaction.id,transaction.amount,transaction.currency, cardDetails.card.number, cardDetails.card.expiry.month,cardDetails.card.expiry.year,card.number,result,error.cause, error.explanation,response.gatewayCode TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104167,TXID1,30,AUD,5123456789012346,05,13,,,,, TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104168,TXID1,30,AUD,5123456789012346,05,13,,,,, TESTMERCHANT,<TESTMERCHANT_API_PASSWORD>,PAY,921830104169,TXID1,100,AUD,345678901234564,05,13,,,,, ,,VOID,1256378915689,TXID1,100,AUD,4987654321098769,05,13,,,,, ,,VOID,1256378915690,TXID1,100,AUD,4987654321098769,05,13,,,,, ,,VOID,1256378915691,TXID1,100,AUD,4987654321098769,05,13,,,,,
L'invio di un batch può non riuscire a causa delle condizioni di errore riportate di seguito.
Scenario | Messaggio di errore |
---|---|
Batch incompleto in quanto il digest del messaggio SHA-1 non corrisponde | L'invio del batch non è riuscito per uno dei motivi elencati di seguito.
|
Nome batch duplicato
|
Invio del batch non riuscito: un batch con lo stesso nome è attualmente in fase di caricamento o un batch con lo stesso nome ma contenuto diverso è stato già caricato. Se il file è già in fase di caricamento, attendere il completamento. Se si utilizza un nome file già presente, rinominare il file e riprovare. |
Se non si dispone di privilegi sufficienti per l'invio di batch, viene restituito un errore di autenticazione:
|
Autenticazione non riuscita: le credenziali fornite nel record <record number> non sono corrette. Questa situazione può essere causata da:
|
Viene restituito un errore di autenticazione se si fornisce solo la password senza un ID esercente a livello di operazione. | Autenticazione non riuscita. Nel record <record number> del file batch viene fornita una password ma non un ID esercente. Aggiungere un ID esercente o rimuovere la password per utilizzare le credenziali esercente a livello batch per questo record, quindi provare a inviare nuovamente la richiesta. |
Viene restituito un errore di autenticazione se le credenziali batch vengono formattate in modo non corretto. | Autenticazione non riuscita: le credenziali fornite nell'intestazione presentano una delle seguenti caratteristiche:
|
Viene restituito un errore di autenticazione se:
|
Autenticazione non riuscita: Le credenziali fornite per il batch non sono valide. Correggere le credenziali e provare a inviare nuovamente la richiesta |
Viene restituito un errore di analisi se l'intestazione contiene caratteri non validi. | Invio del batch non riuscito: non è stato possibile analizzare il batch poiché l'intestazione conteneva un carattere non valido. I caratteri consentiti sono:
|
Viene restituito un errore di analisi se un riga di un record di operazione contiene più valori di quelli definiti nell'intestazione. | Invio del batch non riuscito: non è stato possibile analizzare il batch poiché il record <record number> conteneva più valori di quelli definiti nell'intestazione. Correggere il batch e tentare nuovamente l'invio. |
Viene restituito un errore di analisi se viene superata la dimensione massima dei singoli campi o se un record di operazione si è verificato un errore di analisi non noto. | Invio del batch non riuscito: non è stato possibile analizzare il batch s causa di un errore nel record <record number> . Accertarsi che il batch sia conforme al formato file e che si stia utilizzando la codifica corretta, quindi provare a inviare nuovamente il batch. |
Viene restituito un errore di codifica se non è stata fornita una codifica o è stata fornita una codifica non supportata. | Richiesta non riuscita: la codifica fornita non è supportata. Le codifiche supportate sono UTF-8 e LATIN1. Inviare nuovamente la richiesta utilizzando una codifica supportata. |
Non è stato possibile trovare il batch | Richiesta non riuscita: impossibile trovare un batch con questo nome. Correggere il nome batch e inviare nuovamente la richiesta. |
Il controllo della lunghezza per la versione fornita non è riuscito. | Richiesta non riuscita: la versione fornita non è valida. Correggere la versione e inviare nuovamente la richiesta. |
Il controllo della lunghezza per il nome batch fornito non è riuscito. | Richiesta non riuscita: il nome batch fornito non è valido. Correggere il nome batch e inviare nuovamente la richiesta. |
Il controllo della lunghezza per L'ID esercente non è riuscito. | Richiesta non riuscita: l'ID esercente fornito non è valido. Correggere l'ID esercente e inviare nuovamente la richiesta. |
Si è verificato un errore del gateway | Non è stato possibile inviare la richiesta al gateway per un errore interno del gateway. Riprovare più tardi. |
L'elaborazione delle operazioni da parte di Batch può non riuscire a causa di errori di comunicazione o di sistema che determinano uno degli errori elencati di seguito:
Quando si verifica questa situazione e un'operazione è reversibile, Batch proverà a inviare nuovamente l'operazione per l'elaborazione fino a quando non si riceve una risposta irreversibile sull'operazione o viene raggiunto il limite di tentativi.
Batch archivia i nomi batch e il codice MIC (Message Integrity Code) caricato dall'esercente. I batch con un nome batch inviato precedentemente ma con contenuto diverso sono identificabili e vengono rifiutati da Batch.
Anche i batch con nome e contenuto uguali a un batch inviato precedentemente possono essere identificati e Batch restituisce lo stesso stato del batch caricato precedentemente. Pertanto, se l'esercente ha il sospetto che si sia verificato un problema di trasmissione, ha la possibilità di verificare se il batch è stato caricato correttamente in Batch.
I valori nella riga di intestazione di una richiesta batch inviata per l'elaborazione possono contenere solo caratteri che possono trovarsi nei nomi di campo NVP di DirectAPI. Sono consentiti i seguenti caratteri:
Batch rifiuta un batch se vengono rilevati errori di analisi. L'analisi include la suddivisione del batch in righe e delle righe in campi.
Un errore di analisi si può verificare quando:
È necessario correggere questi errori prima di inviare nuovamente il batch per l'elaborazione.
Il servizio Batch non garantisce che le operazioni verranno elaborate nello stesso ordine specificato nel file batch in quanto il dispatcher Batch può elaborare le operazioni in parallelo. Questo comportamento può anche essere attribuito alla funzione retry, ovvero se alcune operazioni in un file batch richiedono un nuovo tentativo, le operazioni pronte verranno elaborate per prime, indipendentemente dall'ordine con cui sono state specificate. Ad esempio, anche se le operazioni successive vengono specificate dopo le operazioni iniziali (Capture seguita da Authorization, Void seguita da Pay), Capture può essere eseguita prima di Authorization o Void può essere eseguita prima di Pay.
Pertanto, per le operazioni che devono rispettare un ordine rigoroso, è consigliabile eseguire prima il batch iniziale di operazioni, attendere il file di risposta del batch e, in caso di esito positivo, passare al batch successivo di operazioni.
Tokenization archivia i dettagli delle carte in un token. Per utilizzare Tokenization con Batch è necessario utilizzare l'identificativo del token nel file batch, come mostrato di seguito.
apiOperation,cardDetails.card.number,cardDetails.card.expiry.month,cardDetails.card.expiry.year,cardDetails.card.securityCode,cardDetails.cardToken,transaction.amount,transaction.currency,transaction.id,transaction.authorizationCode,order.id,card.start.month,card.start.year,card.issueNumber,card.bankAccountType
AUTHORIZE,,,,,200,10,AUD,TXID1,,10323711802,,,,
AUTHORIZE,,,,,300,20,AUD,TXID1,,10323711803,,,,
AUTHORIZE,,,,,400,10,AUD,TXID1,,10323711804,,,,
AUTHORIZE,,,,,500,5.99,AUD,TXID1,,10323711805,,,,
Le credenziali di operazione includono identificativo e password dell'esercente. Per impostazione predefinita, per ogni operazione di un batch vengono utilizzate le credenziali di autenticazione fornite nell'intestazione della richiesta batch (sia identificativo che password esercente). Tuttavia, se non si specificano valori per entrambi questi campi nelle righe dei record di operazione, per l'autenticazione dell'operazione verranno automaticamente utilizzate le credenziali a livello di operazione e non le credenziali del batch caricato.
Sì, è possibile elaborare più tipi di operazione in un singolo file batch a condizione che NON si riferiscano allo stesso ordine, ad esempio non contengano lo stesso identificativo di ordine. Il servizio Batch non garantisce che le operazioni verranno elaborate nello stesso ordine specificato nel file batch in quanto il dispatcher Batch può elaborare le operazioni in parallelo. Questo comportamento può anche essere attribuito alla funzione retry, ovvero se alcune operazioni in un file batch richiedono un nuovo tentativo, le operazioni pronte verranno elaborate per prime, indipendentemente dall'ordine con cui sono state specificate. Se, ad esempio, le operazioni Pay e Void si trovano nello stesso file batch, è possibile eseguire Void prima di Pay. Se, tuttavia, le operazioni NON si riferiscono allo stesso ordine (ad esempio, contengono identificativi di ordine differenti), è possibile includere più tipi di operazione in un singolo file batch.
Sì, è possibile utilizzare più origini dei dettagli della carta in un singolo file batch, ad eccezione dell'identificativo della sessione di pagamento. Per informazioni sulle origini multiple, vedere Più origini dei dettagli della carta.
Le operazioni di autorizzazione nel codice di esempio che segue utilizzano i token anziché i dettagli della carta.
apiOperation,order.id,transaction.id,transaction.amount,transaction.currency,cardDetails.card.number,cardDetails.card.expiry.month,cardDetails.card.expiry.year,card.number,cardDetails.cardToken,result,error.cause,error.explanation,response.gatewayCode
PAY,921830104167,TXID1,30,AUD,5123456789012346,05,13,,,,,,
PAY,921830104168,TXID1,50,AUD,5123456789012346,05,13,,,,,,
PAY,921830104169,TXID1,100,AUD,4987654321098769,05,13,,,,,,
AUTHORIZE,10072028281,TXID1,,,,,,,200,,,,,
AUTHORIZE,10072028282,TXID1,,,,,,,300,,,,,
AUTHORIZE,10072028283,TXID1,,,,,,,400,,,,,