MBSLib
[ class tree: MBSLib ] [ index: MBSLib ] [ all elements ]

Class: MBS

Source Location: /lib/MBS.class.php

Class Overview

MBSBase
   |
   --MBS

WAP apmokėjimų klasė


Author(s):

Variables

Methods


Inherited Variables

Inherited Methods

Class: MBSBase

MBSBase::MBSBase()
Konstruktorius, neatliekantis jokiu konkrečių veiksmų
MBSBase::debug()
Kaupiame debug informaciją $msg jeigu klasės savybės $debug_level yra mažesnis arba lygus $need_level.
MBSBase::formatUrl()
Grąžina "suklijuotus" URL parametrus
MBSBase::getDebug()
Gražinama sukaupta debug informacija.
MBSBase::getError()
Grąžinami klaidų pranešimai
MBSBase::getStatusDescription()
Pagal tranzakcijos state reikšmę grąžiną state aprašymą.
MBSBase::initSoap()
Nustatoma naudojama SOAP klasė ir SOAP adresui priskiriama paduota reikšmė $url
MBSBase::isError()
Gražinama ar įvyko klaida
MBSBase::prepareParams()
Paruošia URL parametrus. Jeigu $this->back_url nustatytas, tuomet visi šie parametrais sudedami į $this->back_url
MBSBase::setBackUrl()
Nustatomas gražinimo url. Jis gali būti bet koks. Jeigu yra galimybė iš Vero(MBS) platformos bus bandom nukreipti vartotoją į šią nuorodą. Nuorodoje galima naudoti parametrus, gražinant vartotoją į nuorodą bus pakeisti reikšmėmis.
MBSBase::setDebug()
Nustatomas debug kaupimo lygis į $level ir kaupimo tipas į $type.
MBSBase::setError()
Nustatomas klaidos pranešimas su debug lygiu DEBUG_LEVEL_LOW
MBSBase::setSecretKey()
Nustatomas slaptas žodis, kuris bus naudojamas saugumo parašui
MBSBase::setSessionUse()
Nustatoma ar saugoti duomenis sesijoje
MBSBase::signArrayLow()
Pasirašo pateiktus parametrus žemo patikimumo parašu
MBSBase::signUrlLow()
Pasirašo pateiktą URL žemo patikimumo parašu
MBSBase::verifyArrayHigh()
Patikrina ar parametrai teisingai pasirašyti aukštu patikimumu
MBSBase::verifyArrayLow()
Patikrina ar parametrai teisingai pasirašyti žemu patikimumu
MBSBase::verifyUrlHigh()
Patikrina ar URL turi teisingą aukšto patikimumo parašą
MBSBase::verifyUrlLow()
Patikrina ar URL turi teisingą žemo patikimumo parašą
MBSBase::_CallNuSOAP()
SOAP metodo kvietimas naudojantis NuSOAP biblioteka
MBSBase::_CallSOAP()
SOAP metodo kvietimas naudojantis PHP SOAP moduliu.
MBSBase::_prepareParams()
Paruošiami parametrai pagal "JArray" tipą (naudojamas soap metoduose), kiekvienam masyvo $params elementui
MBSBase::_SOAPCall()
SOAP metodo kvietimas. Naudojantis nustatyta soap klasė

Class Details

[line 22]
WAP apmokėjimų klasė

