From 4bcdab6e2264586029324f2fc06ca5a82cb2a3dd Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 25 Apr 2024 18:20:19 -0300 Subject: [PATCH] feat: add generate kyc link route --- README.md | 8 +++ lib/Recipient/RecipientHandler.php | 19 +++++++ .../Request/RecipientGenerateKycLink.php | 49 +++++++++++++++++++ .../Request/RecipientGenerateKycLinkTest.php | 45 +++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 lib/Recipient/Request/RecipientGenerateKycLink.php create mode 100644 tests/unit/Recipient/Request/RecipientGenerateKycLinkTest.php diff --git a/README.md b/README.md index 1856d95..8ec8ff1 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ Integração em PHP para a [Pagar.me API](https://docs.pagar.me/) - [Saldo de um recebedor](#Saldo-de-um-recebedor) - [Operações de saldo de um recebedor](#Operações-de-saldo-de-um-recebedor) - [Operação de saldo específica de um recebedor](#Operação-de-saldo-específica-de-um-recebedor) + - [Gerando um link kyc](#Gerando-link-kyc) - [Clientes](#Clientes) - [Criando um cliente](#Criando-um-cliente) - [Retornando clientes](#Retornando-clientes) @@ -1040,6 +1041,13 @@ $balanceOperationId = 2043993; $operation = $pagarMe->recipient()->balanceOperation($recipient, $balanceOperationId); ``` +### Gerando Link Kyc +```php +recipient()->generateKycLink($recipientId); +``` + ## Clientes Clientes representam os usuários de sua loja, ou negócio. Este objeto contém informações sobre eles, como nome, e-mail e telefone, além de outros campos. diff --git a/lib/Recipient/RecipientHandler.php b/lib/Recipient/RecipientHandler.php index 705b35b..7f10fe0 100644 --- a/lib/Recipient/RecipientHandler.php +++ b/lib/Recipient/RecipientHandler.php @@ -146,4 +146,23 @@ public function balanceOperations( return $operations; } + + /** + * @param string $recipientId + * @return array + */ + public function generateKycLink($recipientId) + { + $request = new RecipientGenerateKycLink($recipientId); + + $response = $this->client->send($request); + + $links = []; + + foreach ($response as $link) { + $links[] = $link; + } + + return $links; + } } diff --git a/lib/Recipient/Request/RecipientGenerateKycLink.php b/lib/Recipient/Request/RecipientGenerateKycLink.php new file mode 100644 index 0000000..1d590b4 --- /dev/null +++ b/lib/Recipient/Request/RecipientGenerateKycLink.php @@ -0,0 +1,49 @@ +recipientId = $recipientId; + } + + /** + * @return array + */ + public function getPayload() + { + return []; + } + + /** + * @return string + */ + public function getPath() + { + return sprintf( + 'recipients/%s/kyc_link', + $this->recipientId + ); + } + + /** + * @return string + */ + public function getMethod() + { + return self::HTTP_POST; + } +} diff --git a/tests/unit/Recipient/Request/RecipientGenerateKycLinkTest.php b/tests/unit/Recipient/Request/RecipientGenerateKycLinkTest.php new file mode 100644 index 0000000..581c6b6 --- /dev/null +++ b/tests/unit/Recipient/Request/RecipientGenerateKycLinkTest.php @@ -0,0 +1,45 @@ +assertEquals(self::PATH, $recipientGenerateKycLink->getPath()); + } + + /** + * @test + */ + public function mustMethodBeCorrect() + { + $recipientGenerateKycLink = new RecipientGenerateKycLink(self::ID); + + $this->assertEquals(RequestInterface::HTTP_POST, $recipientGenerateKycLink->getMethod()); + } + + /** + * @test + */ + public function mustPayloadBeCorrect() + { + $recipientGenerateKycLink = new RecipientGenerateKycLink(self::ID); + + $this->assertEquals( + [], + $recipientGenerateKycLink->getPayload() + ); + } +}