Sunteți pe pagina 1din 6

N E T O P I A System

Bucuresti, Romania
www.netopia-system.com

Documentatie tehnica de
implementare mobilPay
-recurenta platilor prin card

Dezvoltat de NETOPIA SRL


2012-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 System
Bucuresti, Romania
www.netopia-system.com

Istoric modificari
Versiunea
1.0

Data
2012-07

Revizuire
1

Acest document a fost creat si se afla in proprietatea


Proprietar
NETOPIA SRL

Autor
Andrei Panait andrei@mobilpay.ro

Data crearii
2012-07

Lista de distributie
Recipient
Persoana

Data distributiei
Companie

Acest document a fost revizuit de


Versiune

Revizuit de

La data

Acest document a fost aprobat de


Versiune

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 System
Bucuresti, 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 System
Bucuresti, 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 System
Bucuresti, 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 System
Bucuresti, 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.

S-ar putea să vă placă și