bubbstore / clearsale
ClearSale 集成
v1.9.0
2017-06-09 10:03 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 目录中找到一些现成的示例。