berbix / berbix-php
与 Berbix API 交互的 PHP SDK
2.1.1
2022-11-09 20:09 UTC
README
这个 Berbix PHP 库提供了与 Berbix API 交互的简单接口。
使用此 API 库需要 PHP 7 或更高版本。
安装
您可以通过 Composer 安装此库。
composer require berbix/berbix-php
用法
构造客户端
$client = new \Berbix\Client("your_api_secret_here");
创建交易
$transactionTokens = $client->createTransaction(array( 'customerUid' => "internal_customer_uid", // ID for the user in internal database 'templateKey' => "your_template_key", // Template key for this transaction ));
使用刷新令牌创建令牌
$refreshToken = ''; // fetched from database $transactionTokens = \Berbix\Tokens::fromRefresh($refreshToken);
获取交易数据
$transactionData = $client->fetchTransaction($transactionTokens);
参考
客户端
方法
构造函数(string $apiSecret, array $opts)
支持选项
apiHost
- 用于开发目的的可选自定义主机。httpClient
- 可选的默认 PHP HTTP 客户端的覆盖。
createTransaction(array $options): Tokens
在 Berbix 中创建一个交易以初始化客户端 SDK。通常在创建交易后,您可能希望将刷新令牌存储在数据库中,与当前活动的用户会话相关联。
支持选项
email
- 用户的先前验证电子邮件地址。phone
- 用户的先前验证电话号码。customerUid
- 您系统中的用户 ID 或标识符。templateKey
- 此交易的模板密钥。matchData
- 要与提取的数据进行比较的数据数组。-
givenName
- 要匹配的给定名称。
-
familyName
- 要匹配的姓氏。
-
middleName
- 要匹配的中名。
-
dateOfBirth
- 要匹配的出生日期。
-
idExpiryDate
- 要匹配的身份证到期日期。
createHostedTransaction(array $options): array
在 Berbix 中创建一个托管交易。通常在创建交易后,您可能希望将刷新令牌存储在数据库中,与当前活动的用户会话相关联。
支持选项
email
- 用户的先前验证电子邮件地址(可选)。phone
- 用户的先前验证电话号码(可选)。customerUid
- 您系统中的用户 ID 或标识符。templateKey
- 此交易的模板密钥。completionEmail
- 完成后发送通知的电子邮件。redirectUrl
- 完成后重定向用户的 URL。matchData
- 要与提取的数据进行比较的数据数组。-
givenName
- 要匹配的给定名称。
-
familyName
- 要匹配的姓氏。
-
middleName
- 要匹配的中名。
-
dateOfBirth
- 要匹配的出生日期。
-
idExpiryDate
- 要匹配的身份证到期日期。
返回一个包含以下值的关联数组
tokens
- 交易的 Tokens 对象。hostedUrl
- 托管交易的 URL。
fetchTransaction(Tokens $tokens): array
获取与交易相关的所有信息。如果用户已经完成了交易步骤,那么这将包括交易有效负载中描述的所有元素。
refreshTokens(Tokens $tokens): void
这通常不需要显式调用,因为它将由高级 SDK 方法调用,但可以用于获取新的客户端或访问令牌。
validateSignature(string secret, string body, string header): bool
此方法验证 webhook 内容是否被篡改。应该为每个配置为从 Berbix 接收 webhook 的端点调用此方法。
参数
secret
- 这是与该 webhook 相关的秘密。注意:这与 API 秘密不同,可以在仪表板上的 webhook 配置页面找到。body
- webhook的完整请求体。这应该是在解析之前原始的请求体。header
- 'X-Berbix-Signature'头中的值。
deleteTransaction(Tokens $tokens): void
永久删除与提供的令牌对应的交易的所有提交数据。
updateTransaction(Tokens $tokens, array $parameters): array
更改交易的动作,例如在您的系统中进行审核。成功时返回更新后的交易。
参数
action: string
- 描述对交易所采取的动作的字符串。通常这将要么是"接受"要么是"拒绝"。note: string
- 包含对所采取动作的说明的字符串(可选)。
overrideTransaction(tokens: Tokens, parameters: object): void
完成之前创建的交易,并覆盖其返回有效载荷和标志以匹配提供的参数。
参数
responsePayload: string
- 描述在检索交易元数据时返回的有效载荷类型的字符串,例如 "us-dl"。请参阅我们的测试指南以获取可能的选项。flags: array(string => string)
- 一个可选的标志列表,与交易相关联(独立于有效载荷的内容),例如 ["id_under_18", "id_under_21"]。请参阅我们的标志文档以获取标志列表。overrideFields: array(string => string)
- 一个可选映射,从交易字段到所需的覆盖值,例如'overrideFields' => array('date_of_birth' => '2000-12-09')
Tokens
属性
string accessToken
这是后端SDK使用的短期bearer令牌,用于识别与给定交易相关的请求。在使用高级SDK方法时通常不需要。
string clientToken
这是前端SDK使用的短期令牌,用于识别与给定交易相关的请求。在创建交易后,这通常会发送到前端SDK。
string refreshToken
这是一个长期令牌,允许在短期令牌过期后创建新的令牌。这通常存储在与给定用户会话关联的数据库中。
number transactionId
与交易关联的Berbix内部ID号。
Date expiry
访问和客户端令牌将过期的具体时间。
静态方法
fromRefresh(string $refreshToken): Tokens
从一个刷新令牌创建一个tokens对象,该对象可以传递给高级SDK方法。SDK将处理令牌刷新以访问相关数据。