- Ghid de integrare
- Caracteristici acceptate (Opțiuni de plată)
- Conversie valutară dinamică
Conversie valutară dinamică
eGenius Platform vă poate oferi o cotație de schimb în timp real, provenită de la un furnizor DCC, pentru bunurile și serviciile dorite, cu prețul exprimat în moneda preferată de dvs. Puteți indica această rată de schimb plătitorului, care poate alege apoi să plătească în moneda preferată de dvs. sau în moneda cardului. Posesorii de card beneficiază ca urmare a acestui serviciu, aflând, la momentul realizării achiziției, valoarea exactă pe care o vor avea de plătit pentru achiziție, în moneda proprie.
Avantaje cheie
- Plătitorii pot plăti pentru bunuri sau servicii în moneda proprie de facturare, la punctul de vânzare.
- Dvs. primiți o parte din comisionul de conversie valutară.
- Comanda este procesată în moneda stabilită de dvs. pentru comandă.
- Plătitorii văd valoarea comenzii în moneda proprie pe extrasul de cont pentru card.
- Plătitorii nu văd un comision de conversie valutară în cadrul extrasului de cont pentru card (deoarece acesta este inclus în cotația de schimb furnizată).
Cerințe preliminare pentru cotațiile de schimb
- Trebuie să fiți înregistrat(ă) la furnizorul DCC pe care doriți să-l utilizați.
În prezent, eGenius Platform acceptă:
- FEXCO.
Gestionarea cotațiilor de schimb prin gateway
Există patru scenarii de bază, mutual exclusive, pentru aplicarea DCC într-o tranzacție:
- Nu doriți să aplicați DCC pe tranzacție, de exemplu dacă moneda cardului plătitorului corespunde monedei preferate de dvs.
- Ați dori să realizați DCC dacă ar exista o ofertă, dar nu există nicio astfel de ofertă.
- Ați dori să realizați DCC. Furnizorul DCC a făcut o ofertă. Ați transmis această ofertă plătitorului, care a respins-o.
- Ați dori să realizați DCC. Furnizorul DCC a făcut o ofertă. Ați transmis această ofertă plătitorului, care a acceptat-o.
Solicitați o cotație de schimb
Puteți să solicitați o cotație de schimb furnizând date pentru următoarele câmpuri în solicitarea Payment Options Inquiry (apiOperation=PAYMENT_OPTIONS_INQUIRY
):
order.amount
.order.currency
.paymentType
. Dacă este furnizată, aceasta trebuie să fie setată cu valoareaCREDIT
.
currencyConversion.gatewayCode=UNSUPPORTED_CARD_BRAND
.Când este apelată operațiunea Payment Options Inquiry utilizând protocolul REST, asigurați-vă că parametrii solicitării sunt incluși în URI (ca parametri ai interogării) și nu în corpul unui mesaj JSON. Mai jos este prezentat un exemplu de solicitare REST în curl pentru o cotație de schimb DCC.
curl --user merchant.TESTMERCHANT-DCC:<PASSWORD>"https://egenius.unicredit.ro/api/rest/version/72/merchant/TESTMERCHANT-DCC/paymentOptionsInquiry?order.amount=123.34&order.currency=USD&sourceOfFunds.provided.card.prefix=531335999"
Răspunsuri de stare pentru cotația de schimb
eGenius Platform returnează următoarele informații referitoare la oferta DCC. Unele dintre aceste informații vor fi incluse în informațiile pe care le prezentați plătitorului pe pagina dvs. de plată sau pe terminalul PED, împreună cu schema de plată și cerințele legale.
currencyConversion.gatewayCode
:QUOTE_PROVIDED
: Cotația furnizată.NOT_ELIGIBLE
: DCC nu este disponibil pentru acest card și/sau monedă.UNSUPPORTED_CARD_BRAND
: Tipul de card nu este acceptat.INSUFFICIENT_INFORMATION
: Câmpuri obligatorii lipsă în solicitare.ERROR
: Furnizorul DCC nu a putut procesa această operațiune.
currencyConversion.provider
: Numele furnizorului de cotație DCC.currencyConversion.providerCode
: Generat de furnizorul DCC, rezumă succesul sau eșecul solicitării cotației DCC.currencyConversion.providerReceipt
: Referința unică a furnizorului de DCC pentru cotația de schimb (nu este inclusă întotdeauna).currencyConversion.exchangeRateSource
: Agenția de date financiare utilizată ca sursă pentru rata de schimb.currencyConversion.payerExchangeRate
: Rata de schimb utilizată pentru a converti valoarea tranzacției în moneda plătitorului. Aceasta includecurrencyConversion.marginPercentage
.currencyConversion.payerAmount
: Valoarea totală a tranzacției, în moneda plătitorului.currencyConversion.payerCurrency
: Moneda cotației de schimb DCC oferite de furnizorul de DCC.currencyConversion.marginPercentage
: Comisionul de conversie valutară aplicat ca procent din valoarea tranzacției, pentru furnizarea serviciului de conversie valutară.currencyConversion.exchangeRateTime
: Marcajul temporal pentru momentul la care este în vigoare cotația de schimb.currencyConversion.quoteExpiry
: Marcajul temporal care indică momentul în care oferta de cotație DCC expiră. (Nu este furnizat întotdeauna.)currencyConversion.offerText
: Un fragment HTML care conține un formular de introducere pentru oferta DCC. Acesta trebuie prezentat plătitorului pentru colectarea alegerii acestuia.currencyConversion.requestId
: Identificatorul unic al solicitării dvs. de cotație DCC, returnat în răspunsul PAYMENT_OPTIONS_INQUIRY.
Referință API Payment Options Inquiry[REST][NVP]
Utilizarea cotației de schimb pentru o tranzacție
-
Dacă obțineți o cotație de schimb de la furnizorul DCC (
currencyConversion.gatewayCode=QUOTE_PROVIDED
), puteți să înaintați o ofertă de conversie valutară către plătitor.Ofertele de cotații de schimbTextul ofertei
Visa și Mastercard impun cerințe specifice referitoare la afișarea informațiilor DCC pentru plătitori, pentru a asigura faptul că plătitorului îi este prezentată informația necesară pentru a lua o decizie în cunoștință de cauză. Acestea includ existența detaliilor referitoare la taxe și costuri în cadrul ofertei DCC și a confirmării tranzacției (dacă plătitorul acceptă oferta).
Principiile fundamentale ale reglementărilor DCC:
- Posesorul cardului are opțiunea de a plăti în moneda comerciantului sau propria sa monedă, în condițiile unei transparențe complete a detaliilor tranzacției.
- Posesorul cardului are opțiunea de a accepta sau respinge oferta DCC.
- Setul de termeni și condiții asociat cu DCC este dezvăluit integral posesorului cardului.
Prezentarea ofertei
Textul ofertei va fi furnizat în
paymentTypes.card.currencyConversion.offerText
. Puteți specia limba textului ofertei setândlocale=<Valid language identifier or IETF language tag of payer's locale>
(de ex.,en
pentru engleză,pt-BR
pentru portugheză braziliană,es-MX
pentru spaniolă mexicană).Un text al ofertei DCC formatat HTML și specific limbii respective este returnat în
paymentTypes.card.currencyConversion.offerText
pentru următoarele limbi acceptate:- Franceză (fr_FR)
- Germană (de_DE)
- Spaniolă Mexic (es_MX)
- Chineză:
- Chineză simplificată (zh_CN)
- Chineză Hong Kong (zh_HK)
- Portugheză Brazilia (pt_BR)
- Japoneză (ja_JP)
- Indoneziană (id_ID)
- Engleză:
- Statele Unite (en_US)
- Regatul Unit (en_UK)
- Australia (en_AU)
Dacă limba nu este acceptată, eGenius Platform va furniza un text al ofertei pe baza următoarei scheme:
- Codul limbii este reprezentat de cea mai apropiată limbă acceptată, dacă este disponibilă.
- Dacă nu setați
interaction.locale
sau dacă limba furnizată și limba de bază nu sunt acceptate, eGenius Platform va încerca să utilizeze limba dvs. locală configurată. Dacă această limbă și limba sa de bază nu sunt acceptate, oferta va fi prezentată înen_US
.
Plătitorul poate apoi:-
Accepta oferta DCC și alege să plătească în moneda cardului.
În acest caz, inițiați o solicitare de tranzacție cu următorii parametri:
currencyConversion.requestId
după cum a fost returnat în răspunsul de la eGenius Platform.currencyConversion.uptake=ACCEPTED.
Furnizați plătitorului textul de confirmare afișat în
paymentTypes.card.currencyConversion.receiptText
în răspunsulRETRIEVE_TRANSACTION
. Acesta utilizează aceeași limbă cu cea din textul ofertei. -
Respinge oferta DCC și alege să plătească în moneda comenzii (
currencyConversion.uptake=DECLINED
).În acest caz, inițiați o solicitare de tranzacție cu următorii parametri:
currencyConversion.requestId
după cum a fost returnat în răspunsul de la eGenius Platform.currencyConversion.uptake=DECLINED.
-
Dacă primiți una dintre următoarele valori în răspunsul Payment Options Inquiry:
currencyConversion.gatewayCode=UNSUPPORTED_CARD_BRAND
currencyConversion.gatewayCode=NOT_ELIGIBLE
currencyConversion.gatewayCode=ERROR
Trebuie să setați
currencyConversion.uptake=NOT_AVAILABLE
în solicitarea de tranzacție și să furnizațicurrencyConversion.requestId
corect.
Acest lucru permite furnizorului DCC să utilizeze datele pentru analiză și raportare.
Dacă ați obținut o cotație de schimb în afara gateway-ului, trebuie să furnizați în mod explicit detaliile DCC care v-au fost returnate în solicitarea de tranzacție de către furnizorul DCC.
Dacă doriți să utilizați API-ul de autentificare pentru a autentifica plătitorul înainte de efectuarea plății, trebuie să treceți câmpurile DCC așa cum este descris în operațiunea Initiate Authentication. Odată ce autentificarea plătitorului este completă, puteți continua cu plata pentru aceeași comandă cu o operațiune Authorize sau Pay și puteți furniza authentication.transactionId pe care l-ați furnizat în operațiunile Initiate Authentication and Authenticate Payer. Nu trebuie să treceți din nou câmpurile DCC în tranzacția dvs. financiară, deoarece acestea sunt transferate din tranzacția de autentificare a plătitorului la care se face referire.
Referință API Intrare conversie valutară [REST][NVP]
Captură/Rambursare tranzacții DCC
Decontări
Detaliile DCC trebuie furnizate în solicitarea tranzacției de autorizare. Detaliile DCC se aplică pentru decontările efectuate pe baza comenzii.
Pentru o decontare completă, vor fi utilizate detaliile DCC din solicitarea de autorizare.
Pentru orice decontări parțiale sau în exces, eGenius Platform va calcula suma ca proporție din procent.
Referință API Conversie valutară pentru Captures [REST][NVP]
Rambursări
Dacă aveți DCC configurat de către MSO în eGenius Platform, această configurație va fi aplicată rambursărilor ulterioare.
Opțiuni de configurare:
CURRENT
: Este solicitată o nouă cotație de schimb pentru a furniza rata reală la data tranzacției de rambursare.HISTORICAL
: Cotația utilizată la crearea comenzii va fi aplicată rambursării.
Dacă currencyConversion.uptake=ACCEPTED
pentru tranzacția inițială:
- Configurația este
CURRENT
:- Va fi solicitată o cotație de schimb pentru suma specifică de rambursare. Aceasta va genera un
currencyConversion.requestId
nou. Noua cotație de schimb va fi aplicată rambursării. - Răspunsul de tranzacție returnează
currencyConversion.uptake=ACCEPTED
.
- Va fi solicitată o cotație de schimb pentru suma specifică de rambursare. Aceasta va genera un
- Configurația este
HISTORICAL
:- Detaliile DCC furnizate pentru tranzacția inițială din cadrul comenzii vor fi utilizate pentru calcularea
currencyConversion.payerAmount
pentru rambursare. - Pentru sume pentru rambursări parțiale sau rambursări excesive,
currencyConversion.payerAmount
din tranzacția inițială va fi furnizată pe o bază proporțională ca procent din suma comerciant. În cazurile în care este aplicat calculul proporțional, este utilizată rotunjirea standard. - Dacă utilizați rambursări parțiale pentru a rambursa întreaga sumă decontată, ultima rambursare parțială va conține restul nerambursat încă din suma plătitor decontată. Această caracteristică este utilizată pentru a compensa orice rotunjire a sumelor parțiale. În cazul în care suma totală rambursată nu este egală cu suma totală decontată, nu va exista validare a sumelor plătitor (de exemplu, pentru rambursări excesive).
- Răspunsul de tranzacție returnează
currencyConversion.uptake=ACCEPTED
.
- Detaliile DCC furnizate pentru tranzacția inițială din cadrul comenzii vor fi utilizate pentru calcularea
Dacă currencyConversion.uptake=DECLINED
sau NOT_AVAILABLE
sau NOT_REQUIRED
pentru tranzacția inițială:
Dacă autorizarea și decontarea inițiale sunt procesate cu succes ca tranzacții non-DCC și trimiteți o solicitare de rambursare ulterioară, atunci, independent de configurația dvs. comerciant:
- Nu va fi solicitată nicio cotație de schimb.
- Nu este returnat niciun câmp
currencyConversion
în cadrul răspunsului de tranzacție de rambursare sau în operațiunea Retrieve Transaction.
Testarea integrării DCC
Vă puteți testa integrarea DCC utilizându-vă profilul de testare comerciant.