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

Class: Direct

Source Location: /lib/Direct.class.php

Class Overview

MBSBase
   |
   --Direct

Direct 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]
Direct apmokėjimų klasė

Naudojimo pavyzdžiai:

  1. <?php
  2. /**
  3.  * Raw Direct billing example (using SOAP service)
  4.  * 
  5.  * @see MBSLib/examples/simple/direct_bill_soap.php
  6.  * @see MBSLib/examples/simple/notify_direct.php
  7.  *
  8.  * @package RawExamples
  9.  * @author Valdas Petrulis <vpe@vero.lt>
  10.  */
  11.  
  12. include_once(dirname(__FILE__).'/../../lib/Direct.class.php');
  13.  
  14. // Inicijuojame Direct apmokėjimų biblioteką
  15. define('MBS_SERVICE_ID'60543);
  16. define('MBS_DELIVERY_URL''http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/notify_direct.php');
  17.  
  18. // Kuriame apmokėjimo įvykį
  19. $transaction $mbs->billByMSISDN(
  20.     '37069923232',
  21.     'bite_lt',
  22.     time(),
  23.     'SMS',
  24.     'SMS horoskopas - si savaite Jums bus labai sekminga'
  25. );
  26.  
  27. // Tranzakcija sėkmingai apmokėta
  28. if !$mbs->isError(&& $mbs->isBilled($transaction['transaction_id']) ) {
  29.     /** ... cia suteikiama paslauga ... **/
  30.     $paslauga_suteikta true;
  31.  
  32.     echo "Paslauga sėkmingai suteikta";
  33. // Tranzakcija neapmokėta
  34. else {
  35.     echo "Tranzakcija neapmokėta. ".$mbs->getError();
  36. }
  37.     
  38. ?>
  1. <?php
  2.  
  3. /**
  4.  * Raw transaction notify message receiving example
  5.  * 
  6.  * @see MBSLib/examples/simple/notify_direct.php
  7.  *
  8.  * @package RawExamples
  9.  * @author Valdas Petrulis <vpe@vero.lt>
  10.  */
  11.  
  12. include_once(dirname(__FILE__).'/../../lib/Direct.class.php');
  13.  
  14. // Inicijuojame Direct apmokėjimų biblioteką
  15. define('MBS_SERVICE_ID'60543);
  16. define('MBS_SECRET_KEY''test');
  17. $mbs new Direct(MBS_SERVICE_IDnullMBS_SECRET_KEY);
  18.  
  19. // Konfigūracija
  20. $config['servers'array('213.226.139.33''213.226.139.42''213.226.139.43''193.105.49.4''193.105.49.5');
  21.  
  22. if (in_array$_SERVER['REMOTE_ADDR']$config['servers') ) {
  23.     if$mbs->verifyArrayLow($_GET) ) {
  24.         // Apmokėjimo pabaiga ir GET rasti teisingi duomenys
  25.         if$transaction=$mbs->getBillInformation() ) {
  26.             /** ... cia surenkama apmokėjimų statistika ... **/
  27.             $statistika_surinkta true;
  28.             
  29.             $response array('TRUE');
  30.         else {
  31.             $response array('FALSE'$mbs->getError());
  32.         }
  33.     // Sufalsifikuoti GET parametrai
  34.     else {
  35.         $response array('ERROR''Siuntejas ne MBS');
  36.     }
  37. // Nežinomo serverio GET parametrai
  38. else {
  39.     $response array('ERROR''Nezinomas serveris');
  40. }
  41.  
  42. // Paslaugos atsakymas MBS sistemai
  43. echo implode(';'array_map('urlencode'$response));
  44.  
  45. ?>




Tags:

author:  Valdas Petrulis <vpe@vero.lt>


[ Top ]


Class Variables

$service_id =

[line 31]

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



Tags:

access:  protected

Type:   int


[ Top ]

$transactions = array()

[line 49]

Vidiniai transakcijų duomenys



Tags:

access:  protected

Type:   array


[ Top ]

$url_delivery =

[line 40]

Saugomas apmokėjimo ataskaitų URL



Tags:

access:  protected

Type:   string


[ Top ]



Class Methods


constructor Direct [line 63]

Direct Direct( int $service_id, [string $url_delivery = null], [string $secret_key = null])

Direct paslaugų apmokėjimų klasės konstruktorius

Konstruktoriuje nustatome paslaugos identifikatorių $service_id. Taip pat, suteikiama galimybė sukonfiguruoti paslaugos apmokėjimo ataskaitų URL ir slaptažodį saugumui.




Parameters:

int   $service_id   Direct paslaugos identifikatorius
string   $url_delivery   (nebūtina) URL kuriuo siųsti apmokėjimo ataskaitas. Jeigu $url_delivery nenurodyta ataskaitų siuntimui bus naudojamas URL nurodytas paslaugos aprašymuose.
string   $secret_key   (nebūtina) Slaptas žodis, kuris naudojamas saugumo parašui

[ Top ]

method bill [line 153]

struct|boolean bill( int $account_id, [string $ident = null], [string $mt_type = null], [string $mt_text = null], [string $mt_url = null], [integer $price = null], [string $currency = null], [string $language = null], [array $options = array()])

Vykdoma tiesioginė SOAP užklausa, kurios metu įvykdomas vartotojo apmokėjimas ir išsiunčimas nurodytas turininio vienetas (SMS, WapPush).

Vartotojo apmokėjimą galima vykdyti, jei prieš tai jis užsiregistravo į paslaugą vienu iš MBS kanalų (siųsdamas SMS, WAP redirect ir pan.). Taip pat yra ribojamas turinio siuntimo dažnumas (pvz., ne daugiau kaip 2 SMS per savaitę, 1 SMS per dieną ir pan.). Jei reikalingas apmokėjimo rezultatas, jis bus perduotas vėliau į apmokėjimo ataskaitų URL.

$ident - parametras naudojamas informatyvumo tikslais, bet yra numatyta, kad ateityje gali būti tikrinama ar tas pats vartotojas už tokį ident jau mokėjo valandos bėgyje. Kad nebūtu vykdomi daukartiniai vartotojo apmokestinimai.

Parametras $language - Nepadavinėkite, jei nežinote vartotojo norimos kalbos. Parametras nurodo kokia kalba vartotojas matys pranešimus MBS sistemoje. Taip pat, šis parametras nurodo kokia kalba siųsti apmokestinimo SMS žinutę.

$options – parametrai kurie paduodami į tranzakciją ir vėliau galim juos pasiimti jeigu paslaugos 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žinama tranzakcijos duomenų struktūra (@see self::getTransaction()), nesėkmės false


Parameters:

int   $account_id   Apmokestinamo vartotojo unikalus ID
string   $ident   (nebūtina) Unikalus pirkimo identifikatorius išorinėje sistemoje (tarkim pardavinejat melodijas, tai gali būti melodijos ID ar pavadinimas)
string   $mt_type   Vartotojo informavimo tipas (SMS, WapPush)
string   $mt_text   Siunčiamo SMS tekstas (jei WapPush, nuorodos antraštė)
string   $mt_url   (nebūtina) Jei siuntinio tipas WapPush, siunčiamo WapPush nuoroda
integer   $price   (nebūtina) Apmokestinimo kaina, reikia nurodyti, kai paslauga turi kelias kainas (valiutos 1/100 dalimis - centais)
string   $currency   (nebūtina) Kainos valiuta (ISO 4217 standartu, EUR, LTL, LVL ir tt.)
string   $language   (nebūtina) Kalbos kodas (ISO 639-1 standartu, EN, RU, LT ir tt.)
array   $options   (nebūtina) Papildomi parametrai

[ Top ]

method billByMSISDN [line 198]

struct|boolean billByMSISDN( string $account_msisdn, [string $operator = null], [string $ident = null], [string $mt_type = null], [string $mt_text = null], [string $mt_url = null], [integer $price = null], [string $currency = null], [string $language = null], [array $options = array()])

Vykdoma tiesioginė SOAP užklausa, kurios metu įvykdomas vartotojo apmokėjimas ir išsiunčimas nurodytas turininio vienetas (SMS, WapPush).

Vartotojo apmokėjimą galima vykdyti, jei prieš tai jis užsiregistravo į paslaugą vienu iš MBS kanalų (siųsdamas SMS, WAP redirect ir pan.). Taip pat yra ribojamas turinio siuntimo dažnumas (pvz., ne daugiau kaip 2 SMS per savaitę, 1 SMS per dieną ir pan.). Jei reikalingas apmokėjimo rezultatas, jis bus perduotas vėliau į apmokėjimo ataskaitų URL.




Tags:

return:  Sėkmės atvėju gražinama tranzakcijos duomenų struktūra (@see self::getTransaction()), nesėkmės false


Parameters:

string   $account_msisdn   Apmokestinamo vartotojo telefono numeris (MSISDN), tarptautiniu formatu „370xxxyyyyy“
string   $operator   (nebūtina) Apmokestinamo vartotojo operatorius (bite_lt, tele2_lv ir tt.). Nurodoma, jei partneris tikrai žino apmokestinamo vartotojo operatorių
string   $ident   (nebūtina) Unikalus pirkimo identifikatorius išorinėje sistemoje (tarkim pardavinejat melodijas, tai gali būti melodijos ID ar pavadinimas)
string   $mt_type   Vartotojo informavimo tipas (SMS, WapPush)
string   $mt_text   Siunčiamo SMS tekstas (jei WapPush, nuorodos antraštė)
string   $mt_url   (nebūtina) Jei siuntinio tipas WapPush, siunčiamo WapPush nuoroda
integer   $price   (nebūtina) Apmokestinimo kaina, reikia nurodyti, kai paslauga turi kelias kainas (valiutos 1/100 dalimis - centais)
string   $currency   (nebūtina) Kainos valiuta (ISO 4217 standartu, EUR, LTL, LVL ir tt.)
string   $language   (nebūtina) Kalbos kodas (ISO 639-1 standartu, EN, RU, LT ir tt.)
array   $options   (nebūtina) Papildomi parametrai, @see self::bill()

[ Top ]

method commitTransaction [line 315]

boolean commitTransaction( int $transaction_id)

Apmokestinimo tvirtinimas.

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.




Tags:

return:  Jeigu veiksmas nepavyko rezultatas false jei viskas sėkmingai pavyko grąžinama true.


Parameters:

int   $transaction_id   Tvirtinamos tranzakcijos ID

[ Top ]

method getBillInformation [line 355]

struct|boolean getBillInformation( )

Metodas naudojamas apmokestinimo ataskaitos duomenims nuskaityti.

Patikrinama ar apmokestinimo ataskaita atsiųsta iš MBS. Nustatomi ir užkraunami apmokestinimo įvykio (tranzakcijos) duomenys.




Tags:

return:  Sėkmės atvėju gražinama tranzakcijos duomenų struktūra (@see self::getTransaction()), nesėkmės false


[ Top ]

method getTransaction [line 260]

struct|boolean getTransaction( int $transaction_id)

Gražinama norimos tranzakcijos informacija.

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

Tranzakcijos duomenų struktūra:

  1.  array(
  2.     'transaction_id' Unikalus transakcijos ID
  3.     'service_id' Unikalus paslaugos ID
  4.     'ident' Unikalus pirkimo identifikatorius išorinėje sistemoje
  5.     'operator' Apmokestinamo vartotojo operatorius (bite_lttele2_lv ir tt.)
  6.     'account_id' Unikalus vartotojo ID MBS sistemoje
  7.     'account_msisdn' Apmokestinamo vartotojo telefono numeris (MSISDN)tarptautiniu formatu „370xxxyyyyy“
  8.     'account_ident' -  WAP vartotojo identifikatorius operatoriaus sistemojeUnikalus kiekvieno operatoriaus sistemoje.
  9.     'account_type' Apmokestinamo vartotojo mokėjimo tipas (prepaidpostpaidunknwontesting)
  10.     'price' Apmokestinimo sumanurodoma centais
  11.     'tariff' Apmokestinimo suma operatoriaus sistemojenurodoma centais
  12.     'currency' Apmokestinimo valiuta (ISO 4217 standartuEURLTLLVL ir tt.)
  13.     'mt_type' Vartotojo informavimo tipas (SMSWapPush)
  14.     'mt_text' Siunčiamo SMS tekstas (jei WapPushnuorodos antraštė)
  15.     'mt_url' Jei siuntinio tipas WapPushsiunčiamo WapPush nuoroda
  16.     'status' Apmokestinimo transakcijos pagrindinė būsena (status)kuri nusako apmokėjimo sėkmingumą.commit
  17.     'state' Apmokestinimo transakcijos papildoma būsena (state)kuri patikslina nepavykusio apmokėjimo priežastį (galimos reikšmės aprašytos prie metodo getStatusDescription)
  18.     'options' Papildomi apmokestinimui naudoti parametraipvzsesijos ID
  19.  )




Tags:

return:  Sėkmės atvėju gražinama tranzakcijos duomenų struktūra (@see self::getTransaction()), nesėkmės false


Parameters:

int   $transaction_id   Tikrinamos tranzakcijos ID

[ Top ]

method getTransactionInStatus [line 287]

array|boolean getTransactionInStatus( int $transaction_id, string $status, [string $state = null])

Grąžinama tranzakcija transaction_id jeigu jos būsena yra lygi norimam $status



Tags:

return:  Sėkmės atvėju gražinama tranzakcijos duomenų struktūra (@see @see self::getTransaction()), nesėkmės false


Parameters:

int   $transaction_id   Tikrinamos tranzakcijos ID
string   $status   Tranzakcijos būsena Apmokestinimo transakcijos pagrindinė būsena (status), kuri nusako apmokėjimo sėkmingumą
string   $state   (nebūtina) Apmokestinimo transakcijos papildoma būsena (state), kuri patikslina nepavykusio apmokėjimo priežastį

[ Top ]

method isBilled [line 416]

boolean isBilled( int $transaction_id)

Patikrinama ar už tranzakciją yra sumokėta.

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




Tags:



Parameters:

int   $transaction_id   Tikrinamos tranzakcijos ID

[ Top ]

method isCommited [line 441]

boolean isCommited( int $transaction_id)

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



Parameters:

int   $transaction_id   Tikrinamos tranzakcijos ID

[ Top ]

method rollBackTransaction [line 337]

boolean rollBackTransaction( int $transaction_id)

Atšaukiamas vartotojo apmokestinimas, vartotojui pinigai grąžinami.

Šį veiksmą reikia atlikti tuo atveju jeigu nepavyko suteikti vartotojui paslaugos pvz.: nepavyko pristatyti turinio vartotojui.

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




Tags:

return:  Jeigu veiksmas nepavyko rezultatas false jei viskas sėkmingai pavyko grąžinama true.


Parameters:

int   $transaction_id   Atšaukiamos tranzakcijos ID

[ Top ]

method setUrlDelivery [line 100]

void setUrlDelivery( string $url_delivery)

Sukonfiguruojamas apmokėjimo ataskaitų URL.

Taip pat nuorodoje $url_delivery galima naudoti žymenis:

  • %t arba %{transaction_id}% - pakeistas į naudojamos transakcijos ID
  • %s or %{service_id}% - pakeistas į naudojamos paslaugos(service) 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 žymenys bus pakeisti atitinkamomis reikšmėmis. Pvz.: $url_delivery 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:

string   $url_delivery   URL kuriuo siųsti apmokėjimo ataskaitas

[ Top ]


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