eGenius Platform vă oferă funcționalitatea necesară pentru a acționa ca agregator. Acest lucru vă permite să oferiți servicii online de acceptare a plăților electronice pentru alți comercianți (denumiți sub-comercianți), fără ca sub-comerciantul să aibă o relație contractuală nici cu achizitorul, nici cu gateway-ul. Aceasta este o opțiune atractivă pentru acceptarea de plăți online de la plătitori pentru comercianții cu un număr redus de tranzacții și oferă o configurare foarte rapidă.
Sub-comerciantul necesită numai o relație contractuală cu dvs., agregatorul. Dvs. gestionați relația contractuală cu achizitorul, primiți fondurile destinate sub-comerciantului și le decontați prin transferul către sub-comerciant.
Trebuie să contactați achizitorul, care vă va înscrie în schemele de carduri pentru a vă putea configura ca agregator. Achizitorul vă poate furniza un ID și/sau nume de agregator. Furnizați your payment service provider aceste detalii.
Your payment service provider trebuie să vă configureze corespunzător profilul de comerciant (legătura achizitor comerciant) în gateway.
La trimiterea unei tranzacții pentru un sub-comerciant prin următoarele operațiuni API, puteți furniza detaliile sub-comerciantului indicate mai jos în grupul de parametri order.subMerchant
.
Solicitări API:
PAY
AUTHORIZE
CAPTURE
REFUND
VERIFY
UPDATE_SESSION
Detalii sub-comerciant:
order.subMerchant.identifier
(obligatoriu dacă order.subMerchant.tradingName
este furnizat)order.subMerchant.registeredName
order.subMerchant.tradingName
(obligatoriu dacă order.subMerchant.identifier
este furnizat)order.subMerchant.bankIndustryCode
order.subMerchant.address.*
order.subMerchant.phone
order.subMerchant.email
Dacă sunt furnizate, acestea vor fi returnate în următoarele răspunsuri:
RETRIEVE_TRANSACTION
RETRIEVE_ORDER
RETRIEVE_SESSION
Dacă gateway-ul nu asigură funcționalitatea de agregator pentru achizitorul dvs., o solicitare care conține detaliile sub-comerciantului va fi respinsă.
Detaliile sub-comerciantului se aplică tuturor tranzacțiilor dintr-o comandă. Acestea pot fi furnizate numai pentru tranzacțiile inițiale, respectiv tranzacțiile care creează o comandă. Dacă sunt furnizate în tranzacțiile ulterioare (respectiv, tranzacțiile pentru o comandă existentă, cum ar fi o solicitare CAPTURE sau REFUND ulterioară), gateway-ul respinge cererea.
Pentru versiunile API anterioare versiunii 70, dacă acționați ca agregator, nu puteți utiliza funcționalitatea Tokenization. Gateway-ul respinge solicitările de tranzacții cu detaliile sub-comerciantului pentru comercianții cu Tokenization activat.
Pentru versiunile API începând cu versiunea 70, dacă acționați ca agregator, puteți utiliza funcționalitatea Tokenization. Compatibilitatea cu funcționalitatea Tokenization a fost adăugată pentru următoarele operațiuni:
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.
Ca agregator care utilizează funcționalitatea Tokenization, trebuie să furnizați următoarele detalii despre sub-comerciant în grupul de parametri subMerchant.
subMerchant
subMerchant.identifier
În calitate de comerciant agregator, trebuie să
Următoarele funcționalități nu sunt disponibile în prezent:
Dacă doriți să furnizați sub-comercianților dvs. funcționalitatea Hosted Checkout, trebuie să le furnizați o interfață către integrarea dvs. cu Hosted Checkout.
Dacă furnizați detaliile sub-comerciantului, trebuie să includeți un ID de sesiune când apelați Checkout.configure()
. Trimiteți o solicitare APICREATE_CHECKOUT_SESSION
și includeți detaliile comenzii sub-comerciantului pentru a genera un ID de sesiune. Browserul plătitorului va reveni la aplicația dvs. și trebuie să redirecționați plătitorul către aplicația sub-comerciantului.
Utilizați Checkout.configure()
pentru a furniza detaliile de afișare ale sub-comerciantului, cum ar fi numele, adresa, detaliile de contact și sigla comerciantului. Aceste detalii sunt prezentate plătitorului în timpul interacțiunii Hosted Checkout.
Pentru a permite sub-comercianților să utilizeze autentificarea 3-D Secure EMV (3DS2) pe gateway, agregatoarele trebuie să trimită detaliile relevante ale sub-comercianților în solicitarea Initiate Authentication
. Atunci când detaliile sub-comercianților sunt trimise către gateway, gateway-ul utilizează detaliile sub-comercianților în locul detaliilor agregatorului din mesajul de autentificare din aval. Câmpurile care trebuie completate diferă de la o schemă la alta. Schemele acceptate includ:
Dacă autentificarea este urmată de o plată care utilizează o operațiune Authorize sau Pay care include ID-ul autentificării 3DS2, detaliile sub-comerciantului furnizate în solicitarea Initiate Authentication
sunt, de asemenea, utilizate în operațiunile Authorize/Pay.
Furnizați următoarele detalii în solicitarea Initiate Authentication
pentru sub-comerciantul dvs. în plus față de celelalte câmpuri obligatorii indicate în secțiunea Initiate Authentication a ghidului de integrare.
Pentru a vedea câmpurile de răspunsuri cheie pentru răspunsul Initiate Authentication, consultați secțiunea Initiate Authentication din Ghidul de integrare.
order.subMerchant.identifier
(obligatoriu pentru toate schemele 3DS2 acceptate)order.subMerchant.tradingName
(obligatoriu pentru toate schemele 3DS2 acceptate)order.subMerchant.bankIndustryCode
(obligatoriu pentru toate schemele 3DS2 acceptate)order.subMerchant.registeredName
order.subMerchant.address.country
(obligatoriu pentru toate schemele 3DS2 acceptate)order.subMerchant.address.*
(alte câmpuri de adresă)order.subMerchant.phone
order.subMerchant.email
Furnizați următoarele detalii ale configurației 3DS2 pentru sub-comerciant. Ca cerință preliminară, trebuie să aveți schema respectivă de autentificare 3DS2 activată în profilul dvs. de comerciant pentru care sub-comerciantul poate efectua autentificări 3DS2 ale plătitorilor.
order.subMerchant.websiteUrl
: Adresa URL a site-ului web al sub-comerciantului. Dacă nu completați acest câmp, va fi utilizată adresa URL a site-ului web din profilul dvs. de comerciant. order.subMerchant.authentication[n].protocol
order.subMerchant.authentication[n].3DS2.requestorId
order.subMerchant.authentication[n].3DS2.requestorName
Pentru Mastercard SecureCode, nu este necesar să furnizați detaliile de autentificare. ID-ul și numele solicitantului sunt generate de gateway.
Pentru Verified by Visa în detaliile de autentificare, furnizați numai protocolul de autentificare. ID-ul și numele solicitantului sunt generate de gateway.
Pentru American Express SafeKey, gateway-ul va utiliza ID-ul de solicitant „AGG” de la Agregator. Dacă American Express o cere, puteți supraregla această valoare, utilizând una diferită. Gateway-ul, la fel ca alte scheme, va crea numele solicitantului.
URL | https://egenius.unicredit.ro/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metoda 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" }
Consultați Autentificarea plătitorului pentru toate instrucțiunile legate de fluxul pentru subcomercianți.
URL | https://egenius.unicredit.ro/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metoda 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" }
Consultați Utilizarea rezultatului autentificării într-o operațiune de plată pentru toate instrucțiunile legate de fluxul pentru subcomercianți.
URL | https://egenius.unicredit.ro/api/rest/version/<version>/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Metoda 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" }
Copyright © 2023 UniCredit Bank