documentatie tehnica plati recurente card

Upload: tripa-laviniu

Post on 14-Jan-2016

139 views

Category:

Documents


16 download

DESCRIPTION

Documentatie Tehnica Plati Recurente Card

TRANSCRIPT

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    Documentatie tehnica de implementare mobilPay

    -recurenta platilor prin card-

    Dezvoltat de NETOPIA SRL2012-07

    Acest document este clasificat drept CONFIDENTIAL

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    Istoric modificariVersiunea Data Revizuire

    1.0 2012-07 1

    Acest document a fost creat si se afla in proprietateaProprietar Autor Data crearii

    NETOPIA SRL Andrei Panait [email protected] 2012-07

    Lista de distributieRecipient Data distributiei

    Persoana Companie

    Acest document a fost revizuit deVersiune Revizuit de La data

    Acest document a fost aprobat deVersiune Nume Semnatura La data

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    ATENTIE! Inainte de initia plati recurente, asigura-te ca s-au facut setarile de recurenta la nivelul contului tau de catre un reprezentant mobilPay

    1. Initierea platii recurente

    Pentru ca o plata sa programeze o viitoare plata recurenta, in cererea dinspre comerciant catre mobilPay se folosesc doua atribute, ambele integer : payments_no si interval_day.

    - payments_no reprezinta numarul total de plati dorite (numar ce include si plata curenta). Valoarea 0 a payments_no reprezinta plati recurente infinite. Valoarea 5, de exemplu, semnifica cererea a inca 4 plati.

    - interval_day reprezinta numarul de zile la care se doreste programarea pentru recurenta a urmatoarei plati.

    ATENTIE: Platile recurente sunt suportate doar pentru carduri non-3D secure si banci procesatoare care accepta si procesare non-3D a cardurilor inrolate 3D.

    In urma efectuarii primei plati, in functie de conditiile enuntate mai sus, atributul current_payment_count al notificarii dinspre mobilPay catre comerciant va avea valoarea 0 in cazul in care NU se poate programa plata recurenta sau 1 in cazul in care plata recurenta a fost programata.

    2. Notificarea procesarii platilor recurente

    Notificarea procesarii platilor recurente nu difera in structura cu nimic fata de notificarea obisnuita dispre mobilPay catre comerciant pentru o plata. Valoarea atributului current_payment_count reprezinta numarul platii recurente executate. In momentul in care mobilPay proceseaza o plata programata pentru recurenta, comerciantul este notificat prin aceeasi metoda (request HTTP pe valoarea atributului confirm_url specificat de comerciant) ca si in cazul unei plati normale. Notificarea contine atributul current_payment_count a carui valoarea denota numarul platii recurente procesate.

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    3. Operatiuni asupra unei plati recurente prograrmate via webservice.

    Prin intermediul webservice-ului https://www.mobilpay.ro/api/payment?wsdl comerciantul poate efectua urmatoarele operatiuni asupra unei plati programate pentru recurenta:

    - schimbarea datei de executie a platii, prin intermediul metodei "moveRecurrence"

    - schimbarea valorii platii, prin intermediul metodei "modifyRecurrencePrice"

    - anularea platilor recurente prin intermediul metodei "cancelRecurrence"

    Toate metodele accepta un obiect ca parametru, obiect ce il vom numi "obiect de request". Parametrii obiectului de request difera intre metode. Toti parametrii enumerati sunt obligatorii.

    metoda moveRecurrence:Parametri ai obiectului de request: - sessionId = (string) id-ul sesiunii obtinut din obiectul intors de metoda

    logIn - sacId = (string) cheia unica ce identifica contul de comerciant. - orderId = (string) id-ul tranzactiei - recurrenceDate = (string) data in format ISO 8601 (YYYY-MM-dd

    HH:mm:ss) la care plata programata pentru recurenta trebuie mutata

    Parametri ai obiectului intors de metoda - action = (string) numele metodei chemate ("moveRecurrence" in acest caz)

    - code = (string) error code intors de metoda - message = (string) mesajul de eroare intors de metoda - details = (array) Array de obiecte de eroare reprezentand stack-ul erorilor aparute in timpul executiei metodei. Obiectul de eroare contine doua proprietati: code si message.

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    metoda modifyRecurrencePrice: Parametri ai obiectului de request: - sessionId = (string) id-ul sesiunii obtinut din obiectul intors de metoda logIn - sacId = (string) cheia unica ce identifica contul de comerciant - orderId = (string) id-ul tranzactiei - price = (float) noua valoare a platii recurente

    Parametri ai obiectului intors de metoda- action = (string) numele metodei chemate ("moveRecurrence" in acest

    caz)- code = (string) error code intors de metoda- message = (string) mesajul de eroare intors de metoda- details = (array) Array de obiecte de eroare reprezentand contine

    stack-ul erorilor aparute in timpul executiei metodei. Obiectul de eroare contine doua proprietati: code si message.

    metoda cancelRecurrence:Parametri ai obiectului de request:- sessionId = (string) id-ul sesiunii obtinut din obiectul intors de metoda

    logIn- sacId = (string) cheia unica ce identifica contul de comerciant- orderId = (string) id-ul tranzactiei

    Parametri ai obiectului intors de metoda- action = (string) numele metodei chemate ("moveRecurrence" in acest

    caz)- code = (string) error code intors de metoda- message = (string) mesajul de eroare intors de metoda- details = (array) Array de obiecte de eroare reprezentand contine

    stack-ul erorilor aparute in timpul executiei metodei. Obiectul de eroare contine doua proprietati: code si message.

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

  • N E T O P I A SystemBucuresti, Romania

    www.netopia-system.com

    Coduri de eroare:

    Code_Invalid_User = 0x1000;Code_Restricted_Usage = 0x1001;Code_Invalid_Request = 0x2000;Code_Transaction_Invalid_Action = 0x3000;Code_Database_Error = 0x4001;Code_Wrong_Data_Format = 0x4002;Code_Invalid_Data = 0x4002;Code_Purchase_Not_Found = 0x4004;Code_Invalid_Seller_Account = 0x4005;Code_OK = 0x5000;

    Exemplu utilizare in PHP:

    $client = new SoapClient('https://www..mobilpay.ro/api/payment/?wsdl'); $req = new stdClass(); $req->username = 'username'; $req->password = 'password';

    $sessionId = $client->logIn(Array('request' => $req)); $sessionId = $sessionId->logInResult->id;

    $req = new stdClass(); $req->sessionId = $sessionId; $req->recurrenceDate = '2011-09-18 11:00:00'; $req->sacId = 'your seller account id'; $req->orderId = 'your order id';

    $result = $client->moveRecurrence(Array('request'=> $req)); if ($result->code != 0x5000) {

    throw new Exception("IDS_MOVE_RECCURENCE_FAILED"); }

    Acest document este confidential. Acest document este proprietatea N E T O P I A System. Copierea sau reproducerea, partial sau in totalitate, folosind orice modalitate, va

    fi pedepsita conform legii.

    Dezvoltat de NETOPIA SRLIstoric modificariVersiuneaDataRevizuire

    1.02012-071Acest document a fost creat si se afla in proprietatea

    ProprietarAutorData crearii

    NETOPIA SRLAndrei Panait [email protected] de distributie

    RecipientData distributiei

    PersoanaCompanieAcest document a fost revizuit de

    VersiuneRevizuit deLa dataAcest document a fost aprobat de

    VersiuneNumeSemnaturaLa data