Tranzacții
Tranzacțiile sunt acțiuni realizate pe baza unei comenzi. Acestea ar putea fi autentificarea plătitorului sau cardului, rezervarea fondurilor pentru plătitor sau transferul banilor între dvs. și plătitor. Inițiați o tranzacție în sistemul dvs. trimițând o solicitare API către Mastercard Gateway, care, la rândul său, procesează solicitarea și o trimite către un furnizor de metode de plată sau un achizitor relevant. Pentru a efectua orice operațiune API, cum ar fi inițierea unei tranzacții, trebuie să aveți privilegiul necesar setat pe profilul dvs. de comerciant cu gateway-ul. Pentru a verifica ce tranzacții puteți iniția, contactați your payment service provider. Plățile fără card sau rețelele de debit pot avea un set limitat de operațiuni API în comparație cu cardurile de credit.
Următoarele secțiuni descriu cazurile de utilizare pentru tranzacțiile individuale cu carduri. Acestea includ exemple simple de solicitare doar cu câmpurile obligatorii, folosind o metodă de plată cu cardul de credit cu detaliile cardului de credit stocate furnizate ca simbol. Pentru mai multe exemple de solicitări și răspunsuri, consultați colecția Postman.
Tranzacții inițiale, independente și ulterioare
Tranzacțiile acceptate în Mastercard Gateway pot fi împărțite în patru grupuri, în funcție de modul în care pot fi utilizate:
- Inițiale
Tranzacțiile inițiale creează o nouă comandă și pornesc procesul de plată pentru instanța de vânzare. Aceste tranzacții au nevoie de un ID de comandă unic care definește noua comandă. Următoarele tipuri de tranzacții pot fi utilizate ca tranzacții inițiale:
- Independente
Tranzacțiile independente sunt un tip special de tranzacții inițiale, utilizate într-o situație în care tranzacția inițială pentru o comandă este efectuată în afara gateway-ului sau pur și simplu nu doriți să asociați tranzacția cu o comandă existentă. Aceste tranzacții sunt cunoscute în domeniu și ca: tranzacții fără referință, neasortate sau neasociate, care nu sunt activate implicit din cauza riscului de fraudă.
Următoarele tipuri de tranzacții pot fi utilizate ca tranzacții independente:
- Ulterioare
Tranzacțiile ulterioare sunt legate de o comandă existentă, deoarece modifică sau avansează acea comandă într-un fel sau altul. Aceste tranzacții trebuie să facă legătura cu o tranzacție inițială folosind ID-ul comenzii.
Următoarele tipuri de tranzacții pot fi utilizate ca tranzacții ulterioare:
- Informaționale
Tranzacțiile informaționale sunt create de către procesatorul de plăți sau achizitor pentru a furniza informații suplimentare cu privire la comandă.
Pentru mai multe informații despre Authorize, consultați Authorize.
Authorize
O tranzacție AUTHORIZE autorizare verifică detaliile cardului plătitorului, se asigură că plătitorul are fonduri suficiente în linia de credit și încearcă să rezerve fondurile solicitate. Limita de credit a plătitorului este redusă cu suma autorizată, iar fondurile sunt rezervate pe o perioadă de timp (în majoritatea cazurilor, 5–8 zile), în funcție de schema cardului și regulile de emitere a cardului plătitorului. Pentru efectuarea cu succes a autorizării, gateway-ul returnează valoarea result = SUCCESS în răspunsul la tranzacție.
Autorizarea nu debitează fonduri din contul plătitorului, dar rezervă întreaga valoare a comenzii, pregătită pentru tranzacția CAPTURE prin care se debitează cardul și se transferă fondurile în contul dvs. În extrasul de cont al plătitorului nu apar tranzacțiile AUTHORIZE, ci numai tranzacțiile CAPTURE.
Multe sisteme bancare online oferă acum notificări ale activității de autorizare.
O tranzacție AUTHORIZE poate fi o tranzacție inițială (fără tranzacții anterioare asociate) sau o tranzacție ulterioară, în urma unei tranzacții VERIFY sau AUTHENTICATE_PAYER. În acest caz, detaliile cardului din solicitările VERIFY sau AUTHENTICATE_PAYER trebuie să corespundă cu cele din AUTHORIZE.
Dacă trebuie să decontați o sumă mai mare decât cea pe care ați autorizat-o sau dacă trebuie să decontați o autorizare pe care ați efectuat-o în afara gateway-ului, consultați Utilizarea decontărilor excesive și, respectiv, Decontare independentă.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "AUTHORIZE", "order": { "amount": "100.00", "currency": "EUR" }, "sourceOfFunds": { "token": "<token>" } }
Stabilirea certitudinii comenzii
Puteți indica un nivel de certitudine al sumei autorizate, care va fi decontată, prin furnizarea câmpului order.certainty
în solicitarea AUTHORIZE. În acest scop, trebuie să aveți privilegiul Schimbare certitudine comandă activat în profilul dvs. de comerciant de către your payment service provider. Puteți seta câmpul la oricare dintre următoarele valori:
- Final
Suma autorizată completă va fi, în mod normal, decontată printr-una sau mai multe decontări, în intervalul de timp stabilit (în mod normal, 7 zile). Comanda va fi anulată numai în circumstanțe excepționale (de exemplu, dacă plătitorul își anulează achiziția). Furnizarea acestei valori în tranzacția dvs. poate face ca tranzacția să fie eligibilă pentru comisioane de procesare mai reduse.
- Estimat
Suma autorizată este o estimare a sumei care va fi decontată în intervalul de timp prevăzut (în mod normal, 30–31 de zile). Este posibil ca suma decontată să fie mai mică sau să nu fie decontată deloc, sau autorizarea poate fi anulată. Furnizarea acestei valori în tranzacția dvs. poate face ca tranzacției să îi fie aplicate comisioane de procesare mai mari.
Solicitarea este respinsă dacă nu aveți privilegiul de a schimba certitudinea comenzii, iar valoarea introdusă în acest câmp nu corespunde valorii implicite a certitudinii comenzii, configurată în profilul dvs. de comerciant.
Inversarea autorizărilor
Gateway-ul poate inversa automat sumele autorizate neplătite pentru autorizări nedecontate, decontate parțial sau expirate, dacă acest lucru este acceptat pentru achizitor. Acest lucru vă permite să respectați cerințele schemei de card pentru anulările complete și parțiale.
- Autorizări nedecontate
Dacă nu doriți să decontați suma autorizată rămasă după trimiterea unei solicitări AUTHORIZE, trebuie să anulați autorizarea trimițând o solicitare VOID. Furnizați ID-ul de tranzacție pentru autorizarea care trebuie anulată în câmpul
transaction.targetTransactionId
. - Autorizări decontate parțial
Când trimiteți o solicitare CAPTURE pentru o comandă, puteți furniza o sumă CAPTURE mai mică decât suma autorizată pentru comanda
(order.AuthorizedAmount)
definită în solicitarea dvs. AUTHORIZE. Dacă nu intenționați să decontați suma autorizată rămasă, puteți anula suma autorizată neplătită dacă achizitorul acceptă acest lucru. - Trimiteți o solicitare VOID cu ID-ul tranzacției AUTHORIZE care trebuie anulată în câmpul
transaction.targetTransactionId
. - Introduceți numărul prevăzut de operațiuni CAPTURE pentru comandă în câmpul
order.expectedNumberOfCaptures
din solicitarea CAPTURE sau din interfața cu utilizatorul din Merchant Administration. În cazul în care numărul total de operațiuni CAPTURE pentru comandă (inclusiv operațiunea CAPTURE curentă) este mai mare sau egal cu numărul total prevăzut de solicitări CAPTURE, gateway-ul va declanșa automat anularea sumei autorizate neplătite, dacă acest lucru este acceptat pentru achizitor. Pentru a permite declanșarea automată, trebuie să aveți activat privilegiul Anulare automată a sumelor de autorizare neîncasate în profilul dvs. de comerciant de către your payment service provider. - Autorizări expirate
- Încearcă automat să anuleze autorizarea și să retrimită fondurile la plătitor (dacă această funcție este acceptată pentru achizitor). Pentru a permite acest lucru, trebuie să aveți dreptul Inversare automată autorizări expirate activat în profilul dvs. de comerciant de your payment service provider.
În cazul în care comanda este decontată parțial și dacă achizitorul acceptă anularea autorizărilor pentru decontări parțiale, gateway-ul va încerca să anuleze/să inverseze suma autorizată neplătită.
- Respinge orice solicitări Capture bazate pe comandă
- Actualizarea autorizărilor
- Amânarea autorizărilor
- Dacă sunteți comerciant care acceptă plăți cu cardul pe un terminal POS în cazul în care sistemul de autorizare POS este offline.
- Dacă sunteți un comerciant cu amănuntul care acceptă plăți prin comenzi telefonice în cazul în care sistemul de autorizare POS este offline.
Puteți încerca să anulați (revocați) suma autorizată neplătită în două moduri:
De exemplu, dacă introduceți order.expectedNumberOfCaptures = 2
în prima solicitare CAPTURE, gateway-ul va anula automat suma autorizată rămasă după procesarea celei de-a doua solicitări CAPTURE.
Dacă reduceți numărul preconizat de decontări în solicitările CAPTURE ulterioare (de exemplu, actualizați order.expectedNumberOfCaptures = 1
în a doua solicitare CAPTURE), gateway-ul va anula automat suma autorizată rămasă la procesarea celei de-a doua solicitări CAPTURE. Aceasta deoarece 2 (numărul total de operațiuni CAPTURE pentru comandă, inclusiv operațiunea CAPTURE curentă) este mai mare decât 1 (numărul preconizat de operațiuni CAPTURE). Dacă, însă, reduceți numărul preconizat de operațiuni CAPTURE în solicitările CAPTURE ulterioare (de exemplu, actualizați order.expectedNumberOfCaptures = 3
în a doua solicitare CAPTURE), gateway-ul nu va anula suma autorizată neplătită decât la primirea celei de-a treia solicitări CAPTURE.
Autorizările au o perioadă de valabilitate, după care expiră. Perioada de valabilitate a autorizărilor poate fi configurată în gateway pentru o combinație de achizitor, tip de card și certitudine a comenzii.
Atunci când trimiteți o solicitare Authorize către gateway, acesta determină data și ora de expirare a autorizării pe baza perioadei de valabilitate configurate pentru autorizare (folosind combinația dintre tipul de card, achizitor și certitudinea comenzii). Dacă această funcție este acceptată pentru achizitor, expirarea autorizării este returnată în câmpul authorizationResponse.autoExpiry
din răspunsul operațiunii Retrieve Transaction
. Acest câmp conține data și ora la care gateway-ul va seta automat expirarea autorizării.
După expirarea perioadei de valabilitate a autorizării, gateway-ul:
Gateway-ul vă permite să extindeți valabilitatea autorizării și să măriți sau să micșorați opțional suma autorizată pentru autorizările valide, dacă achizitorul acceptă acest lucru. Trebuie să aveți dreptul Update Authorization activat în profilul dvs. de comerciant de către your payment service provider pentru a face acest lucru. Pentru mai multe informații, consultați Update Authorization.
Puteți amâna o autorizare dacă nu puteți trimite o tranzacție AUTHORIZE sau PAY în momentul în care a fost finalizată cu plătitorul. Eșecul poate fi cauzat de problemele de conectivitate sau de sistem sau de alte limitări care vă impun să trimiteți autorizarea în aval atunci când sistemul este din nou online. Identificarea autorizărilor amânate este obligatorie pentru respectarea cerințelor schemei Visa.
Mai jos, sunt listate câteva scenarii în care trebuie să marcați o autorizare ca autorizare amânată pentru plățile cu carduri Visa:
Pentru a amâna o autorizare, completați câmpul transaction.deferredAuthorization
din solicitarea AUTHORIZE, PAY sau STANDALONE CAPTURE și setați valoarea acestuia la TRUE
. Dacă nu furnizați acest câmp, valoarea implicită este FALSE
.
Capture
Tranzacția Capture (cunoscută și sub denumirea de „facturare” sau „finalizare”) folosește autorizația obținută după operațiunea inițială AUTHORIZE pentru a transfera fonduri din contul plătitorului în contul dvs. O operațiune CAPTURE trebuie să fie întotdeauna precedată de o autorizare reușită. Moneda utilizată la decontarea unei sume trebuie să corespundă monedei utilizate în cadrul tranzacției de autorizare.
Operațiunile Capture sunt, în mod normal, grupate în loturi de către gateway sau de către gazda achizitorului, astfel încât fondurile nu sunt în realitate transferate până la închiderea lotului, când are loc decontarea.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "CAPTURE", "transaction": { "amount": "100.00", "currency": "EUR" } }
Pentru a deconta o autorizare efectuată în afara gateway-ului, consultați Decontare independentă.
Utilizarea decontărilor excesive
Suma totală pe care o decontați poate depăși suma autorizată inițial, dacă aveți activat pentru profilul dvs. comerciant dreptul de decontare în exces.
Decontarea excesivă este o variație a tranzacției CAPTURE în care efectuați o decontare pentru o sumă mai mare decât suma autorizată. Valoarea în exces permisă este specificată ca procent din suma inițială autorizată și este stabilită la nivelul your payment service provider.
Când trimiteți o solicitare CAPTURE în exces, gateway-ul va încerca să actualizeze automat suma autorizată la suma pe care doriți să o decontați. Dacă achizitorul acceptă actualizarea autorizărilor, gateway-ul trimite solicitarea UPDATE AUTHORIZATION către achizitor. În caz contrar, gateway-ul aprobă automat o actualizare a autorizării (până la limita de decontare în exces configurată pentru profilul dvs. de comerciant).
Dacă nu doriți ca gateway-ul să încerce să actualizeze autorizarea înainte de a trimite decontarea către achizitor, setați câmpul transaction.authorizationAjustmentAction la NO_ACTION
în solicitare.
Chargeback
O tranzacție CHARGEBACK apare atunci când un plătitor dispută o plată efectuată către dvs. De exemplu, bunurile nu au fost primite sau plătitorul nu a autorizat plata către dvs. Your payment service provider poate importa detaliile tranzacțiilor de rambursare în gateway, astfel încât acestea să fie disponibile pentru dvs., pentru căutare și raportare. Your payment service provider poate înregistra fiecare tranzacție de rambursare pentru comanda originală sau să creeze o comandă nouă cu o tranzacție de rambursare separată.
- Dacă utilizați același număr SE sau ID bancar de comerciant (identificatorul care v-a fost alocat de banca achizitoare) în mai multe profiluri de comerciant, pentru fiecare profil este creată o tranzacție de rambursare independentă.
- Gateway-ul înregistrează tranzacțiile de rambursare în scopuri strict informative – tranzacția nu este trimisă către achizitor în scopul procesării finale.
Gateway-ul poate crea mai multe tranzacții de rambursare pentru o singură comandă. Puteți efectua tranzacții ulterioare pentru o comandă care include o tranzacție de rambursare, cum ar fi invalidările sau rambursările.
O tranzacție CHARGEBACK înregistrată cu succes returnează următoarele câmpuri în răspunsurile la tranzacția RETRIEVE TRANSACTION și RETRIEVE ORDER:
- order.status
La crearea unei tranzacții de rambursare, starea comenzii corespunzătoare este actualizată pentru a indica existența unei dispute inițiate de un plătitor.
- order.status
DISPUTED indică faptul că a fost inițiată o dispută, dar nu au fost mutate fonduri încă.
- order.status
CHARGEBACK_PROCESSED indică faptul că o solicitare de rambursare a fost procesată, iar fondurile vor fi transferate în sau din contul comerciantului.
- order.status
- order.chargeback.amount - suma de rambursare.
- order.chargeback.currency – moneda de rambursare.
- transaction.dispute object – Informații despre disputa de rambursare, de exemplu evenimentul și data disputei.
- transaction.type – CHARGEBACK
- transaction.source – SERVICE_PROVIDER
- gatewayEntryPoint - SERVICE_PROVIDER_API
Tranzacție de plată
Cu tranzacția DISBURSEMENT, puteți trimite fonduri către contul de card al plătitorului, de exemplu, pentru câștiguri din jocuri sau pariuri sau când plătiți pentru factura cardului de credit a plătitorului.
Într-o solicitare DISBURSEMENT, detaliile de facturare și expediție ale plătitorului nu sunt necesare, iar validarea cu codul de securitate a cardului (CSC) nu se aplică.
O tranzacție DISBURSEMENT poate fi o tranzacție inițială (fără tranzacții anterioare aferente) sau o tranzacție ulterioară în urma unei tranzacții VERIFY utilizată pentru a verifica detaliile contului plătitorului.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "DISBURSEMENT", "disbursementType": "GAMING_WINNINGS", "order": { "amount": "100.00", "currency": "EUR" }, "sourceOfFunds": { "token": "<token>" } }
Pay
Tranzacția PAY (cunoscută și sub denumirea de „cumpărare” sau „vânzare”) combină AUTHORIZE și CAPTURE într-un singur mesaj. O singură tranzacție autorizează plata și transferă simultan fondurile din contul plătitorului în contul dvs. Puteți furniza un indicator în solicitarea PAY, pentru a amâna autorizarea. Pentru mai multe informații, consultați Amânarea autorizărilor.
O tranzacție PAY poate fi o tranzacție inițială (fără tranzacții anterioare aferente) sau o tranzacție ulterioară în urma unei tranzacții VERIFY utilizată pentru a verifica detaliile contului plătitorului. În acest ultim caz, detaliile cardului din solicitările VERIFY și PAY trebuie să se potrivească.
Nivelul de certitudine al comenzii pentru o tranzacție PAY este setat la FINAL. Pentru mai multe informații, consultați Setarea certitudinii comenzilor.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "PAY", "order": { "amount": "100.00", "currency": "EUR" }, "sourceOfFunds": { "token": "<token>" } }
Utilizarea decontării automate
Decontarea automată este o variantă a tranzacției PAY care permite unui comerciant să efectueze o tranzacție PAY cu un achizitor care acceptă doar tranzacțiile AUTHORIZE și CAPTURE. Când gateway-ul primește o solicitare PAY și determină că achizitorul nu o acceptă, gateway-ul transformă automat solicitarea PAY într-o solicitare AUTHORIZE, urmată de o tranzacție CAPTURE auto-declanșată.
Pentru a face acest lucru, trebuie să aveți privilegiul PAY activat în profilul dvs. de comerciant de către your payment service provider. Identificatorul de tranzacție pentru ambele solicitări, AUTHORIZE și CAPTURE, este identificatorul de tranzacție furnizat de către dvs. în solicitarea inițială PAY. În răspunsul PAY, câmpul transaction.type indică ultima tranzacție încercată pentru a îndeplini solicitarea (AUTHORIZE sau CAPTURE).
Puteți utiliza operația RETRIEVE TRANSACTION pentru a prelua rezultatele unei decontări automate. Este returnat rezultatul ultimei tranzacții încercate pentru realizarea solicitării.
Puteți anula o tranzacție PAY decontată automat folosind tranzacția VOID. Când trimiteți o solicitare VOID pentru o decontare automată, gateway-ul:
- Încearcă o operațiune VOID pentru tranzacția CAPTURE.
- Dacă prima operațiune VOID are succes, se încearcă o a doua operațiune VOID pentru tranzacția AUTHORIZATION. Dacă prima operațiune VOID nu reușește, răspunsul indică faptul că operațiunea VOID a eșuat și nu se încearcă a doua operațiune VOID.
Referral
Tranzacția REFERRAL este necesară atunci când o tranzacție AUTHORIZE sau PAY eșuează cu un răspunsul achizitorului Trimitere la emitent (furnizat în câmpul response.gatewaycode al răspunsului).
Este posibil ca plătitorului să i se solicite să furnizeze informații suplimentare pentru ca emitentul să aprobe tranzacția și să furnizeze un cod de autorizare sau un ID de autorizare manuală.
Utilizați tranzacția REFERRAL pentru a retrimite tranzacția inițială la care se face referire ca o nouă tranzacție AUTHORIZE sau PAY cu un cod de autorizare obținut de la emitent.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "REFERRAL", "transaction": { "authorizationCode": "123456" } }
Refund
Cu tranzacția REFUND, puteți credita fonduri pentru o comandă existentă înapoi în contul plătitorului dacă, de exemplu, acesta returnează bunuri nedorite, incorecte sau defecte. Rambursările pot fi efectuate numai atunci când un transfer de fonduri este finalizat printr-o tranzacție PAY, CAPTURE sau STANDALONE CAPTURE.
Puteți efectua orice număr de tranzacții REFUND pe tranzacția inițială, dar nu puteți rambursa mai mult decât suma totală care este obținută prin tranzacțiile PAY sau CAPTURE asociate comenzii.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "REFUND", "transaction": { "amount": "100.00", "currency": "EUR" } }
Utilizarea autorizării de rambursare
Înainte de a trimite solicitarea de rambursare la achizitor pentru compensare și decontare, gateway-ul încearcă automat să autorizeze rambursarea dvs. cu emitentul (dacă achizitorul acceptă acest lucru). În acest fel, emitenții pot verifica detaliile cardului din solicitarea de rambursare, pentru a se asigura că rambursarea este reușită.
Autorizarea rambursării se realizează online și returnează un răspuns în timp real. Aceasta prezintă multe beneficii:
- Primiți o notificare imediată de la emitenții de carduri dacă rambursarea nu poate fi efectuată și puteți lua măsurile adecvate. De exemplu, în cazul în care cardul utilizat pentru tranzacția REFUND nu mai este valid, emitentul respinge autorizarea de rambursare. Puteți contacta plătitorul pentru a aranja o rambursare printr-un alt instrument de plată.
- Emitentul cardului primește o notificare imediată privind solicitarea de rambursare, care le permite emitenților să afișeze instantaneu informațiile despre rambursarea către plătitor. De asemenea, le va permite să gestioneze eficient interogările/reclamațiile plătitorului.
Dacă nu doriți ca gateway-ul să trimită solicitare de autorizare pentru tranzacția dvs. REFUND, contactați your payment service provider pentru a activa privilegiul Activare rambursări fără autorizare. Chiar și atunci când aveți acest privilegiu activat, puteți solicita autorizare pentru o anumită rambursare setând câmpul action.refundAuthorization la true în solicitarea REFUND.
Dacă autorizarea de rambursare a reușit, gateway-ul continuă cu rambursarea. Rezultatul tranzacției REFUND este returnat în răspuns. Puteți vizualiza codul de autorizare primit de la emitent în Merchant Administration.
Rambursarea unei anumite decontări
Dacă sunt efectuate mai multe decontări pentru o singură comandă, trebuie să identificați ce decontări să rambursați atunci când se rambursează comanda în totalitate sau parțial:
- Pentru a rambursa o anumită decontare în Merchant Administration, selectați decontarea vizată în secțiunea Rambursare și introduceți suma rambursării. În cazul în care comanda are mai multe decontări, se afișează o nouă fereastră de interfață cu utilizatorul pentru a vă permite să selectați ce decontare să rambursați.
- Pentru a rambursa o anumită decontare cu o solicitare API, includeți câmpul transaction.targetTransactionld în solicitare pentru a identifica decontarea care urmează să fie rambursată și setați-l la ID-ul de tranzacție al solicitării CAPTURE aplicabile.
Utilizarea rambursărilor excesive
Suma totală rambursată pentru o comandă poate depăși suma care a fost decontată cu succes, dacă privilegiul Realizează rambursări în exces este activat în profilul dvs. de comerciant.
Suma în exces permisă pentru rambursare pentru o sumă decontată pentru tranzacții API poate fi configurată pentru fiecare monedă în parte pe pagina Administrator > Setări de integrare din Merchant Administration. Dacă nu setați o limită maximă de rambursare excesivă pentru o monedă, rambursările excesive pentru comenzi în acea monedă sunt respinse.
La trimiterea unei rambursări, suma totală rambursată pentru comandă (inclusiv rambursarea încercată) nu trebuie să depășească suma totală decontată pentru comanda cu o valoare mai mare decât suma maximă de rambursare excesivă permisă. De exemplu, dacă trimiteți o rambursare excesivă prin intermediul API pentru o comandă în cazul căreia suma totală decontată este de 100 USD și ați setat limita de rambursare excesivă pentru tranzacții API ca fiind 20 USD, atunci puteți rambursa până la maximum 120 USD.
Decontare independentă
O tranzacție STANDALONE CAPTURE este o tranzacție CAPTURE în care autorizarea a fost efectuată în afara gateway-ului. Când trimiteți o solicitare STANDALONE CAPTURE către gateway, trebuie să furnizați codul de autorizare generat extern în câmpul transaction.authorizationCode. De asemenea, trebuie să furnizați toate detaliile cardului pe care le-ați furniza de obicei ca câmpuri obligatorii într-o tranzacție AUTHORIZATION, deoarece gateway-ul nu are încă acele informații din cauza autorizării externe.
Puteți trimite o tranzacție STANDALONE CAPTUREdacă aveți privilegiul Efectuare decontări independente activat în profilul dvs. de comerciant.
Dacă trebuie să decontați o sumă mai mare decât cea pe care ați autorizat-o, consultați Utilizarea decontărilor excesive.
Puteți furniza un indicator în solicitarea STANDALONE CAPTURE pentru a indica că autorizația externă este o autorizare amânată, atunci când este necesar. Pentru mai multe informații, consultați Amânarea autorizărilor.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "CAPTURE", "order": { "amount": "100.00", "currency": "EUR" }, "sourceOfFunds": { "token": "<token>" }, "transaction": { "authorizationCode": "123456", "amount": "100.00", "currency": "EUR" }, }
Rambursare independentă
O tranzacție STANDALONE REFUND este o tranzacție REFUND care vă permite să transferați fonduri din contul dvs. înapoi plătitorului, fără o achiziție anterioară. Puteți utiliza o tranzacție STANDALONE REFUND atunci când doriți să creditați contul plătitorului fără a asocia acel credit unei tranzacții anterioare.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "REFUND", "sourceOfFunds": { "token": "<token>" }, "transaction": { "amount": "100.00", "currency": "EUR" } }
Update authorization
Tranzacția UPDATE AUTHORIZATION vă permite:
- Să extindeți perioada de valabilitate a unei autorizări existente.
- Să măriți sau să micșorați opțional suma autorizată.
Dacă doriți doar să prelungiți perioada de autorizare, nu trimiteți câmpul transaction.amount din solicitare. Data și ora actualizate de expirare a autorizării sunt returnate în câmpul authorizationResponse.autoExpiry din răspunsul RETRIEVE TRANSACTION.
Dacă furnizați o sumă de tranzacție care este mai mare decât suma autorizării existente, suma autorizată este actualizată la noua valoare. De exemplu, dacă suma autorizată existentă este de 100 USD, însă valoarea tranzacției introdusă în solicitarea UPDATE AUTHORIZATION este de 120 USD, noua sumă autorizată disponibilă pentru decontare este de 120 USD.
Dacă furnizați o sumă de tranzacție care este mai mică decât suma autorizării existente, suma autorizată este actualizată la noua valoare. De exemplu, dacă suma autorizată existentă este de 100 USD, însă valoarea tranzacției introdusă în solicitarea UPDATE AUTHORIZATION este de 80 USD, noua sumă autorizată disponibilă pentru decontare este de 80 USD. Gateway-ul procesează automat o solicitare de anulare pentru suma autorizată rămasă, de 20 USD (dacă achizitorul acceptă acest lucru).
Gateway-ul poate actualiza o autorizare existentă numai dacă sunt îndeplinite următoarele condiții:
- Profilul dvs. de comerciant de pe gateway trebuie să aibă dreptul Update Authorization activat de către your payment service provider.
- Moneda comenzii trebuie să corespundă monedei autorizării existente.
- Autorizarea existentă trebuie să fie validă, efectuată cu succes și complet aprobată.
- În cazul tranzacțiilor cu cardul Mastercard, mărirea sumei de autorizare extinde automat și perioada de valabilitate a autorizării. Pentru alte mărci de carduri, regulile schemei determină efectul asupra perioadei de valabilitate.
- Operațiunea UPDATE AUTHORIZATION nu este pe deplin acceptată pentru achizitorii S2I ai oricărei mărci de card. Aceștia pot doar să scadă valoarea sumei autorizate folosind această operațiune.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "UPDATE_AUTHORIZATION" }
Gestionarea totalurilor comenzilor
După o solicitare Update Authorization trimisă cu succes (pentru un card sau PayPal), valoarea comenzii (order.amount) și suma autorizată totală (order.totalAuthorizedAmount) sunt actualizate la valoarea tranzacției Update Authorization (transaction.amount). Aceasta se aplică indiferent dacă ați trimis achizitorului tranzacția UPDATE AUTHORIZATION sau aceasta a fost aprobată automat de către gateway (response.gatewayCode = APPROVED_AUTO).
Dacă alegeți să evitați actualizarea autorizării pentru o solicitare CAPTURE excesivă (prin trimiterea transaction.authorizationAdjustmentActions = NO_ACTION, consultați Utilizarea decontărilor excesive) și gateway-ul trimite o decontare excesivă către achizitor, totalurile ordinului nu sunt actualizate.
Gestionarea subtotalurilor comenzilor
În solicitarea UPDATE AUTHORIZATION pentru plăți cu cardul sau prin PayPal, puteți furniza următoarele valori de subtotaluri:
- order.itemAmount
- order.shippingAndHandlingAmount
- order.taxAmount
- order.discount.amount (numai pentru plățile cu cardul)
- order.gratuityAmount (numai pentru plățile cu cardul)
Furnizarea order.cashbackAmount în solicitarea UPDATE AUTHORIZATION nu este acceptată.
Gateway-ul nu validează dacă sumele subtotale se adună la valoarea tranzacției (order.amount).
Comisionarea
În solicitarea UPDATE AUTHORIZATION, puteți actualiza valoarea unui comision folosind oricare dintre câmpurile de mai jos:
- order.merchantCharge.amount - Utilizați acest câmp dacă furnizați o valoare precalculată a comisionului.
- order.merchantCharge.type – Setați acest câmp la SURCHARGE pentru a indica faptul că tipul de taxare este un comision.
- order.netAmount - Utilizați acest câmp dacă gateway-ul calculează valoarea comisionului (pe baza regulilor dvs. pentru comisioane). Suma netă este suma plătibilă pentru comandă înainte de aplicarea comisionului.
Verify
Tranzacția VERIFY vă permite să verificați detaliile contului plătitorului înainte de a efectua o tranzacție PAY sau AUTHORIZE. Aceasta verifică detaliile plății utilizând metoda de verificare acceptată de achizitor. De exemplu, dacă portalul stabilește că achizitorul acceptă Serviciul de verificare a adresei (AVS), portalul trimite achizitorului o tranzacție AVS Only cu valoarea tranzacției de zero și detaliile adresei plătitorului pentru a obține rezultatul verificării.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "VERIFY", "order": { "currency": "EUR" }, "sourceOfFunds": { "token": "<token>" } }
Void
Tranzacția VOID încearcă să elimine sau să anuleze imediat o solicitare de tranzacție anterioară.
Puteți anula tranzacțiile AUTHORIZE, CAPTURE, PAY, REFUND, STANDALONE CAPTURE, STANDALONE REFUND, și UPDATE AUTHORIZATION.
Pentru o operațiune AUTHORIZE, o operațiune VOID eliberează imediat orice fonduri rezervate. Pentru toate celelalte tipuri de tranzacții, o operațiune VOID împiedică transferul de fonduri.
Pentru a ANULA alte tranzacții, acestea nu sunt trimise achizitorului pentru procesare la sfârșitul zilei. Odată ce achizitorul trimite o tranzacție pentru procesare, operațiunea VOID API va eșua, în schimb trebuie să efectuați o operațiune REFUND.
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant_ID>/order/<order_ID>/transaction/<transaction_ID> |
Metoda HTTP | PUT |
{ "apiOperation": "VOID", "transaction": { "targetTransactionId": "<ID_of_transaction_to_be_voided>" } }