Skip to content
PHP client for Wallet API
Branch: master
Clone or download
vbartusevicius Merge pull request #37 from romasnavasinskas/sign_validation_feature
Changed checkSignWithPublicKey sign validation algorithm
Latest commit cfd2a28 Sep 26, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/Paysera Changed checkSignWithPublicKey sign validation algorithm Sep 26, 2019
tests Changed checkSignWithPublicKey sign validation algorithm Sep 26, 2019
.gitignore Map user locale Jul 10, 2018
.travis.yml Feature ob transfers (#29) Jul 12, 2019 Changed checkSignWithPublicKey sign validation algorithm Sep 26, 2019

PHP client for Wallet API

This is repository for PHP client, used with Wallet API.

OAuth example


// setup autoloader for Paysera Wallet API library
require_once '../../lib-wallet-php-client/src/Paysera/WalletApi/Autoloader.php';

// credentials for API
$clientId = 'CLIENT_ID';
// $secret - shared secret to use in MAC auth
$secret = 'SECRET';
// or information about certificate to use in SSL auth
//$secret = Paysera_WalletApi_Http_ClientCertificate::create()
//    ->setCertificatePath('/path/to/cert.crt')
//    ->setPrivateKeyPath('/path/to/private.key');

// create main object to use for all functionality
$api = new Paysera_WalletApi($clientId, $secret);

// for sandbox environment, use the following code instead:
// $api = new Paysera_WalletApi($clientId, $secret, Paysera_WalletApi_Util_Router::createForSandbox());

// get service, responsible for OAuth code grant type integration
$oauth = $api->oauthConsumer();

// example how to get ask and get information about user
try {
    if (!isset($_SESSION['token'])) {           // no token in session - let's get the token
        $token = $oauth->getOAuthAccessToken(); // this gets code query parameter if available and exchanges for token
        if ($token === null) {                  // no code parameter - redirect user to authentication endpoint
            $redirectUri = null;                // URL of this file; it's optional parameter
            header('Location: ' . $oauth->getAuthorizationUri(array(            // scopes are optional, no scope allows to get user ID/wallet ID
                Paysera_WalletApi_OAuth_Consumer::SCOPE_EMAIL,                  // to get user's main email address
                // Paysera_WalletApi_OAuth_Consumer::SCOPE_IDENTITY,            // this scope allows to get personal code, name and surname
                // Paysera_WalletApi_OAuth_Consumer::SCOPE_FULL_NAME,           // use this scope if only name and surname is needed
                // Paysera_WalletApi_OAuth_Consumer::SCOPE_IDENTITY_OFFLINE,    // this allows to get identity by user ID, after token has expired, using API, not related to token
            ), $redirectUri));
        } else {
            $_SESSION['token'] = $token;

    if (isset($_SESSION['token'])) {
        $tokenRelatedClient = $api->walletClientWithToken($_SESSION['token']);
        echo '<pre>';
        $user = $tokenRelatedClient->getUser();
        // $user->getId();                                            // you can save user ID (on, user's email etc.
        // var_dump($api->walletClient()->getUserIdentity($userId));  // if you have offline scope, you can get info by user ID later
        echo '</pre>';
        $_SESSION['token'] = $tokenRelatedClient->getCurrentAccessToken();     // this could be refreshed, re-save

} catch (Exception $e) {
    echo '<pre>', $e, '</pre>';


If you have any further questions feel free to contact us:

„Paysera LT“, UAB
Mėnulio g. 7
LT-04326 Vilnius
Tel. +370 (5) 2 07 15 58

You can’t perform that action at this time.