endelwar / gestpayws
GestPay (Banca Sella) Web Services 的 PHP 实现
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
GestPay (Banca Sella) Web Services 的 PHP 实现
亮点
系统要求
您需要 PHP >= 5.6 和 soap
扩展来使用此库,但推荐使用 PHP 最新稳定版本。
安装
使用 Composer 安装 EndelWar/GestPayWS
。
$ 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
有一个 PHPUnit 测试套件。要从项目文件夹中运行测试,请执行以下命令。
$ vendor/bin/phpunit
贡献
- 创建分支
- 创建您的功能分支(
git checkout -b my-new-feature
) - 提交您的更改(
git commit -am 'Add some feature'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的 Pull Request
版本控制
应用语义版本控制(semver)。
许可证
此库采用 MIT 许可证。有关完整的版权和许可信息,请参阅与源代码一起分发的 LICENSE 文件。