PHP implementation of GestPay (Banca Sella) Web Services
- Simple API
- Decoupled classes
- PHPUnit tested
- Framework agnostic
- Composer ready, PSR-2 and PSR-4 compliant
You need PHP >= 5.3.3 and the soap
extension to use the library, but the latest stable version of PHP is recommended.
Install EndelWar/GestPayWS
using Composer.
$ composer require endelwar/gestpayws
require __DIR__ . '/../vendor/autoload.php';
use EndelWar\GestPayWS\WSCryptDecryptSoapClient;
use EndelWar\GestPayWS\WSCryptDecrypt;
use EndelWar\GestPayWS\Parameter\EncryptParameter;
use EndelWar\GestPayWS\Data;
// enable or disable test environment
$enableTestEnv = true;
$soapClient = new WSCryptDecryptSoapClient($enableTestEnv);
try {
$gestpay = new WSCryptDecrypt($soapClient->getSoapClient());
} catch (\Exception $e) {
var_dump($e->getCode(), $e->getMessage());
}
// set mandatory info
$encryptParameter = new EncryptParameter();
$encryptParameter->shopLogin = 'GESPAY12345';
$encryptParameter->amount = '1.23';
$encryptParameter->shopTransactionId = '1';
$encryptParameter->uicCode = Data\Currency::EUR;
$encryptParameter->languageId = Data\Language::ITALIAN;
// set optional custom info as array
$customArray = array('STORE_ID' => '42', 'STORE_NAME' => 'Shop Abc123');
$encryptParameter->setCustomInfo($customArray);
// encrypt data
$encryptResult = $gestpay->encrypt($encryptParameter);
// get redirect link to Banca Sella
echo $encryptResult->getPaymentPageUrl($encryptParameter->shopLogin, $soapClient->wsdlEnvironment);
require __DIR__ . '/../vendor/autoload.php';
use EndelWar\GestPayWS\Parameter\DecryptParameter;
use EndelWar\GestPayWS\WSCryptDecryptSoapClient;
use EndelWar\GestPayWS\WSCryptDecrypt;
// $_GET['a'] and $_GET['b'] are received from Banca Sella
$param = array(
'shopLogin' => $_GET['a'],
'CryptedString' => $_GET['b']
);
$decryptParam = new DecryptParameter($param);
// enable or disable test environment
$enableTestEnv = true;
$soapClient = new WSCryptDecryptSoapClient($enableTestEnv);
try {
$gestpay = new WSCryptDecrypt($soapClient->getSoapClient());
$decryptResult = $gestpay->decrypt($decryptParam);
echo $decryptResult->TransactionResult;
} catch (\Exception $e) {
var_dump($e->getCode(), $e->getMessage());
}
EndelWar/GestPayWS
has a PHPUnit test suite. To run the tests, run the following command from the project folder.
$ phpunit
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Semantic versioning (semver) is applied.
This library is under the MIT license. For the full copyright and license information, please view the LICENSE file that was distributed with this source code.