该SDK主要展示如何访问kiplepay网关。
dev-main
2021-10-02 06:47 UTC
Requires
- php: ^7.1|^8.0
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.3.0
- monolog/monolog: ^2.3.5
- symfony/event-dispatcher: 5.3.7
- symfony/http-foundation: ^5.3.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-29 05:50:03 UTC
README
该SDK主要展示如何访问kiplepay网关(仅限WaaS客户)。
安装
$ composer require mprince/kiplepay
贡献
您可以通过以下三种方式之一进行贡献:
代码贡献过程并不十分正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附带适用的单元测试。
文档
错误
在调用相关网关时发生错误,将抛出一些错误GatewayException
、InvalidSignException
等。我们可以通过$e->getMessage()
来审查错误的详细信息,同时,也可以通过$e->raw
查看API调用后的原始数据,这些原始数据是一个数组。
所有异常
- Greenpacket\KiplePay\Exceptions\InvalidGatewayException,表示SDK支持的支付网关被使用。
- Greenpacket\KiplePay\Exceptions\InvalidSignException,表示签名失败。
- Greenpacket\KiplePay\Exceptions\InvalidConfigException,表示配置参数缺失,例如:
public_key
、private_key
等。 - Greenpacket\KiplePay\Exceptions\GatewayException,表示网关服务器返回的数据异常,例如:参数错误、不存在的事务等。
用法
<?php use Greenpacket\KiplePay\Kiple; $config = [ 'app_id' => '2016082000295641', 'format' => 'JSON', //optional default json 'charset' => 'UTF-8', //optional default utf8 'sign_type' => 'RSA2', //optional default rsa2 'version'=> '1.0.0', //optional default 1.0.0 'endpoint' => 'http://47.254.245.66/', 'notify_url'=>'https://www.kiplepay.com', //optional default null 'return_url'=> 'https://www.kiplepark.com', //optional default null 'public_key'=>'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyzUiFx6ge0KXgF2OgZNjcUHWdopSn4dXde16cLEIKyXXdyYxDj/e/Wie0rsA0wJ6SusTFFk/ba+qXutX3i2DTau3jlPYTT/q6oiktDhOjmt3lSQGyxPihOj3gtjvR5n2Ri8DNU9VXdhqhMzJ0QzKh41XLN+Cuy6Xa0WXx4EWE24MGlGV+1dr6vjO56eF8I/+Cy1MwrBfldlq9GO5lRF5wRuVPPM9WyRfUmoyrnIRcFJsoKfdlZxJJu3zsuUtqEuZv5blmRFF+/XtgTnEP7kV6oZq6TIFHw8Z2ZPx8Y2KDFV5reBTuXAsglUfoRvNtA4gLEMgV9kEYlaugT7wDPsheQIDAQAB', // 'private_key'=>'MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLNSIXHqB7QpeAXY6Bk2NxQdZ2ilKfh1d17XpwsQgrJdd3JjEOP979aJ7SuwDTAnpK6xMUWT9tr6pe61feLYNNq7eOU9hNP+rqiKS0OE6Oa3eVJAbLE+KE6PeC2O9HmfZGLwM1T1Vd2GqEzMnRDMqHjVcs34K7LpdrRZfHgRYTbgwaUZX7V2vq+M7np4Xwj/4LLUzCsF+V2Wr0Y7mVEXnBG5U88z1bJF9SajKuchFwUmygp92VnEkm7fOy5S2oS5m/luWZEUX79e2BOcQ/uRXqhmrpMgUfDxnZk/HxjYoMVXmt4FO5cCyCVR+hG820DiAsQyBX2QRiVq6BPvAM+yF5AgMBAAECggEBAIc7Xup/6VDeKjC1EkdNLNqMdAsDVqTvztaeKeOhDMyaLGAQvIi9HMsLutaGuK+0cGo3MsVR95IpW3o7qIglRcKEym0fg001gkJ+mQ2Og0joX/aSuSqgmxjUaRNdBzBhV7GxS7NIjokboxepqY1Ds+yttRwZysiC4yXydGXClExsukjlaXyVoGZIRUQUXaXs4XUC6sXwv645KbM15kzgFWOiL0+1yZMt0F6tb2kU8Z2rQTyP5yaHEUGbgzY7z3S0rI2xf9CtuQg9+wP8Ofj2597gUv5Au5HiQwiQExe4EfosIg2ZxqLClj3uOw3dOx1lLxfgEvXWVWd0tm9y6QVI32ECgYEA659aClIDKMqvqz2C+iGzDAOr6a2W2n2534duKGu5TeDh94ql6S8nD2lOfSBP5UDFt6bsmlASj/nSFz6p7pdzPG9OGJjMWov9yxsDZWMRGJ+D3WDd3s+ZvMLZRfzaox3GNsW3cRsPJ9vYfTQio/hdpQ9K0+fzaGpkzP3sEOvZQK0CgYEA3MgeqKhcKDJTPODxt2IAP9CcKm9dyVRRUeaOyroKmKGBFGHGga37n9RFpEKWtHzcIUuqXBwMwl05UnWfVn6YeLkLyFPnLsNECJuthnOngNJsFyNHKr6GgmpCiIEVOI3cqFYfihDLlQSQL7tO7MpfoQ9tdtERUb3qo2wwdfeZYX0CgYBcbjWXKNb+cIx7I3U3BHNFekc9MxCjg4Cf9HO9PY0CxP4/6k7ta8bp38ifg0Z0S3WEduIIIvM1Ma492iI1a4oUIiHDumUn/BTCUUWCx1sUirbi6DYBSvUnPFSZhPiL1olEQUmWACRw4WhKrWINasfpkVcsS6iLxHjohY/Oj4a5PQKBgQDcSVg90+5PtRbUUWUcIk45Xf3TYVbkgJq66x5iLApSjCJsobocvemoaXYrFL2lzEcfeY27ZcldTQLawb1/4cRj/84/zWeHgxEovZv/4PmqUUnENFDX104CZd+Ir7LqwLD/zR6e9W8Leoga9/shzDJqUyhXOvba5nFtKY+YxLlnSQKBgQCzpHeK/YKUvin7wCdheJv8wHv1UStn/bp3Ys4ID/aqVVis9ihLCkb4n35/uY0s5FYAhyy2NURWJtZg8LvHO5K4jHjdg4yXkp5vLWilsRIybhwd027vk1+5OPoNCjgJnBx0LArkg6p3tEhlUZLwGfl/tX2ESvS7ImWt6GElp7tqIA==', 'log' => [ // optional 'file' => './logs/kiple.log', 'level' => 'debug', // It is recommended to set the production environment level to INFO and the development environment to Debug 'type' => 'daily', // optional, [single,daily]. 'max_file' => 30, // optional, Valid when type is daily, default is 30 days ], 'http'=>[ // optional 'timeout' => 5.0, // optional, default the timeout 3.14 'connect_timeout' => 5.0, // optional, default the timeout 3.14 'headers' =>[ 'Accept' => 'application/json', // optional, 'User-Agent' => 'php/client', // optional, 'Accept-Encoding' => 'gzip, deflate', // optional, 'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8', // optional, 'Cache-Control' => 'no-cache', // optional, 'Content-Type' => 'application/json', // optional, # the other custom parameters 'token' => '', // .... ] ] ]; # Get gateway request. try{ $response = Kiple::gateway($config)->get([ 'api_url'=> '/user/api/v1.0/users/check-pin' 'biz_content'=> [ 'pin'=>'2', 'user_id'=>29, ] ]); echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); }catch(\Exception $e){ die($e->getMessage()); } # Post gateway request. try{ $response = Kiple::gateway($config)->post([ 'api_url'=> '/user/api/v1.0/users/check-pin' 'biz_content'=> [ 'pin'=>'2', 'user_id'=>29, ] ]); echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); }catch(\Exception $e){ die($e->getMessage()); } #File gateway request. try{ $response = Kiple::gateway($config)->files([ 'api_url'=> '/user/api/v1.0/users/check-pin' 'biz_content'=> [ 'pin'=>'2', 'user_id'=>29, ], 'file_content'=>[ 'file_one'=>'./files/test_1.jpeg', 'file_two'=>'./files/test_2.jpeg', ] ]); echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); }catch(\Exception $e){ die($e->getMessage()); } # Verify gateway. try { $response = Kiple::gateway($config)->verify(); echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); } catch (\Exception $e) { die($e->getMessage()); }
许可证
MIT