{"id":35005783,"url":"https://github.com/misterioso013/picpay-php","last_synced_at":"2026-05-21T17:32:48.231Z","repository":{"id":57017615,"uuid":"403856552","full_name":"misterioso013/picpay-php","owner":"misterioso013","description":"Integração simples da API do PicPay com seus sistemas PHP","archived":false,"fork":false,"pushed_at":"2023-03-30T05:17:19.000Z","size":18,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-12T11:48:47.597Z","etag":null,"topics":["payment","php","picpay"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/misterioso013/picpay-php","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/misterioso013.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-07T05:51:13.000Z","updated_at":"2024-05-29T21:14:20.000Z","dependencies_parsed_at":"2022-08-22T11:31:38.735Z","dependency_job_id":null,"html_url":"https://github.com/misterioso013/picpay-php","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/misterioso013/picpay-php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misterioso013%2Fpicpay-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misterioso013%2Fpicpay-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misterioso013%2Fpicpay-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misterioso013%2Fpicpay-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/misterioso013","download_url":"https://codeload.github.com/misterioso013/picpay-php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misterioso013%2Fpicpay-php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28072398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["payment","php","picpay"],"created_at":"2025-12-27T04:37:28.974Z","updated_at":"2025-12-27T04:37:29.448Z","avatar_url":"https://github.com/misterioso013.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Receba Pagamentos via PicPay\nVamos utilizar a API do [PicPay E-commerce](https://ecommerce.picpay.com/) para receber pagamentos em nosso sistema simples criado com PHP 8. \n\n\n## Instalação\n\nInclua o arquivo `PicPay.php` no código:\n```php\n\u003c?php\n\nrequire_once(\"src/PicPay.php\");\n\nuse Misterioso013\\Payments\\PicPay; \n$picpay = New PicPay(x_picpay_token, x_seller_token);\n```\nOu utilize o [composer](https://getcomposer.org/) para facilitar a sua vida. Instalação:\n```\ncomposer require misterioso013/picpay-php\n```\nExemplo de uso:\n```php\n\u003c?php\n\nrequire __DIR__. \"vendor/autoload.php\";\n\nuse Misterioso013\\Payments\\PicPay; \n$picpay = New PicPay(x_picpay_token, x_seller_token);\n```\n**Atenção:** Lembre-se de substituir `x_picpay_token` e `x_seller_token` pelos seus token encontrados no site do PicPay.\n## Solicitar Pagamentos\nO cliente decide pagar usando o PicPay e agora é só gerar o pagamento com os dados dele.\nTeste o código:\n```php\n$data = array(\n  \"referenceId\" =\u003e 100000000,\n  \"callbackUrl\" =\u003e \"http://www.sualoja.com.br/callback\",\n  \"returnUrl\" =\u003e \"http://www.sualoja.com.br/cliente/pedido/102030\",\n  \"value\" =\u003e 0.50,\n  \"expiresAt\" =\u003e \"2022-05-01T16:00:00-03:00\",\n  \"channel\" =\u003e \"my-channel\",\n  \"purchaseMode\" =\u003e \"in-store\",\n  \"buyer\" =\u003e  [\n    \"firstName\"=\u003e \"João\",\n    \"lastName\"=\u003e \"Da Silva\",\n    \"document\"=\u003e \"123.456.789-10\",\n    \"email\"=\u003e \"teste@picpay.com\",\n    \"phone\" =\u003e \"+55 27 12345-6789\"\n  ]);\n\n  print_r($picpay-\u003ePayments($data));\n```\n### Entenda a resposta\nAo solicitar o pagamento você recebe um Array com os seguintes dados:\n\n| Índice/Chave |  Descrição  |\n| ------------------- | ------------------- |\n|  referenceId |  Irá retornar o ID que você definiu anteriormente  |\n|  paymentUrl  |  URL da página onde o cliente faz o pagamento e depois é redirecionado para `returnUrl`  |\n|  qrcode  |  Chave de Array com `content` e `base64`  |\n|  qrcode-\u003econtent  |  Conteúdo do QR Code. Poder ser útil para criar o seu próprio QR  |\n|  qrcode-\u003ebase64  |  A imagem do QR code em Base64  |\n|  expiresAt  |  Data da expiração do pedido em `ISO 8601` que foi definida anteriormente  |\n\n\n\n#### Erros\nOs erros irão retornar as seguintes mensagens:\n- O Token informado é inválido\n- Algumas propriedades não passaram no teste de validação.\n    * \u003e [Entenda esse erro](https://github.com/misterioso013/picpay-php#erro-422---valida%C3%A7%C3%A3o-de-dados)\n- Problema geral, verifique se a transação foi criada ou cancele a mesma.\n\nEsperar por erros ajuda a não depender apenas do cliente definir digitar os dados corretamente ou da API que você está usando. Aconteça o que acontecer mas seu sistema nunca cairá por causa de algum erro.\n\n##### Erro 422 - Validação de Dados\n\nResposta à possíveis erros:\n\n```\nArray\n(\n    [0] =\u003e stdClass Object\n        (\n            [message] =\u003e O campo reference id é obrigatório.\n            [field] =\u003e referenceId\n        )\n\n    [1] =\u003e stdClass Object\n        (\n            [message] =\u003e O campo value é obrigatório.\n            [field] =\u003e value\n        )\n\n    [2] =\u003e stdClass Object\n        (\n            [message] =\u003e O campo callback url é obrigatório.\n            [field] =\u003e callbackUrl\n        )\n\n    [3] =\u003e stdClass Object\n        (\n            [message] =\u003e O campo buyer é obrigatório.\n            [field] =\u003e buyer\n        )\n\n    [4] =\u003e stdClass Object\n        (\n            [message] =\u003e O campo buyer.document é obrigatório.\n            [field] =\u003e buyer.document\n        )\n\n)\n```\nExemplo de como verificar esses erros:\n\n```\n$data = array(\n  \"referenceId\" =\u003e \"\",\n  \"callbackUrl\" =\u003e \"\",\n  \"returnUrl\" =\u003e \"\",\n  \"value\" =\u003e \"\",\n  \"expiresAt\" =\u003e \"\",\n  \"channel\" =\u003e \"my-channel\",\n  \"purchaseMode\" =\u003e \"in-store\",\n  \"buyer\" =\u003e  [\n    \"firstName\"=\u003e \"\",\n    \"lastName\"=\u003e \"\",\n    \"document\"=\u003e \"\",\n    \"email\"=\u003e \"\",\n    \"phone\" =\u003e \"\"\n  ]);\n$payment = $picpay-\u003ePayments($data);\n\n  if(isset($payment-\u003eerror)) {\n\n    if(isset($payment-\u003eerror-\u003eerrors)){\n      \n      foreach($payment-\u003eerror-\u003eerrors as $error) {\n\n        $message = $error-\u003emessage;\n        $field = $error-\u003efield;\n  \n        echo \"Atenção! {$message} | Campo: {$field} \u003cbr\u003e\";\n      }\n    }\n  }\n\n```\n\n## Status\nConsulte o status do seu pedido de forma simples. Use nosso exemplo para melhor compreensão\n\u003e Use o `referenceId` como indetificador do pedido\n\nExemplo:\n```php\n$request = $picpay-\u003eStatus($referenceId);\nprint_r($request);\n\n```\nRetorno em caso de sucesso:\n\n```php\nstdClass Object\n(\n    [referenceId] =\u003e 960361262\n    [status] =\u003e paid\n    [createdAt] =\u003e 2021-09-09T07:29:37.000000Z\n    [updatedAt] =\u003e 2021-09-09T09:00:17.000000Z\n    [value] =\u003e 0.5\n    [authorizationId] =\u003e 0000b800cf788600237f30f3\n)\n\n```\nEntenda o Array acima:\n\n| Índice/Chave    | Descrição                                                    |\n|-----------------|--------------------------------------------------------------|\n| referenceId     | Irá retornar o ID que você definiu anteriormente             |\n| status          | Status atual do pedido                                       |\n| createdAt       | Data da criação do pedido em `ISO 8601`                      |\n| updatedAt       | Data da última atualização de status do pedido em `ISO 8601` |\n| value           | Preço do pedido                                              |\n| authorizationId | Número da autorização de pagamento **(caso esteja pago)**    |\n\nPossíveis status:\n\n| Status     | Descrição                                 |\n|------------|-------------------------------------------|\n| created    | registro criado                           |\n| expired    | prazo para pagamento expirado             |\n| analysis   | pago e em processo de análise anti-fraude |\n| paid       | pago                                      |\n| completed  | pago e saldo disponível                   |\n| refunded   | pago e devolvido                          |\n| chargeback | pago e com chargeback                     |\n\n## Cancelamento\nCancele pedidos que ainda não foram pagos ou devolva o dinheiro de pagamentos já concluídos.\n\u003e Use o `referenceId` como indetificador do pedido\n\u003e Use o `authorizationId` para cancelar pedidos que já estão pagos\n\nExemplo:\n```php\n# o authorizationId só é obrigatório para pedidos que já foram pagos\n$request = $picpay-\u003eCancellations($referenceId, $authorizationId);\nprint_r($request);\n\n```\nRetorno em caso de sucesso:\n\n```php\nstdClass Object\n(\n    [referenceId] =\u003e 960361262\n    [cancellationId] =\u003e 0000b800cf788600237f30f3\n)\n\n```\nEntenda o Array acima:\n\n| Índice/Chave   | Descrição                                          |\n|----------------|----------------------------------------------------|\n| referenceId    | Irá retornar o ID que você definiu anteriormente   |\n| cancellationId | Número de verificação do cancelamento do pagamento |\n\nNão pude testar tudo que é possível acontecer com o uso da API, e a sua última documentação se encontra fora de funcionamento no momento desse commit.\n\nSinta-se a vontade para fazer um fork e continuar esse projeto, tenho certeza que isso ajudará muita gente.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisterioso013%2Fpicpay-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmisterioso013%2Fpicpay-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisterioso013%2Fpicpay-php/lists"}