Integration Types
Altre funzionalità
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Il Mastercard Gateway offre il supporto che consente all'esercente di rivestire il ruolo di aggregatore. In questo modo l'esercente può offrire servizi online per l'accettazione di pagamenti elettronici ad altri esercenti (sub-esercenti) per i quali il sub-esercente non deve necessariamente avere una relazione contrattuale né con l'acquirer né con il gateway. Si tratta di un'opzione utile che consente agli esercenti che gestiscono numeri limitati di transazioni di accettare pagamenti online dai paganti ed eseguire rapidamente la configurazione.
Il sub-esercente necessita semplicemente di un accordo contrattuale con l'aggregatore. L'esercente deve gestire la relazione contrattuale con l'acquirer, ricevere i fondi del sub-esercente e trasferirli.
È necessario contattare l'acquirer, che effettuerà la registrazione dell'esercente con i circuiti della carta di credito per configurarlo come aggregatore. L'acquirer potrebbe fornire all'utente un ID e/o un nome dell'aggregatore. Fornire questi dettagli al your payment service provider.
Il Your payment service provider deve configurare il profilo dell'esercente (collegamento all'acquirer dell'esercente) nel gateway di conseguenza.
Quando si invia una transazione per un sub-esercente mediante le operazioni DirectAPI seguenti, è possibile fornire i dettagli del sub-esercente indicati di seguito nel gruppo di parametri order.subMerchant
.
Richieste DirectAPI:
PAY
AUTHORIZE
CAPTURE
REFUND
VERIFY
UPDATE_SESSION
Dettagli sub-esercente:
order.subMerchant.identifier
(obbligatorio se order.subMerchant.tradingName
è fornito)order.subMerchant.registeredName
order.subMerchant.tradingName
(obbligatorio se order.subMerchant.identifier
è fornito)order.subMerchant.bankIndustryCode
order.subMerchant.address.*
campiorder.subMerchant.phone
order.subMerchant.email
Se vengono forniti, verranno restituiti nelle risposte indicate di seguito.
RETRIEVE_TRANSACTION
RETRIEVE_ORDER
RETRIEVE_SESSION
Se il gateway non fornisce il supporto per gli aggregatori per l'acquirer, una richiesta con i dettagli del sub-esercente verrà rifiutata.
I dettagli del sub-esercente si applicano a tutte le transazioni di un ordine. Possono essere forniti solo nelle transazioni iniziali, ad esempio le transazioni che creano un ordine. Se vengono forniti nelle transazioni successive, ovvero quelle relative a un ordine esistente come una richiesta CAPTURE o REFUND, il gateway rifiuta la richiesta.
Per le versioni dell'API inferiori alla 70, se si agisce come aggregatore non è possibile utilizzare la funzionalità Tokenization. Il gateway rifiuta le richieste di transazione con dettagli del sub-esercente per gli esercenti abilitati per Tokenization.
Dalla versione API 70 e successive, se si agisce come aggregatore, è possibile utilizzare la funzionalità Tokenization. Il supporto per la funzionalità Tokenization viene aggiunta alle seguenti operazioni:
TOKENIZE
Create or Update Token
Create or Update Token (system generated token)
DELETE_TOKEN
SEARCH_TOKEN, and
RETRIEVE_TOKEN.
TOKENIZE
Create or Update Token
Create or Update Token (system generated token)
TOKENIZE_BROWSER_PAYMENT, and
RETRIEVE_TOKEN.
Come aggregatore che utilizza la funzionalità Tokenization, è necessario fornire i seguenti dettagli del sub-esercente nel gruppo di parametri subMerchant.
subMerchant
subMerchant.identifier
In qualità di esercente aggregatore, è necessario
Le seguenti funzionalità non sono attualmente disponibili:
Se si desidera offrire ai sub-esercenti la funzionalità Hosted Checkout, è necessario fornire loro un'interfaccia per l'integrazione con Hosted Checkout.
Se si forniscono i dettagli del sub-esercente, è necessario specificare un ID di sessione quando si chiama Checkout.configure()
. Inviare una richiesta DirectAPICREATE_CHECKOUT_SESSION
e includere i dettagli dell'ordine del sub-esercente per generare un ID sessione. Il browser del pagante verrà reindirizzato all'applicazione e sarà necessario reindirizzare il pagante all'applicazione del sub-esercente.
Utilizzare Checkout.configure()
per fornire i dettagli di visualizzazione del sub-esercente, come nome, indirizzo, dettagli di contatto e logo dell'esercente. Questi dettagli sono presentati al pagante durante l'interazione Hosted Checkout.
Per consentire ai sub-esercenti di utilizzare Autenticazione EMV 3-D Secure (3DS2) tramite il gateway, gli aggregatori devono inviare i dettagli relativi al sub-esercente nella richiesta Initiate Authentication
. Quando i dettagli del sub-esercente vengono inviati al gateway, il gateway utilizza i dettagli del sub-esercente anziché i dettagli dell'aggregatore nel messaggio di autenticazione a valle. I campi che devono essere forniti variano in base al circuito. I circuiti supportati includono:
Se l'autenticazione è seguita da un pagamento che utilizza un'operazione Authorize o Pay che fa riferimento all'ID di autenticazione 3DS2, i dettagli del sub-esercente forniti nella richiesta Initiate Authentication
sono utilizzati anche nelle operazioni Authorize/Pay.
Fornire i seguenti dettagli sulla richiesta Initiate Authentication
per il proprio sub-esercente in aggiunta ad altri campi obbligatori elencati nella sezione Initiate Authentication della Guida all'integrazione.
Per visualizzare i campi di risposta chiave per la risposta Initiate Authentication, fare riferimento alla sezione Initiate Authentication nella Guida per l'integrazione.
order.subMerchant.identifier
(obbligatorio per tutti i circuiti 3DS2 supportati)order.subMerchant.tradingName
(obbligatorio per tutti i circuiti 3DS2 supportati)order.subMerchant.bankIndustryCode
(obbligatorio per tutti i circuiti 3DS2 supportati)order.subMerchant.registeredName
order.subMerchant.address.country
(obbligatorio per tutti i circuiti 3DS2 supportati)order.subMerchant.address.*
(altri campi indirizzi)order.subMerchant.phone
order.subMerchant.email
Fornire i seguenti dettagli di configurazione 3DS2 per il proprio sub-esercente. Come prerequisito, è necessario essere abilitati per il rispettivo circuito di autenticazione 3DS2 sul proprio profilo dell'esercente per il quale il sub-esercente può eseguire autenticazioni del pagante 3DS2.
order.subMerchant.websiteUrl
: URL del sito Web del sub-esercente. Se non fornito, verrà utilizzato l'URL del sito Web dal profilo dell'esercente. order.subMerchant.authentication[n].protocol
order.subMerchant.authentication[n].3DS2.requestorId
order.subMerchant.authentication[n].3DS2.requestorName
Per Mastercard SecureCode e Verified By Visa non è necessario fornire i dettagli di autenticazione. L'ID richiedente e il nome del richiedente sono generati dal gateway.
Per Verified by Visa, nei dettagli di autenticazione, fornire solo il protocollo di autenticazione. L'ID richiedente e il nome del richiedente sono generati dal gateway.
Per American Express Safekey, il gateway utilizzerà l'ID richiedente "AGG", che significa Aggregatore. Se American Express lo richiede, è possibile ignorarlo e utilizzarne uno diverso. Il gateway, come altri circuiti, creerà il nome del richiedente.
URL | https://eu-gateway.mastercard.com/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metodo HTTP | PUT |
{ "authentication": { "acceptVersions":"3DS2", "channel": "PAYER_BROWSER", "purpose": "PAYMENT_TRANSACTION" }, "correlationId": "test", "order": { "currency": "USD", "subMerchant": { "authentication":[ { "protocol":"AMEX_SAFEKEY", "3DS2":{ "requestorId":"testRequestorId", "requestorName":"testRequestorName" } } ], "identifier": "123456", "tradingName": "SubmerchantName", "address": { "city": "sydney", "company": "Acme", "country": "AUS" }, "bankIndustryCode": "1234", "registeredName": "SubmerchantRegisteredName" } }, "sourceOfFunds": { "provided": { "card": { "number": "373224999999174" } } }, "apiOperation": "INITIATE_AUTHENTICATION" }
{ "authentication": { "3ds2": { "directoryServerId": "A999999999", "methodCompleted": false, "methodSupported": "SUPPORTED", "protocolVersion": "2.1.0", "requestorId": "testRequestorId", "requestorName": "testRequestorName" }, "acceptVersions": "3DS2", "channel": "PAYER_BROWSER", "purpose": "PAYMENT_TRANSACTION", "redirect": { "customized": { "3DS": { "methodPostData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly9xYTA2LmdhdGV3YXkubWFzdGVyY2FyZC5jb20vY2FsbGJhY2tJbnRlcmZhY2UvZ2F0ZXdheS8xYjZjMmNiYTc3NjMxZDBjNTAxOWM1YzUxMzZmM2ZjZWI4NDZiMGE4ZTFkZmM2Njg2YjA1YWNkZjQxMGZkMWEwIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJmYzBmNDg0OC03MzQzLTQzMDAtOTg2YS05NmQwYmE0MDM0ODUifQ==", "methodUrl": "https://qa06.gateway.mastercard.com/acs/mastercard/v2/method" } } }, "redirectHtml":"<div id=\"initiate3dsSimpleRedirect\" xmlns=\"http://www.w3.org/1999/html\"> <iframe id=\"methodFrame\" name=\"methodFrame\" height=\"100\" width=\"200\"> </iframe> <form id=\"initiate3dsSimpleRedirectForm\" method=\"POST\" action=\"https://qa06.gateway.mastercard.com/acs/mastercard/v2/method\" target=\"methodFrame\"> <input type=\"hidden\" name=\"threeDSMethodData\" value=\"eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly9xYTA2LmdhdGV3YXkubWFzdGVyY2FyZC5jb20vY2FsbGJhY2tJbnRlcmZhY2UvZ2F0ZXdheS8xYjZjMmNiYTc3NjMxZDBjNTAxOWM1YzUxMzZmM2ZjZWI4NDZiMGE4ZTFkZmM2Njg2YjA1YWNkZjQxMGZkMWEwIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJmYzBmNDg0OC03MzQzLTQzMDAtOTg2YS05NmQwYmE0MDM0ODUifQ==\"/> </form> <script id=\"initiate-authentication-script\"> var e=document.getElementById(\"initiate3dsSimpleRedirectForm\"); if (e) { e.submit(); if (e.parentNode !== null) { e.parentNode.removeChild(e); } } </script> </div>", "version": "3DS2" }, "correlationId": "test", "merchant": "TESTMITSUKO_GWS", "order": { "authenticationStatus": "AUTHENTICATION_AVAILABLE", "creationTime": "2022-03-03T02:21:20.043Z", "currency": "USD", "id": "TEST1234", "lastUpdatedTime": "2022-03-03T02:21:19.966Z", "merchantCategoryCode": "1234", "status": "AUTHENTICATION_INITIATED", "subMerchant": { "address": { "city": "sydney", "company": "Acme", "country": "AUS" }, "authentication": [ { "3DS2": { "requestorId": "testRequestorId", "requestorName": "testRequestorName" }, "protocol": "AMEX_SAFEKEY" } ], "bankIndustryCode": "1234", "identifier": "123456", "registeredName": "SubmerchantRegisteredName", "tradingName": "SubmerchantName" }, "totalAuthorizedAmount": 0, "totalCapturedAmount": 0, "totalRefundedAmount": 0 }, "response": { "gatewayCode": "AUTHENTICATION_IN_PROGRESS", "gatewayRecommendation": "PROCEED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "AMEX", "fundingMethod": "CREDIT", "issuer": "AMERICAN EXPRESS US CONSUMER", "number": "373224xxxxx9174", "scheme": "AMEX" } }, "type": "CARD" }, "timeOfLastUpdate": "2022-03-03T02:21:19.966Z", "timeOfRecord": "2022-03-03T02:21:20.043Z", "transaction": { "amount": 0, "authenticationStatus": "AUTHENTICATION_AVAILABLE", "currency": "USD", "id": "123", "type": "AUTHENTICATION" }, "version": "64" }
Fare riferimento a Authenticate Payer per tutte le istruzioni relative al flusso dei sub-esercenti.
URL | https://eu-gateway.mastercard.com/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metodo HTTP | PUT |
{ "correlationId": "foo", "order": { "amount": "100", "currency": "USD" }, "sourceOfFunds": { "provided": { "card": { "number": "373224999999174", "expiry": { "month" : "01", "year" : "39" } } } }, "device": { "browser": "MOZILLA", "browserDetails": { "3DSecureChallengeWindowSize": "FULL_SCREEN", "acceptHeaders": "application/json", "colorDepth": 24, "javaEnabled": true, "language": "en-US", "screenHeight": 640, "screenWidth": 480, "timeZone": 273 }, "ipAddress": "127.0.0.1" }, "apiOperation": "AUTHENTICATE_PAYER" }
{ "authentication": { "3ds": { "acsEci": "05", "authenticationToken": "mHyn+7YFi1EUAREAAAAvNUe6Hv8=", "transactionId": "AgEAAJZvNBiNg0EWkd6ryLVH8ik=" }, "3ds2": { "3dsServerTransactionId": "fc0f4848-7343-4300-986a-96d0ba403485", "acsTransactionId": "ebd1628f-b62a-44f6-bb2d-480359ac3e70", "directoryServerId": "A999999999", "dsTransactionId": "966f3418-8d83-4116-91de-abc8b547f229", "methodCompleted": false, "methodSupported": "SUPPORTED", "protocolVersion": "2.1.0", "requestorId": "testRequestorId", "requestorName": "testRequestorName", "transactionStatus": "Y" }, "payerInteraction": "NOT_REQUIRED", "redirect": { "customized": { "3DS": { "acsUrl": "https://qa06.gateway.mastercard.com/callbackInterface/gateway/3a672661a6b7027834df3e5863e78f02152c7b99b18b0f9ea8bbd30f86323dc2", "cReq": "e30=" } }, "domainName": "qa06.gateway.mastercard.com" }, "redirectHtml":"<div id=\"threedsFrictionLessRedirect\" xmlns=\"http://www.w3.org/1999/html\"> <iframe id=\"challengeFrame\" name=\"challengeFrame\" </iframe> <form id=\"threedsFrictionLessRedirectForm\" method=\"POST\" action=\"https://qa06.gateway.mastercard.com/acs/mastercard/v2/method\" target=\"challengeFrame\"> <input type=\"hidden\" name=\"order.id\" value=\"TEST1234\"/> <input type=\"hidden\" name=\"transaction.id\" value=\"123\"/> input type=\"hidden\" name=\"response.gatewayRecommendation\" value=\"PROCEED\"/> <input type=\"hidden\" name=\"result\" value=\"SUCCESS\"/> </form> <script id=\"authenticate-payer-script\"> </script> var e=document.getElementById(\"threedsFrictionLessRedirectForm\"); if (e) { e.submit(); if (e.parentNode !== null) { e.parentNode.removeChild(e); } } </script> </div>", "version": "3DS2" }, "correlationId": "foo", "device": { "browser": "MOZILLA", "ipAddress": "127.0.0.1" }, "merchant": "TESTMITSUKO_GWS", "order": { "amount": 100.00, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "creationTime": "2022-03-03T02:21:20.043Z", "currency": "USD", "id": "TEST1234", "lastUpdatedTime": "2022-03-03T02:25:30.340Z", "merchantCategoryCode": "1234", "status": "AUTHENTICATED", "subMerchant": { "address": { "city": "sydney", "company": "Acme", "country": "AUS" }, "authentication": [ { "3DS2": { "requestorId": "testRequestorId", "requestorName": "testRequestorName" }, "protocol": "AMEX_SAFEKEY" } ], "bankIndustryCode": "1234", "identifier": "123456", "registeredName": "SubmerchantRegisteredName", "tradingName": "SubmerchantName" }, "totalAuthorizedAmount": 0, "totalCapturedAmount": 0, "totalRefundedAmount": 0, "valueTransfer": { "accountType": "NOT_A_TRANSFER" } }, "response": { "gatewayCode": "APPROVED", "gatewayRecommendation": "PROCEED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "AMEX", "expiry": { "month": "1", "year": "39" }, "fundingMethod": "CREDIT", "issuer": "AMERICAN EXPRESS US CONSUMER", "number": "373224xxxxx9174", "scheme": "AMEX" } }, "type": "CARD" }, "timeOfLastUpdate": "2022-03-03T02:25:30.340Z", "timeOfRecord": "2022-03-03T02:21:20.043Z", "transaction": { "acquirer": { "merchantId": "1234567890" }, "amount": 100.00, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "currency": "USD", "id": "123", "type": "AUTHENTICATION" }, "version": "64" }
Fare riferimento a Uso del risultato dell'autenticazione in un'operazione di pagamento per tutte le istruzioni relative al flusso del sub-esercente.
URL | https://eu-gateway.mastercard.com/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metodo HTTP | PUT |
{ "apiOperation": "AUTHORIZE", "authentication": { "transactionId": "123" }, "order": { "amount": "100", "currency": "USD", "reference": "300" }, "sourceOfFunds": { "provided": { "card": { "number": "373224999999174", "expiry": { "month": "01", "year": "39" } } }, "type": "CARD" }, "transaction": { "source": "INTERNET", "reference": "3600" } }
{ "authentication": { "3ds": { "acsEci": "05", "authenticationToken": "mHyn+7YFi1EUAREAAAAvNUe6Hv8=", "transactionId": "AgEAAJZvNBiNg0EWkd6ryLVH8ik=" }, "3ds2": { "dsTransactionId": "966f3418-8d83-4116-91de-abc8b547f229", "protocolVersion": "2.1.0", "transactionStatus": "Y" }, "transactionId": "123", "version": "3DS2" }, "authorizationResponse": { "posData": "1605S0100130", "transactionIdentifier": "AmexTidTest" }, "device": { "browser": "MOZILLA", "ipAddress": "127.0.0.1" }, "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "TESTMITSUKO_GWS", "order": { "amount": 100.00, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "2022-03-03T02:21:19.948Z", "currency": "USD", "id": "TEST1234", "lastUpdatedTime": "2022-03-03T02:45:56.851Z", "merchantAmount": 100.00, "merchantCategoryCode": "1234", "merchantCurrency": "USD", "reference": "300", "status": "AUTHORIZED", "subMerchant": { "address": { "city": "sydney", "company": "Acme", "country": "AUS" }, "bankIndustryCode": "1234", "identifier": "123456", "registeredName": "SubmerchantRegisteredName", "tradingName": "SubmerchantName" }, "totalAuthorizedAmount": 100.00, "totalCapturedAmount": 0.00, "totalDisbursedAmount": 0.00, "totalRefundedAmount": 0.00 }, "response": { "acquirerCode": "000", "acquirerMessage": "Approved ", "gatewayCode": "APPROVED", "gatewayRecommendation": "NO_ACTION" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "AMEX", "expiry": { "month": "1", "year": "39" }, "fundingMethod": "CREDIT", "issuer": "AMERICAN EXPRESS US CONSUMER", "number": "373224xxxxx9174", "scheme": "AMEX", "storedOnFile": "NOT_STORED" } }, "type": "CARD" }, "timeOfLastUpdate": "2022-03-03T02:45:56.851Z", "timeOfRecord": "2022-03-03T02:45:56.762Z", "transaction": { "acquirer": { "batch": 1, "id": "AMEXGWS", "merchantId": "1234567890" }, "amount": 100.00, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "authorizationCode": "007257", "currency": "USD", "id": "1234", "receipt": "2203031", "reference": "3600", "source": "INTERNET", "stan": "1", "terminal": "123456", "type": "AUTHORIZATION" }, "version": "64" }