Naudojimo pavyzdžiai:

  1. <?php
  2. /**
  3.  * Raw WAP billing example (using redirect)
  4.  * 
  5.  * @see MBSLib/examples/simple/wap_bill.php
  6.  *
  7.  * @package RawExamples
  8.  * @author Karolis Tamutis <kt@vero.lt>
  9.  * @author Valdas Petrulis <vpe@vero.lt>
  10.  */
  11.  
  12. include_once(dirname(__FILE__).'/../../lib/MBS.class.php');
  13.  
  14. // Inicijuojame WAP apmokėjimų biblioteką
  15. define('MBS_SERVICE_ID'1);
  16. define('MBS_BACK_URL''http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
  17. define('MBS_SECRET_KEY''test');
  18. $mbs new MBS(MBS_SERVICE_IDnullMBS_BACK_URLMBS_SECRET_KEY);
  19.  
  20. // Apmokėjimo inicijavimas
  21. if (!isset($_GET['after_bill'])) {
  22.     // Siunčiame vartotoją i MBS 
  23.     $mbs->BillRedirect(array(
  24.         'session_id' => session_id()
  25.         'after_bill' => 'yes',
  26.     )time());
  27. // Apmokėjimo pabaiga ir GET rasti teisingi duomenys
  28. else if ($transaction=$mbs->getBillInformation()) {
  29.     // Tranzakcija sėkmingai apmokėta
  30.     if ($transaction['status']=='commit'{
  31.         /** ... cia suteikiama paslauga ... **/
  32.         $paslauga_suteikta true;
  33.  
  34.         // Apmokėjimo patvirtinimas per SOAP (nebūtina)
  35.         if ($paslauga_suteikta{
  36.             $mbs->commitTransaction($transaction['transaction_id']);
  37.             echo "Paslauga sėkmingai suteikta";
  38.         // Apmokėjimo atšaukimas per SOAP (nebūtina)
  39.         else {
  40.             $mbs->rollBackTransaction($transaction['transaction_id']);
  41.             echo "Paslaugos suteikti nepavyko";
  42.         }
  43.     // Tranzakcija neapmokėta
  44.     else {
  45.         echo "Tranzakcija neapmokėta. ".$mbs->getStatusDescription($transaction['state']);
  46.     }
  47. // Apmokėjimo pabaiga, bet GET duomenys neteisingi
  48. else {
  49.     echo "Apmokėjimo klaida: ".$mbs->getError();
  50. }
  51.  
  52. ?>
  1. <?php
  2. /**
  3.  * Raw WAP billing example (using SOAP service and redirect)
  4.  * 
  5.  * @see MBSLib/examples/simple/wap_bill_soap.php
  6.  *
  7.  * @package RawExamples
  8.  * @author Šarūnas Davalga <sd@vero.lt>
  9.  */
  10.  
  11. include_once(dirname(__FILE__).'/../../lib/MBS.class.php');
  12.  
  13. // Inicijuojame WAP apmokėjimų biblioteką
  14. define('MBS_SERVICE_ID'1);
  15. define('MBS_BACK_URL''http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
  16. $mbs new MBS(MBS_SERVICE_IDnullMBS_BACK_URL);
  17.  
  18. // Apmokėjimo inicijavimas
  19. if (!isset($_GET['after_bill'])) {
  20.     // Siunčiame vartotoją i MBS
  21.     $mbs->Bill(array(
  22.         'session_id' => session_id()
  23.         'after_bill' => 'yes',
  24.         't' => '%t'// čia MBS įrašys tranzakcijos ID
  25.         's' => '%s'// čia MBS įrašys paslaugos ID
  26.         'op' => '%n'// čia MBS įrašys operatoriaus ID
  27.         'a' => '%a'// čia MBS įrašys vartotojo ID
  28.     ));
  29. // Apmokėjimo pabaiga
  30. else {
  31.     // Tranzakcija sėkmingai apmokėta
  32.     if ($mbs->isBilled($_GET['t']) ) {
  33.         /** ... cia suteikiama paslauga ... **/
  34.         $paslauga_suteikta true;
  35.  
  36.         // Apmokėjimo patvirtinimas per SOAP (nebūtina)
  37.         if ($paslauga_suteikta{
  38.             $mbs->commitTransaction($_GET['t']);
  39.             echo "Paslauga sėkmingai suteikta";
  40.         // Apmokėjimo atšaukimas per SOAP (nebūtina)
  41.         else {
  42.             $mbs->rollBackTransaction($_GET['t']);
  43.             echo "Paslaugos suteikti nepavyko";
  44.         }
  45.     // Tranzakcija neapmokėta
  46.     else {
  47.         echo "Tranzakcija neapmokėta";
  48.     }
  49. }
  50.     
  51. ?>




Tags:

author:  Liutauras Rickus <lr@vero.lt>


[ Top ]


Class Variables

$channel_id =  0

[line 40]

Paslaugos kanalo identifikatorius.



Tags:

access:  protected

Type:   int


[ Top ]

$service_id =  0

[line 31]

Paslaugos identifikatorius. Apmokestinimo paslaugos, kuri turi konkrečias kainas



Tags:

access:  protected

Type:   int


[ Top ]

$transaction_data = array()

[line 49]

Vidiniai transakcijų duomenys



Tags:

access:  protected

Type:   array


[ Top ]



Class Methods


constructor MBS [line 84]

MBS MBS( int $service_id, [int $channel_id = null], [string $back_url = null], [string $secret_key = null])

Wap paslaugų apmokėjimų klasės konstruktorius

Konstruktoriu nustatome paslaugos identifikatorių $service_id ir kanalo identifikatorių $channle_id.

Jeigu $back_url nenurodyta gražinimui bus naudojami URL nurodyti paslaugos aprašymuose. Papildomai galima nurodyti $back_url, tokiu atvėju vartotojas iš Vero MBS sistemos ( po apmokęstinimo ) bus gražinamas nurodytą nuorodą.

Taip pat nuorodoje galima naudoti žymenis:

  • %t arba %{transaction_id}% - pakeistas į naudojamos transakcijos ID
  • %s or %{service_id}% - pakeistas į naudojamos paslaugos(service) ID
  • %c or %{channel_id}% - pakeistas į naudojamo kanalo (channel) ID
  • %p or %{transaction_price} - pakeistas į paslaugos kainą
  • %cur or %{transaction_currency} - pakeistas į paslaugos kainos valiutą
  • %o or %{operator_id}%- pakeistas į vartotojo operatoriaus (operator) ID
  • %a or %{account_id}%- pakeistas į vartotojo identifikatorių (account) ID
  • %n or %{operator_name}% - pakeistas į vartotojo operatoriaus pavadinimą (pvz.: bite_lt, tele2_lv, ect.)
Šie žymenis bus pakeisti atitinkamomis reikšmėmis. Pvz.: $back_url nustatome į http://example.lt?trans=%t&s=%s&service=%{service_id}%&a=te

Įvykdytos transakcijos id buvo 2456 naudotos paslaugos (service_id) 1 tokiu atveju vartotojas bus gražintas nuoroda:

http://example.lt?trans=2456&s=1&service=1&a=te




Parameters:

int   $service_id   Wap paslaugos identifikatorius
int   $channel_id   (nebūtina) Kanalo identifikatorius
string   $back_url   (nebūtina) URL kuriuo gražinti vartotoja po registracijos
string   $secret_key   (nebūtina) Slaptas žodis, kuris naudojamas saugumo parašui

[ Top ]

method bill [line 125]

void bill( array $params, [string $lang = null], [string $ident = null], [integer $price = null], [string $currency = null])

Vykdomas vartotojo apmokestinimas.

Atlikus šį metodą vartotojas bus nukreiptas į Vero sistemą ir programos darbas nutrauktas.

Parametras $params nusako kokie parametrai bus gražinami atgal (žiūrėti į konstruktorių apie $back_url.)

Parametras $lang nurodo kokia kalba vartotojas matys pranešimus Vero sistemoje. Jei paslaugos parametras rodyti klausymą nurodytas. Tai šis parametras nurodo kokia kalba rodyti klausymą.

Parametras $ident nenaudojamas, bet yra numatytas sistemoje. Ateityje gali būti tikrinama ar tas pats vartotojas už tokį ident jau mokėjo valandos bėgyje. Kad nebūtu daug kartiniai vartotojo apmokestinimai.




Parameters:

array   $params   Parametrai kuriuos reikia pridėti prie atgalinio URL
string   $lang   (nebūtina) Vartotojo kalbos kodas ISO 639-1 standartu ( šia kalba bus rodomas klauimas )
string   $ident   (nebūtina) Unikalus paslaugos identifikatorius ( tarkim pardavinejat melodijas, tai gali būti melodijos ID ar pavadinimas )
integer   $price   (nebūtina) Apmokestinimo kaina, reikia nurodyti, kai paslauga turi kelias kainas (valiutos 1/100 dalimis - centais)
string   $currency   (nebūtina) Kainos valiuta

[ Top ]

method billRedirect [line 149]

void billRedirect( [array $params = array()], [string $ident = null], [integer $price = null], [string $currency = null], [string $url_false = null])

Vartotojo WAP apmokestinims redirect būdu. Žiūrėkite Bill platesniam aprašymui.



Tags:

see:  Bill


Parameters:

array   $params   (nebūtina) Papildomi parametrai, kurie bus gražinami atgal
string   $ident   (nebūtina) Unikalus pirkimo identifikatorius partnerio sistemoje
integer   $price   (nebūtina) Apmokestinimo kaina, reikia nurodyti, kai paslauga turi kelias kainas (valiutos 1/100 dalimis - centais)
string   $currency   (nebūtina) Kainos valiuta
string   $url_false   (nebūtina) URL, į kurį nukreipiama po nesėkmingo apmokestinimo

[ Top ]

method commitTransaction [line 341]

boolean commitTransaction( int $transaction_id)

Apmokestinimo tvirtinimas tranzakcijos pabaigimas.

Grąžinama ar pavyko patvirtinti tranzakciją. Skirtas parodyti, kad veiksmai su tranzakcija pilnai baigti. Sukuriant tranzakciją vartotojo pinigai nuskaičiuojami(rezervuojami). Suteikus vartotojui paslaugą reikia patvirtinti, kad pinigai būtu galutinai nuskaičiuoti.

Ateityje ruošiamas padaryti, kad šio veiksmo daryti nereiks ir jeigu tranzakcija nėra baigta "commit", tai po tam tikro laiko automatiškai pritaikomas šis veiksmas ( jeigu tranzakcija ne atšaukta ).




Parameters:

int   $transaction_id   Tranzakcijos identifikatorius

[ Top ]

method createTransaction [line 419]

int|boolean createTransaction( int $service_id, [int $channel_id = null], [string $language_ident = null], [array $options = array()], [string $ident = null], [integer $price = null], [string $currency = null])

Kuriama tranzakcija

Veiksmas atliekamas prieš apmokestinimą. Naudojama metode Bill Vykdoma tiesioginė SOAP užklausa.

$options – parametrai kurie paduodami į tranzakciją ir vėliau galim juos pasiimti jeigu pasulaugos kūrimo metu į nuorodas yra įrašyti forma %{my_<parametro vardas>}%. Galima naudoti parametrą url kuris bus nurodo į kokią nuorodą grąžinti po apmokestinimo detaliau aprašyta prie MBS konstruktoriaus.

Norint paduoti toki masyva:

  1.  array(
  2.   'key1'=>'value1',
  3.   'key2'=>'value2',
  4.  )

Reikia jį transformuoti į:

  1.  array(
  2.     array('name'=>'key1''value'=>'value1'),
  3.     array('name'=>'key2''value'=>'value2'),
  4.  )




Tags:

return:  Sėkmės atvėju gražinamas tranzakcijos ID, nesėkmės false


Parameters:

int   $service_id   Wap paslaugos identifikatorius
int   $channel_id   (nebūtina) Wap paslaugos kanalo identifikatorius
string   $language_ident   (nebūtina) Kalbos kodas ISO 639-1 standartu ( šia kalba bus rodomas klausimas )
array   $options   (nebūtina) Papildomi parametrai
string   $ident   (nebūtina) Unikalus paslaugos identifikatorius ( tarkim pardavinejat melodijas, tai gali būti melodijos ID ar pavadinimas )
integer   $price   (nebūtina) Apmokestinimo kaina, reikia nurodyti, kai paslauga turi kelias kainas (valiutos 1/100 dalimis - centais)
string   $currency   (nebūtina) Kainos valiuta

[ Top ]

method getBillInformation [line 177]

array getBillInformation( )

Nustatoma ar vartotojo grąžintas iš MBS po apmokestinimo jei taip, apmokestinimo duomenys užkraunami.



Tags:

return:  Billing transaction data


[ Top ]

method getTransaction [line 255]

array|boolean getTransaction( int $transaction_id)

Pagal $transaction_id gražinama tranzakcijos informacija.

Jeigu atitinkamos tranzakcijos nėra arba tranzakcijos parametrai - paslaugos ir kanalo arba paslaugos, kainos ir valiutos identifikatoriai nesutampa su reikalaujamos tranzakcijos, gražinama false reikšmė.

Grąžinamo masyvo struktūra 1.0 versijai:

  1.  array(
  2.     'transaction_id' => <tranzakcijos ID>
  3.     'service_id' => <paslaugos ID>
  4.     'channel_id' => <kanalo ID>
  5.     'account_id' => <vartotojo identifikatorius (account_id Vero MBS sistemoje)>
  6.     'state' => <tranzakcijos <a href="{$subdir}MBSLib/MBSBase.html#methodgetStatusDescription">būsena</a(galimos reikšmės aprašytos prie metodo getStatusDescription)>
  7.  )

Grąžinamo masyvo struktūra 1.1 versijai:

  1.  array(
  2.     'transaction_id' => <tranzakcijos ID>
  3.     'service_id' => <paslaugos ID>
  4.     'account_id' => <vartotojo identifikatorius (account_id Vero MBS sistemoje)>
  5.     'price' => <paslaugos kaina centais>
  6.     'currency' => <paslaugos kainos valiutos kodas>
  7.     'state' => <tranzakcijos <a href="{$subdir}MBSLib/MBSBase.html#methodgetStatusDescription">būsena</a(galimos reikšmės aprašytos prie metodo getStatusDescription)>
  8.  )

!SVARBU!Norint įsitikinti, kad vartotojas neapgaudinėja reiktu tikrinti ar vartotojo account_id tokia kaip tranzakcijos.




Tags:

return:  Sėkmės atvėju gražinamas array, nesėkmės false


Parameters:

int   $transaction_id  

[ Top ]

method getTransactionInState [line 475]

array|boolean getTransactionInState( int $transaction_id, string $state)

Grąžinama tranzakcija transaction_id jeigu jos būsena reikšmė yra $state.

Grąžinamo masyvo struktūra 1.0 versijai:

  1.  array(
  2.     'transaction_id' => <tranzakcijos ID>
  3.     'service_id' => <paslaugos ID>
  4.     'channel_id' => <kanalo ID>
  5.     'account_id' => <vartotojo identifikatorius (account_id Vero MBS sistemoje)>
  6.     'state' => <tranzakcijos <a href="{$subdir}MBSLib/MBSBase.html#methodgetStatusDescription">būsena</a(galimos reikšmės aprašytos prie metodo getStatusDescription)>

Grąžinamo masyvo struktūra 1.1 versijai:

  1.  array(
  2.     'transaction_id' => <tranzakcijos ID>
  3.     'service_id' => <paslaugos ID>
  4.     'account_id' => <vartotojo identifikatorius (account_id Vero MBS sistemoje)>
  5.     'price' => <paslaugos kaina centais>
  6.     'currency' => <paslaugos kainos valiutos kodas>
  7.     'state' => <tranzakcijos <a href="{$subdir}MBSLib/MBSBase.html#methodgetStatusDescription">būsena</a(galimos reikšmės aprašytos prie metodo getStatusDescription)>




Tags:

return:  Sėkmės atvėju gražinamas array, nesėkmės false


Parameters:

int   $transaction_id   Tranzakcijos identifikatorius
string   $state   state Tranzakcijos būsena

[ Top ]

method isBilled [line 292]

boolean isBilled( int $transaction_id)

Patikrinama ar už tranzakciją yra sumokėta.

Užmokėta tranzakcija yra jeigu sutampa paslaugos identifikatorius ir kanalas su sukurto objekto ir tranzakcijos būsena yra "commit".




Tags:



Parameters:

int   $transaction_id   Tranzakcijos identifikatorius

[ Top ]

method isCommited [line 313]

boolean isCommited( int $transaction_id)

Tikrinama ar tranzakcija sėkmingai baigta ir ar neįvyko klaidų tikrinant tranzakciją.



Parameters:

int   $transaction_id   Tranzakcijos identifikatorius

[ Top ]

method rollBackTransaction [line 366]

boolean rollBackTransaction( int $transaction_id)

Atšaukiamas vartotojo apmokestinimas vartotojui pinigai gražinami.

Jeigu veiksmas nepavyko grąžinamas rezultatas false jei viskas sėkmingai pavyko grąžinama true. Šį veiksmą reikia atlikti tuo atveju jeigu nepavyko suteikti vartotojui paslaugos pvz.: nepavyko pristatyti turinio vartotojui.

!SVARBU! Nevisiems operatoriams galima atlikti šį veiksmą.




Parameters:

int   $transaction_id   Tranzakcijos identifikatorius

[ Top ]


Documentation generated on Fri, 05 Nov 2010 11:25:41 +0200 by phpDocumentor 1.4.3