202ecommerce / bridge-sdk
Bridge API SDK
1.0.0
2022-11-09 13:32 UTC
Requires
- ext-curl: *
- ext-json: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^0.12.81
- phpunit/phpunit: ^9.0
- psr/cache: ^1.0.0
- psr/http-message: ^1.0
- psr/log: ^1.0
This package is not auto-updated.
Last update: 2024-09-25 10:10:47 UTC
README
此软件包是 Bridge PHP SDK。它允许您管理您的商店与 Bridge 之间的交换。
此软件包是 Bridge PrestaShop 模块或 Magento 插件的依赖项。
版本范围
此软件包与 PHP 5.6+ 兼容。
如何安装?
composer require 202ecommerce/bridge-sdk
要在开发环境中或生产模式下使用此软件包,请使用以下命令安装此依赖项:
composer update --ignore-platform-reqs --no-dev
在开发环境中
composer update
如何尝试此 SDK?
获取银行列表
您可以通过创建一个请求轻松获取银行列表。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Model\Bank\ListBanks; use BridgeSDK\Request\ListBanksRequest; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $request = new ListBanksRequest(); $client = new Client(); $model = $response->getModel(); try { $response = $client->setCredential($clientId, $clientSecret) ->sendRequest($request); echo '<pre>'; var_dump($response->getModel()); echo '</pre>'; } catch (Exception $e) { echo ($e->getMessage() . $e->getFile() . ':' . $e->getLine() . $e->getTraceAsString()); }
您还可以使用客户端 API 服务来获取产品列表。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Service\ClientApiService; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $client = (new Client()) ->setCredential($clientId, $clientSecret); $response = (new ClientApiService($client)) ->getListBanks();
通过 ID 获取银行
您可以通过创建一个请求轻松通过 ID 获取银行。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Model\Bank\Bank; use BridgeSDK\Request\BankRequest; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $id = 'bank-id'; $request = (new BankRequest()) ->setModel((new Bank()) ->setId($id) ); $client = new Client(); $model = $response->getModel(); try { $response = $client->setCredential($clientId, $clientSecret) ->sendRequest($request); echo '<pre>'; var_dump($response->getModel()); echo '</pre>'; } catch (Exception $e) { echo ($e->getMessage() . $e->getFile() . ':' . $e->getLine() . $e->getTraceAsString()); }
您还可以使用客户端 API 服务来获取产品列表。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Service\ClientApiService; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $id = 'bank-id'; $client = (new Client()) ->setCredential($clientId, $clientSecret); $response = (new ClientApiService($client)) ->getBankById($id);
通过 ID 获取支付信息
您可以通过创建一个请求轻松通过 ID 获取支付信息。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Model\Payment\Payment; use BridgeSDK\Request\PaymentRequest; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $id = 'payment-id'; $request = (new PaymentRequest()) ->setModel((new Payment()) ->setId($id) ); $client = new Client(); $model = $response->getModel(); try { $response = $client->setCredential($clientId, $clientSecret) ->sendRequest($request); echo '<pre>'; var_dump($response->getModel()); echo '</pre>'; } catch (Exception $e) { echo ($e->getMessage() . $e->getFile() . ':' . $e->getLine() . $e->getTraceAsString()); }
您还可以使用客户端 API 服务来获取产品列表。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Service\ClientApiService; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $id = 'payment-id'; $client = (new Client()) ->setCredential($clientId, $clientSecret); $response = (new ClientApiService($client)) ->getPayment($id);
创建支付信息
您可以通过创建一个请求轻松创建支付信息。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Model\Payment\CreatePayment; use BridgeSDK\Model\Payment\CreatePaymentTransaction; use BridgeSDK\Model\Payment\PaymentUser; use BridgeSDK\Request\CreatePaymentRequest; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $body = (new CreatePayment()) ->setBankId(6) ->setSuccessfulCallbackUrl('http://test.tot/?success') ->setUnsuccessfulCallbackUrl('http://test.tot/?error') ->setTransactions([ (new CreatePaymentTransaction()) ->setCurrency('EUR') ->setLabel('Label Unit test') ->setAmount(10.50) ->setClientReference('unit_test') ->setEndToEndId('unit_test') ]) ->setUser( (new PaymentUser()) ->setFirstName('Unit') ->setLastName('Test') ->setExternalReference('unit_test') ->setIpAddress('192.168.1.1') ); $request = (new CreatePaymentRequest()) ->setModel($body); $client = new Client(); $model = $response->getModel(); try { $response = $client->setCredential($clientId, $clientSecret) ->sendRequest($request); echo '<pre>'; var_dump($response->getModel()); echo '</pre>'; } catch (Exception $e) { echo ($e->getMessage() . $e->getFile() . ':' . $e->getLine() . $e->getTraceAsString()); }
您还可以使用客户端 API 服务来获取产品列表。
require 'vendor/autoload.php'; use BridgeSDK\Client; use BridgeSDK\Model\Payment\CreatePayment; use BridgeSDK\Model\Payment\CreatePaymentTransaction; use BridgeSDK\Model\Payment\PaymentUser; use BridgeSDK\Service\ClientApiService; $clientId = 'your-client-id'; $clientSecret = 'your-secret-idtoken'; $body = (new CreatePayment()) ->setBankId(6) ->setSuccessfulCallbackUrl('http://test.tot/?success') ->setUnsuccessfulCallbackUrl('http://test.tot/?error') ->setTransactions([ (new CreatePaymentTransaction()) ->setCurrency('EUR') ->setLabel('Label Unit test') ->setAmount(10.50) ->setClientReference('unit_test') ->setEndToEndId('unit_test') ]) ->setUser( (new PaymentUser()) ->setFirstName('Unit') ->setLastName('Test') ->setExternalReference('unit_test') ->setIpAddress('192.168.1.1') ); $client = (new Client()) ->setCredential($clientId, $clientSecret); $response = (new ClientApiService($client)) ->createPayment($body);
获取 Webhook 响应
您可以通过以下代码轻松订阅 Webhook。Webhook 可来自以下 IP:\BridgeSDK\Constant\WebhookIP。
require 'vendor/autoload.php'; try { $client = new \BridgeSDK\Client(); $response = $client->retrieveWebhookResponse(); $model = $response->getModel(); } catch (Exception $e) { // handle exception } // Do webhook process