赵贝尔 / Universign
Universign的PHP库
1.2.0
2020-08-03 17:54 UTC
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-25 16:36:18 UTC
README
这个库是非官方的,不是由Universign开发的。它只包含用于Universign的常用功能:发送签名文档,下载文档。
如果您需要在您的网站上实现此服务需要帮助,请随时通过以下邮箱联系我:contact@pierrebelin.fr
这个库高度灵感来源于这个不再维护的库:https://github.com/globalis-ms/universign-service
如何使用
您可以将以下代码复制粘贴,它会自动连接到您的Universign账户。
填写常量
$ACCOUNT_USER_MAIL = 'contact@pierrebelin.fr'; $ACCOUNT_USER_PASSWORD = 'xxxxxxxxx'; $UNIVERSIGN_PROFILE = 'default'; // you don't have to change this one, if you want to, read the manual
创建签名字段
$signatureField1 = new DocSignatureField(); $signatureField1->setPage(1) ->setX(10) ->setY(230) ->setSignerIndex(0);
获取您的文档
$document = new TransactionDocument(); $document ->setContent(file_get_contents('path/to/file/file.pdf')) ->addSignatureField($signatureField1) // you can add multiples times ->addSignatureField($signatureField2) etc... ->setName('Document name');
创建签署者
$signer = new TransactionSigner(); $signer ->setFirstname('Pierre') ->setLastname('Belin') ->setEmailAddress('contact@pierrebelin.fr') ->setPhoneNum('0606060606') ->setBirthDate('19900131T00:00:00') // This format is needed yyyymmddT00:00:00 as string for 31/01/1990 ->setSuccessURL('https://www.universign.eu/fr/sign/success/') ->setCancelURL('https://www.universign.eu/fr/sign/cancel/') ->setFailURL('https://www.universign.eu/fr/sign/failed/');
创建交易
$request = new TransactionRequest(); $request ->addSigner($signer) // you can add multiples times ->addSignatureField($signer2) etc... ->addDocument($document) // you can add multiples times ->addDocument($document2) etc... ->setProfile($UNIVERSIGN_PROFILE) ->setCustomId(uniqid()) // create your own ID to make easier to get later ->setMustContactFirstSigner(false) ->setFinalDocSent(true) ->setDescription("This is my description") ->setCertificateType(TransactionRequestCertificate::CERTIFICATE_CERTIFIED) ->setLanguage(TransactionRequestLanguage::FRENCH) ->setHandwrittenSignature(true) ->setChainingMode(TransactionRequestChainingMode::CHAINING_MODE_EMAIL);
交易请求
$requester = new Requester($ACCOUNT_USER_MAIL, $ACCOUNT_USER_PASSWORD, false); $requester->requestTransaction($request);
交易响应
$transactionId = $response->getId(); $transactionUrl = $response->getUrl();
获取文档
$response = $requester->getDocuments('TRANSACTIONID'); $response = $requester->getDocumentsByCustomId('CUSTOMID');
获取交易信息
$response = $requester->getTransactionInfo('TRANSACTIONID');
发送SEPA
用以下内容替换您的文档
$sepaFrom = new SEPAThirdParty(); $sepaFrom ->setName('from') ->setAddress('this address') ->setPostalCode('69001') ->setCity('Lyon') ->setCountry('France'); $sepaTo = new SEPAThirdParty(); $sepaTo ->setName('to') ->setAddress('to address') ->setPostalCode('69002') ->setCity('Lyon') ->setCountry('France'); $sepa = new SEPAData(); $sepa ->setIcs('XXXXXXXXXXXXX') ->setIban('FR7616798000010000191892XXXX') ->setBic('TRZOFR21XXX') ->setDebtor($sepaFrom) ->setCreditor($sepaTo); $document = new TransactionDocument(); $document ->setDocumentType(TransactionDocumentType::SEPA) ->setName('SEPA') ->setSEPAData($sepa);
问题
找不到类
别忘了包含您的自动加载和所有类
require __DIR__ . '/vendor/autoload.php'; use PierreBelin\Universign\{ Request\TransactionDocument, Request\TransactionSigner, ... };