misterioso013/picpay-php
Composer 安装命令:
composer require misterioso013/picpay-php
包简介
Integração simples com a API do PicPay
README 文档
README
Vamos utilizar a API do PicPay E-commerce para receber pagamentos em nosso sistema simples criado com PHP 8.
Instalação
Inclua o arquivo PicPay.php no código:
<?php require_once("src/PicPay.php"); use Misterioso013\Payments\PicPay; $picpay = New PicPay(x_picpay_token, x_seller_token);
Ou utilize o composer para facilitar a sua vida. Instalação:
composer require misterioso013/picpay-php
Exemplo de uso:
<?php require __DIR__. "vendor/autoload.php"; use Misterioso013\Payments\PicPay; $picpay = New PicPay(x_picpay_token, x_seller_token);
Atenção: Lembre-se de substituir x_picpay_token e x_seller_token pelos seus token encontrados no site do PicPay.
Solicitar Pagamentos
O cliente decide pagar usando o PicPay e agora é só gerar o pagamento com os dados dele. Teste o código:
$data = array( "referenceId" => 100000000, "callbackUrl" => "http://www.sualoja.com.br/callback", "returnUrl" => "http://www.sualoja.com.br/cliente/pedido/102030", "value" => 0.50, "expiresAt" => "2022-05-01T16:00:00-03:00", "channel" => "my-channel", "purchaseMode" => "in-store", "buyer" => [ "firstName"=> "João", "lastName"=> "Da Silva", "document"=> "123.456.789-10", "email"=> "teste@picpay.com", "phone" => "+55 27 12345-6789" ]); print_r($picpay->Payments($data));
Entenda a resposta
Ao solicitar o pagamento você recebe um Array com os seguintes dados:
| Índice/Chave | Descrição |
|---|---|
| referenceId | Irá retornar o ID que você definiu anteriormente |
| paymentUrl | URL da página onde o cliente faz o pagamento e depois é redirecionado para returnUrl |
| qrcode | Chave de Array com content e base64 |
| qrcode->content | Conteúdo do QR Code. Poder ser útil para criar o seu próprio QR |
| qrcode->base64 | A imagem do QR code em Base64 |
| expiresAt | Data da expiração do pedido em ISO 8601 que foi definida anteriormente |
Erros
Os erros irão retornar as seguintes mensagens:
- O Token informado é inválido
- Algumas propriedades não passaram no teste de validação.
- Problema geral, verifique se a transação foi criada ou cancele a mesma.
Esperar 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.
Erro 422 - Validação de Dados
Resposta à possíveis erros:
Array
(
[0] => stdClass Object
(
[message] => O campo reference id é obrigatório.
[field] => referenceId
)
[1] => stdClass Object
(
[message] => O campo value é obrigatório.
[field] => value
)
[2] => stdClass Object
(
[message] => O campo callback url é obrigatório.
[field] => callbackUrl
)
[3] => stdClass Object
(
[message] => O campo buyer é obrigatório.
[field] => buyer
)
[4] => stdClass Object
(
[message] => O campo buyer.document é obrigatório.
[field] => buyer.document
)
)
Exemplo de como verificar esses erros:
$data = array(
"referenceId" => "",
"callbackUrl" => "",
"returnUrl" => "",
"value" => "",
"expiresAt" => "",
"channel" => "my-channel",
"purchaseMode" => "in-store",
"buyer" => [
"firstName"=> "",
"lastName"=> "",
"document"=> "",
"email"=> "",
"phone" => ""
]);
$payment = $picpay->Payments($data);
if(isset($payment->error)) {
if(isset($payment->error->errors)){
foreach($payment->error->errors as $error) {
$message = $error->message;
$field = $error->field;
echo "Atenção! {$message} | Campo: {$field} <br>";
}
}
}
Status
Consulte o status do seu pedido de forma simples. Use nosso exemplo para melhor compreensão
Use o
referenceIdcomo indetificador do pedido
Exemplo:
$request = $picpay->Status($referenceId); print_r($request);
Retorno em caso de sucesso:
stdClass Object ( [referenceId] => 960361262 [status] => paid [createdAt] => 2021-09-09T07:29:37.000000Z [updatedAt] => 2021-09-09T09:00:17.000000Z [value] => 0.5 [authorizationId] => 0000b800cf788600237f30f3 )
Entenda o Array acima:
| Índice/Chave | Descrição |
|---|---|
| referenceId | Irá retornar o ID que você definiu anteriormente |
| status | Status atual do pedido |
| createdAt | Data da criação do pedido em ISO 8601 |
| updatedAt | Data da última atualização de status do pedido em ISO 8601 |
| value | Preço do pedido |
| authorizationId | Número da autorização de pagamento (caso esteja pago) |
Possíveis status:
| Status | Descrição |
|---|---|
| created | registro criado |
| expired | prazo para pagamento expirado |
| analysis | pago e em processo de análise anti-fraude |
| paid | pago |
| completed | pago e saldo disponível |
| refunded | pago e devolvido |
| chargeback | pago e com chargeback |
Cancelamento
Cancele pedidos que ainda não foram pagos ou devolva o dinheiro de pagamentos já concluídos.
Use o
referenceIdcomo indetificador do pedido Use oauthorizationIdpara cancelar pedidos que já estão pagos
Exemplo:
# o authorizationId só é obrigatório para pedidos que já foram pagos $request = $picpay->Cancellations($referenceId, $authorizationId); print_r($request);
Retorno em caso de sucesso:
stdClass Object ( [referenceId] => 960361262 [cancellationId] => 0000b800cf788600237f30f3 )
Entenda o Array acima:
| Índice/Chave | Descrição |
|---|---|
| referenceId | Irá retornar o ID que você definiu anteriormente |
| cancellationId | Número de verificação do cancelamento do pagamento |
Nã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.
Sinta-se a vontade para fazer um fork e continuar esse projeto, tenho certeza que isso ajudará muita gente.
misterioso013/picpay-php 适用场景与选型建议
misterioso013/picpay-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 3, 最近一次更新时间为 2022 年 03 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payments」 「PicPay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 misterioso013/picpay-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 misterioso013/picpay-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 misterioso013/picpay-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dealing with payments through the Egyptian payment gateway PayMob
Librería para la gestión sencilla de pagos mediante TPV Redsys y Paypal
PicPay SDK for PHP
PicPay E-Commerce PHP SDK: PHP library provides developers with a simple set of bindings to help you integrate Brazilian to the Payment App PicPay E-Commerce API to a website and start receiving payments.
PicPay Gateway Provider
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-03-17