PHP implementation of GestPay (Banca Sella) Web Service
MIT License
PHP implementation of GestPay (Banca Sella) Web Services
You need PHP >= 5.6 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.
$ vendor/bin/phpunit
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)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.