- Ghid de integrare
- Utilizarea mai multor surse pentru detaliile de plată
Utilizarea mai multor surse pentru detaliile de plată
Când realizați un număr de apeluri eGenius PlatformAPI (de exemplu, Pay, Authorize, Refund, Capture, Save, Check 3DS Enrollment Initiate Authentication, Authenticate Payer), trebuie furnizate detaliile cardului. Aceste detalii ale cardului pot fi specificate utilizând mai multe „surse”.
Surse acceptate
- Câmpuri de solicitare: Detaliile de plată specificate direct în cadrul solicitării (de ex., numărul de card, data de validitate, codul de securitate al cardului).
- Sesiunea: Detaliile de plată stocate într-o sesiune de plată.
- Simbol card: Detaliile de plată stocate într-un depozit securizat de date și asociate unui simbol (dacă utilizați Tokenization).
Reguli de prioritate
Dacă un detaliu al cardului, cum ar fi numărul acestuia, este furnizat de mai multe ori într-o singură solicitare deoarece apare în două sau mai multe surse, regulile de precedență vor stabili care sursă este utilizată. Ordinea precedenței este următoarea:
- API Câmpuri de solicitare
- Identificator de sesiune
- Simbol card
Mai exact, datele din câmpurile solicitării API vor avea prioritate în raport cu datele stocate în sesiune, care vor avea prioritate în raport cu detaliile stocate în simbol.
De exemplu, dacă includeți atât un identificator de sesiune (care conține numărul de card, data expirării și codul CSC) și un simbol de card (care conține numărul de card și data expirării) într-o solicitare Pay atunci, pe baza ordinii de precedență, detaliile cardului specificate în identificatorul de sesiune vor fi utilizate în cadrul tranzacției financiare.
Referință API Sursă de fonduri[REST][NVP]
Exemple
Puteți specifica detaliile de plată utilizând una dintre aceste surse sau o combinație a acestora.
Realizarea unei tranzacții cu detalii din simbol și sesiune
Doriți să trimiteți o operațiune Pay utilizând numărul de card și data expirării stocate într-un simbol de card și codul CSC colectat într-o sesiune. Următorul exemplu de solicitare vă prezintă modul în care puteți să furnizați ca surse atât simbolul de card, cât și sesiunea în cadrul solicitării Pay:
Metoda HTTP | PUT |
URL | https://egenius.unicredit.ro/api/rest/version/72/merchant/<merchant>/order/<orderId>/transaction/<transactionId> |
JSON |
{ "apiOperation": "PAY", "session": { "id": "SESSION000177777777777777777777" }, "sourceOfFunds": { "token": "9999999999999999" }, "order": { "amount": "34.00", "currency": "AUD" } } |
Mesajul JSON anterior presupune:
- Anterior a fost creată o sesiune cu identificatorul de sesiune "SESSION000177777777777777777777" care conține codul CSC.
- Anterior, a fost stocat un simbol cu identificatorul „9999999999999999", care conține numărul de card și data expirării.
Actualizarea unui simbol cu o nouă dată de expirare
Doriți să actualizați data expirării într-un simbol stocat utilizând operațiunea Tokenization (dar lăsați numărul de card nemodificat). Simbolul furnizat în adresa URL de solicitare identifică simbolul pe care doriți să-l actualizați. Furnizarea aceluiași simbol ca sursă pentru detaliile de plată va determina reutilizarea detaliilor stocate anterior. Acest lucru înseamnă că nu mai este necesar să reintroduceți numărul de card. Prin furnizarea unei noi date de expirare în secțiunea Detalii card a solicitării, valoarea va suprascrie data de expirare deja existentă în simbol (consultați secțiunea Reguli de precedență).
Următorul exemplu de solicitare vă prezintă modul în care sunt furnizate ca surse detaliile de plată și simbolurile în operațiunea Tokenization:
Metoda HTTP | PUT |
URL | https://egenius.unicredit.ro/api/rest/version/72/merchant/<merchant>/token/9999999999999999 |
JSON |
{ "sourceOfFunds": { "provided": { "card": { "expiry": { "month": "05", "year": "13" }, "number": "5123456789012346" } }, "type": "CARD" } } |
Mesajul JSON anterior presupune:
- Un simbol cu ID-ul „9999999999999999” a fost stocat anterior și conține un număr de card și o dată de expirare.
Rezultatul acestei operațiuni va fi acela că simbolul „9999999999999999” are acum data expirării 05/13 (numărul de card rămâne neschimbat).