Integration Types
Altre funzionalità
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Mastercard Gateway è in grado di fornire il calcolo del tasso di cambio in tempo reale di un provider DCC su beni e servizi con prezzi espressi nella valuta preferita. È possibile offrire questo tasso di cambio al pagante, che potrà quindi scegliere se pagare nella valuta preferita dall'esercente o nella valuta della carta. Il vantaggio per i titolari delle carte è quello di sapere, al momento dell'acquisto, l'importo esatto che verrà loro addebitato, espresso nella propria valuta.
Il Mastercard Gateway attualmente supporta:
L'applicazione della conversione DCC a una transazione prevede quattro scenari di base che si escludono a vicenda:
È possibile richiedere un calcolo del tasso di cambio fornendo i dati per i campi seguenti nella richiesta Richiesta opzioni di pagamento (apiOperation=PAYMENT_OPTIONS_INQUIRY
):
order.amount
.order.currency
.paymentType
. Se specificato, deve essere impostato su CREDIT
.currencyConversion.gatewayCode=UNSUPPORTED_CARD_BRAND
.Quando si chiama l'operazione Richiesta opzioni di pagamento utilizzando il protocollo REST, verificare che i parametri della richiesta siano inclusi nell'URI (come parametri di query) e non in un corpo JSON. Di seguito è riportata una richiesta REST di esempio in curl per un calcolo del tasso di cambio DCC.
curl --user merchant.TESTMERCHANT-DCC:<PASSWORD>"https://eu-gateway.mastercard.com/api/rest/version/72/merchant/TESTMERCHANT-DCC/paymentOptionsInquiry?order.amount=123.34&order.currency=USD&sourceOfFunds.provided.card.prefix=531335999"
Mastercard Gateway restituisce le informazioni seguenti sull'offerta DCC. Alcuni di questi dati verranno inclusi nelle informazioni mostrate al pagante nella pagina di pagamento o sul terminale PED, in linea con i requisiti legislativi e del circuito della carta.
currencyConversion.gatewayCode
:
QUOTE_PROVIDED
: il tasso fornito.NOT_ELIGIBLE
: la conversione DCC non è disponibile per questa carta e/o valuta.UNSUPPORTED_CARD_BRAND
: il marchio della carta non è supportato.INSUFFICIENT_INFORMATION
: nella richiesta mancano alcuni campi obbligatori.ERROR
: il provider DCC non è in grado di elaborare l'operazione.currencyConversion.provider
: il nome del provider per il calcolo del tasso DCC.currencyConversion.providerCode
: il codice generato dal provider DCC che riepiloga l'esito positivo o negativo della richiesta di calcolo del tasso DCC.currencyConversion.providerReceipt
: il riferimento univoco del provider DCC per il calcolo del tasso di cambio (non sempre fornito).currencyConversion.exchangeRateSource
: l'agenzia dei dati finanziari utilizzata come fonte per il tasso di cambio.currencyConversion.payerExchangeRate
: il tasso di cambio utilizzato per convertire l'importo della transazione nella valuta del pagante. Include anche currencyConversion.marginPercentage
. currencyConversion.payerAmount
: l'importo totale dell'ordine della transazione nella valuta del pagante.currencyConversion.payerCurrency
: la valuta del calcolo del tasso di cambio DCC specificata dal provider DCC.currencyConversion.marginPercentage
: il markup del tasso di cambio applicato come percentuale all'importo della transazione per l'erogazione del servizio di conversione.currencyConversion.exchangeRateTime
: la data/ora di validità del tasso di conversione.currencyConversion.quoteExpiry
: la data/ora di scadenza del tasso DCC offerto (non sempre specificate).currencyConversion.offerText
: frammento HTML contenente un modulo di immissione per l'offerta DCC. Deve essere presentato al pagante per raccogliere la scelta. currencyConversion.requestId
: identificativo univoco per la richiesta di calcolo del tasso DCC restituito nella risposta PAYMENT_OPTIONS_INQUIRY.Riferimento API per la richiesta delle opzioni di pagamento[REST][NVP]
Se si ottiene un calcolo del tasso di cambio dal provider DCC (currencyConversion.gatewayCode=QUOTE_PROVIDED
), è possibile creare un'offerta di conversione della valuta per il pagante.
Visa e Mastercard prevedono requisiti specifici per la visualizzazione delle informazioni DCC ai paganti allo scopo di garantire loro le informazioni di cui hanno bisogno per poter prendere decisioni consapevoli, tra cui i dettagli su tariffe e spese nell'offerta DCC e nella ricevuta della transazione (se il pagante accetta l'offerta).
Principi fondamentali delle regole DCC:
Il testo dell'offerta viene fornito in paymentTypes.card.currencyConversion.offerText
. È possibile specificare la lingua per il testo dell'offerta impostando locale=<Valid language identifier or IETF language tag of payer's locale>
(ad esempio en
per l'inglese, pt-BR
per il portoghese brasiliano, es-MX
per lo spagnolo messicano).
Il testo dell'offerta in formato HTML specifico della lingua viene restituito in paymentTypes.card.currencyConversion.offerText
per le seguenti lingue supportate:
Se la lingua non è supportata, Mastercard Gateway fornirà un test di offerta in base al seguente schema:
interaction.locale
, o se la lingua fornita e la lingua di base non sono supportate, Mastercard Gateway proverà a utilizzare la lingua predefinita configurata. Se tale lingua e la lingua di base non sono supportate, l'offerta verrà presentata in en_US
.A questo punto, il pagante può:
Accettare l'offerta DCC e scegliere di pagare nella valuta della carta.
In questo caso, si avvierà una richiesta di transazione con i parametri seguenti:
currencyConversion.requestId
così come restituito nella risposta da Mastercard Gateway.currencyConversion.uptake=ACCEPTED.
Fornire al pagante il testo di ricevuta fornito in paymentTypes.card.currencyConversion.receiptText
nella risposta RETRIEVE_TRANSACTION
. Usa la stessa lingua del testo dell'offerta.
Rifiutare l'offerta DCC e scegliere di pagare nella valuta dell'ordine (currencyConversion.uptake=DECLINED
).
In questo caso, si avvierà una richiesta di transazione con i parametri seguenti:
currencyConversion.requestId
così come restituito nella risposta da Mastercard Gateway.currencyConversion.uptake=DECLINED.
Se si riceve uno dei parametri seguenti nella risposta Richiesta opzioni di pagamento:
currencyConversion.gatewayCode=UNSUPPORTED_CARD_BRAND
currencyConversion.gatewayCode=NOT_ELIGIBLE
currencyConversion.gatewayCode=ERROR
È necessario impostare currencyConversion.uptake=NOT_AVAILABLE
nella richiesta di transazione e fornire il currencyConversion.requestId
corretto.
Questo consente al provider del servizio DCC di utilizzare i dati a scopo di analisi e creazione di report.
Se è stato ottenuto un tasso di cambio esternamente a Mastercard Gateway, è necessario fornire esplicitamente i dettagli DCC restituiti all'esercente nella richiesta di transazione dal provider DCC.
Riferimento API per l'immissione della conversione della valuta [REST][NVP]
I dettagli DCC devono essere forniti nella richiesta di transazione Authorize. I dettagli DCC si applicano alle acquisizioni dell'ordine.
Per un'acquisizione completa verranno utilizzati i dettagli DCC della richiesta Authorize.
Per le acquisizioni parziali o in eccesso, Mastercard Gateway calcola l'importo in proporzione alla percentuale.
Riferimento API per la conversione della valuta per le acquisizioni [REST][NVP]
Se è stato configurato il servizio DCC dalla propria organizzazione di servizi agli esercenti in Mastercard Gateway, questa configurazione viene applicata a tutti i rimborsi successivi.
Opzioni di configurazione:
CURRENT
: è necessario un nuovo calcolo del tasso di cambio per fornire il tasso effettivo alla data della transazione di rimborso.HISTORICAL
: al rimborso verrà applicato il tasso utilizzato al momento della creazione dell'ordine.Se currencyConversion.uptake=ACCEPTED
per la transazione iniziale:
CURRENT
:
currencyConversion.requestId
. Il nuovo calcolo del tasso di cambio verrà applicato al rimborso. currencyConversion.uptake=ACCEPTED
.HISTORICAL
:
currencyConversion.payerAmount
per il rimborso.currencyConversion.payerAmount
della transazione iniziale verrà fornito in proporzione alla percentuale dell'importo dell'esercente. Quando viene applicato il criterio della proporzionalità, viene utilizzato l'arrotondamento standard.currencyConversion.uptake=ACCEPTED
.Se currencyConversion.uptake=DECLINED
o NOT_AVAILABLE
o NOT_REQUIRED
per la transazione iniziale:
Se l'autorizzazione e l'acquisizione iniziali vengono elaborate correttamente come transazioni non DCC e si invia una richiesta di rimborso successiva, indipendentemente dalla configurazione dell'esercente:
currencyConversion
nella risposta della transazione di rimborso o nell'operazione Retrieve Transaction.È possibile testare la propria integrazione DCC utilizzando il proprio profilo esercente di prova.