assur-connect / api-php
PHP 的 Assur Connect API 客户端库。
v1.0.2
2022-04-02 17:29 UTC
Requires
- php: ^7.4|^8.0
- ext-curl: *
- ext-json: *
- ext-openssl: *
- composer/ca-bundle: ^1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^8.5|^9.3
README
使用 API 在您的 PHP 应用程序中集成 Assur Connect 保险解决方案。
要求
- 请求 Assur Connect 合作伙伴账户
- PHP >= 7.4 及以上
- 最新的 OpenSSL(或其他 SSL/TLS 工具包)
通过 Composer 安装
要通过 Composer 安装此包,请运行以下命令
composer require assur-connect/api-php
要使用此包,请使用 Composer 的自动加载
require_once('vendor/autoload.php');
依赖项
此包需要以下扩展才能正常工作
入门指南
// API initialization. $api = new \AssurConnect\Api\AssurConnectApi; // Use Sandbox environment. $api->useSandbox(); // Or use Staging environment. $api->useStaging(); // Authentication. $clientRequestResource = new \AssurConnect\Api\Resources\Request\Auth\ClientResource( '9a250da6d-6209-4f91-8b69-1682976a7404', 'test_c7c1d293-7a0b-45b5-8416-b9cff99270da', 'TEST', '92284041-cca2-453c-a488-bfbc42a8a559', ); $token = $api->authToken->call($clientRequestResource); $api->setToken($token); // Change language. // $api->setLanguage('fr'); // Get Pricing for BeSafe insurance product. $pricingRequestResource = new \AssurConnect\Api\Resources\Request\Besafe\PricingResource; $pricingRequestResource->setDuration(1, 'day'); $pricingRequestResource->setBeneficiariesCount(2); $pricingRequestResource->addActivity('VTT'); // Add Discount Code. // $pricingRequestResource->setDiscountCode('MYDISCOUNTCODE'); $pricingResponseResource = $api->besafePricing->call($pricingRequestResource); var_dump($pricingResponseResource); /* object(AssurConnect\Api\Resources\Response\Besafe\PricingResource)#8 (2) { ["price"]=> float(4) ["currency"]=> string(3) "EUR" } */ // Check Subscription information for BeSafe insurance product. $subscriberEntity = new \AssurConnect\Api\Resources\Request\Besafe\Entities\SubscriberEntity(); $subscriberEntity->setLastname('Eiffel'); $subscriberEntity->setFirstname('Tower'); $subscriberEntity->setAddress('Champ de Mars'); $subscriberEntity->setAdditionalAddress('5 avenue Anatole France'); $subscriberEntity->setZipCode('75007'); $subscriberEntity->setCity('Paris'); $subscriberEntity->setBirthdate('1989-03-31'); $subscriberEntity->setEmail('eiffel.tower@paris.city'); $subscriberEntity->setPhone('0892701239'); $subscriptionRequestResource = \AssurConnect\Api\Resources\Request\Besafe\SubscriptionResource::createFromPricingRequestResource($pricingRequestResource, $pricingResponseResource); $subscriptionRequestResource->setSubscriber($subscriberEntity); $subscriptionRequestResource->addBeneficiaryFromSubscriber(); $subscriptionRequestResource->addBeneficiary( 'Triomphe', // lastname 'Arc', // firstname '1986-07-29' // birthDate ); $subscriptionRequestResource->setEffectiveDate(new DateTime()); // $subscriptionRequestResource->setTransactionReference('TEST_000001'); $subscriptionCheckResponseResource = $api->besafeSubscriptionCheck->call($subscriptionRequestResource); var_dump($subscriptionCheckResponseResource); /* object(AssurConnect\Api\Resources\Response\Besafe\SubscriptionResource)#11 (1) { ["confirmation"]=> string(23) "Check Integrity Data OK" } */ // Create Subscription information for BeSafe insurance product (be sure to have a valid payment before). $subscriptionResponseResource = $api->besafeSubscriptionCreate->call($subscriptionRequestResource); var_dump($subscriptionResponseResource); /* object(AssurConnect\Api\Resources\Response\Besafe\SubscriptionResource)#11 (1) { ["confirmation"]=> string(19) "Subscription saved." } */