idealizetecnologia / clearsale
ClearSale 集成
v1.10.5
2024-05-07 11:42 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: @stable
README
要阅读此文档的英文版本,请访问 README.eng.md 文件。
与 ClearSale 集成的 API。
什么是 ClearSale?
Clearsale 是一家巴西公司,专注于欺诈风险管理,在实体和虚拟世界中提供电子商务、信贷、收款和销售回款解决方案。
要求
PHP 5.3+
安装
安装库的最简单方法是使用 Composer。
{ "require": { "lucasmro/clearsale": "dev-master" } }
集成流程
此流程负责演示客户与 ClearSale 之间的集成
Loja ClearSale
| |
|----- (A) solicitação de análise de risco (sendOrders) --------------->|
| | (B) realiza processamento
|<---- (C) envia resposta ----------------------------------------------|
| |
|----- (D) realiza a cobrança / cancela a compra / tenta novamente ---->|
- (A) 商店执行一个风险评估请求,提供购买者和购买数据。
- (B) ClearSale 处理请求。
- (C) ClearSale 回复请求。
- (D) 如果 (C) 的回复被批准,商店应执行收款。
- (D) 如果 (C) 的回复被拒绝,商店不应执行收款。
- (D) 如果 (C) 的回复是待批准,商店应在 ClearSale 平台上进行新的查询,直到分析状态变为批准或拒绝。
使用
需要拥有 ClearSale 提供的 EntityCode,才能在测试和生产环境中执行请求。
以下代码片段是一个基本示例,演示如何执行风险评估请求
try { $order = new \ClearSale\Order(); $order->setFingerPrint($fingerPrint) ->setId($orderId) ->setDate($date) ->setEmail($email) ->setTotalItems($totalItems) ->setTotalOrder($orderTotal) ->setQuantityInstallments($quantityInstallments); ->setIp($ip); ->setOrigin($origin); ->setBillingData($customer) ->setShippingData($customer) ->setItems($items) ->setPayments($payments); // Definir ambiente $environment = new \ClearSale\Environment\Sandbox('<CLEARSALE_ENTITY_CODE>'); // Solicitação de análise $clearSale = new \ClearSale\ClearSaleAnalysis($environment); $response = $clearSale->analysis($order); // Resultado da análise switch ($response) { case \ClearSale\ClearSaleAnalysis::APROVADO: // Análise aprovou a cobrança, realizar o pagamento break; case \ClearSale\ClearSaleAnalysis::REPROVADO: // Análise não aprovou a cobrança break; case \ClearSale\ClearSaleAnalysis::AGUARDANDO_APROVACAO: // Análise pendente de aprovação manual break; } } catch (\Exception $e) { // Erro genérico da análise }
执行收款请求后,必须通知 ClearSale 支付处理的状态。
- 如果收款被授权
$clearSale->updateOrderStatusId($orderId, \ClearSale\ClearSaleAnalysis::APROVADO);
- 如果收款未被授权
$clearSale->updateOrderStatusId($orderId, \ClearSale\ClearSaleAnalysis::REPROVADO);
文档
您可以在 docs 目录中找到 ClearSale 集成文档。
示例
您可以在 examples 目录中找到一些可供使用的示例。