documentatie tehnica plati recurente card
DESCRIPTION
Documentatie Tehnica Plati Recurente CardTRANSCRIPT
-
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