farzai / kapi-sdk
此SDK简化了与KBank API集成的过程
0.0.1
2023-05-15 11:05 UTC
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.5
- guzzlehttp/psr7: ^2.5
- psr/http-client: ^1.0
- psr/http-message: ^2.0
- symfony/string: ^6.2
Requires (Dev)
- laravel/pint: ^1.2
- mockery/mockery: ^1.5
- pestphp/pest: ^1.20
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- symfony/var-dumper: ^6.2
README
(工作正在进行中)
欢迎来到PHP版本的KBank API SDK!此SDK通过提供处理身份验证、请求和响应的预构建函数,简化了与KBank API集成的过程。使用此SDK,开发者可以轻松构建利用KBank服务(如支付处理、账户管理等)的应用程序。PHP版本的KBank API SDK易于使用,并提供清晰的文档和示例,以便您快速开始。
文档
查看完整文档:https://farzai.gitbook.io/kbank-kapi-php
要求
{
"php": "^8.0",
"ext-json": "*",
"ext-curl": "*"
}
支持产品
请注意
此项目仍在开发中。
- OAuth2身份验证
- 设置环境和测试套件
- 文档
- 实现产品
- Webhook回调捕获
- 代码覆盖率必须 >= 80%
- 添加双向SSL身份验证支持
- 发布v1.0.0
安装
您可以通过composer安装此包
composer require farzai/kapi-sdk
用法
这是一个简单的二维码支付示例。
use Farzai\KApi\ClientBuilder; use Farzai\KApi\OAuth2\Requests as OAuth2Requests; use Farzai\KApi\QrPayment\Requests as QrPaymentRequests; // Create client instance $client = ClientBuilder::make() ->setConsumer("<YOUR_CONSUMER_ID>", "<YOUR_CONSUMER_SECRET>") ->asSandbox() ->build(); // This SDK will automatically generate oauth2 access token for you. // You can ignore this step !! // $accessToken = $client->oauth2 // ->sendRequest(new OAuth2Requests\RequestAccessToken()) // ->throw() // ->json('access_token');
接下来,构建二维码支付请求
$yourTransactionId = 'TS'.time(); $request = new QrPaymentRequests\RequestThaiQRCode(); $request // Required ->setMerchant(id: '<YOUR_MERCHANT_ID>') ->setPartner( partnerTransactionID: $yourTransactionId, partnerID: '<YOUR_PARTNER_ID>', partnerSecret: '<YOUR_PARTNER_SECRET>', requestDateTime: new \DateTime('now'), ) ->setAmount(100) ->setReferences('<YOUR_ORDER_ID>') // or ->setReferences('<reference1>', '<reference2>', '<reference3>', '<reference4>') // Optional ->setTerminal('<YOUR_TERMINAL_ID>') ->setCurrency('THB') // Default is THB ->setMetadata([ 'แก้วเบียร์ 40บ.', 'เหล้าขาว 60บ.', ]); // Send request $response = $client->qrPayment->sendRequest($request); // Print response data print_r($response->json()); // Or, you can get response data with specific key echo $response->json('partnerTxnUid'); // Output: xxxxxxx
有时,您可能需要处理来自支付通知服务的Webhook
use Farzai\KApi\QrPayment; // This SDK will automatically validate your request. $result = $client->processWebhook(new QrPayment\PaymentNotificationCallback); $result->json() // returns: array $result->json('partnerTxnUid') // returns: string $result->isSuccessful() // returns: bool
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
有关详细信息,请参阅CONTRIBUTING
安全漏洞
请查看我们的安全策略以了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。