endelwar / gestpayws
PHP implementation of GestPay (Banca Sella) Web Services
v1.4.0
2018-11-02 23:05 UTC
Requires
- php: >=5.6.7
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- ext-soap: *
Requires (Dev)
- codacy/coverage: ~1.4
- friendsofphp/php-cs-fixer: ^2.12|^2.13
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^5.7.27 || ^6 || ^7
README
PHP implementation of GestPay (Banca Sella) Web Services
Highlights
- Simple API
- Decoupled classes
- PHPUnit tested
- Framework agnostic
- Composer ready, PSR-2 and PSR-4 compliant
System Requirements
You need PHP >= 5.6 and the soap
extension to use the library, but the latest stable version of PHP is recommended.
Install
Install EndelWar/GestPayWS
using Composer.
$ composer require endelwar/gestpayws
Using
Crypt
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);
Decrypt
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()); }
Testing
EndelWar/GestPayWS
has a PHPUnit test suite. To run the tests, run the following command from the project folder.
$ vendor/bin/phpunit
Contributing
- 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
Versioning
Semantic versioning (semver) is applied.
License
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.