assur-connect/api-php

PHP 的 Assur Connect API 客户端库。

v1.0.2 2022-04-02 17:29 UTC

This package is auto-updated.

Last update: 2024-09-30 01:36:16 UTC


README

使用 API 在您的 PHP 应用程序中集成 Assur Connect 保险解决方案。

要求

通过 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."
}
*/