承接 carecapay/sdk-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

carecapay/sdk-php

Composer 安装命令:

composer require carecapay/sdk-php

包简介

SDK oficial PHP da CarecaPay — cobranças Pix, saldo e verificação de webhooks.

README 文档

README

SDK oficial da CarecaPay para PHP: cobranças Pix, saldo e webhooks. Sem dependências além de ext-curl/ext-json (PHP 8.1+).

Instalação

composer require carecapay/sdk-php

Beta: enquanto o pacote não está no Packagist, aponte um repositório path/vcs do Composer para carecapay-sdk-php.

Pré-requisito: a chave privada (obrigatória)

Toda chamada é autenticada pela sua chave secreta (ccp_secret_...), gerada no painel em Chaves de API — ela aparece uma única vez. O construtor exige uma chave privada válida e falha na hora com chave pública, vazia ou de outro formato:

use CarecaPay\CarecaPay;

$carecapay = new CarecaPay($_ENV['CARECAPAY_SECRET_KEY']);

O ambiente vem embutido na chave (ccp_secret_sandbox_... → sandbox, ccp_secret_live_... → produção). Para desenvolvimento local:

$carecapay = new CarecaPay($key, ['base_url' => 'http://localhost:8080']);

Uso

$charge = $carecapay->charges->create([
    'amount_cents' => 1990,          // R$ 19,90 — sempre em centavos, obrigatório
    'description' => 'Assinatura',   // opcional
]);
echo $charge['qr_code'];             // copia e cola do Pix

$carecapay->charges->get('txn_...');
$carecapay->charges->list(['status' => 'paid', 'limit' => 10]);
$carecapay->balance->get();          // ['available_cents' => ..., 'pending_cents' => ...]

// só no sandbox: baixa fake (dispara o webhook também)
$carecapay->charges->simulatePayment($charge['id']);

Os arrays devolvidos têm exatamente os shapes da API REST (snake_case).

Webhooks (recomendado)

Configure sua URL e um segredo no painel (Webhooks). Cada entrega vem com dois mecanismos de verificação.

Com o SDK (recomendado): assinatura verificada em 1 chamada

Webhooks::constructEvent valida o HMAC (rejeita corpo adulterado e entregas antigas) usando o corpo CRU da requisição (php://input):

use CarecaPay\Webhooks;
use CarecaPay\CarecaPayWebhookException;

try {
    $event = Webhooks::constructEvent(
        payload: file_get_contents('php://input'),          // corpo cru!
        header: $_SERVER['HTTP_X_CARECAPAY_SIGNATURE'] ?? '',
        secret: $_ENV['CARECAPAY_WEBHOOK_SECRET'],          // ccp_whsec_...
    );
} catch (CarecaPayWebhookException) {
    http_response_code(400);
    exit;
}

if ($event['type'] === 'charge.paid') {
    liberarPedido($event['data']['id']); // deduplique pelo $event['id']
}
http_response_code(200);

Webhooks::verifySignature($payload, $header, $secret) devolve só o booleano. Entregas com mais de 5 minutos são rejeitadas ($toleranceSeconds ajusta).

Sem SDK / mais simples: comparar o token

Todo POST também traz o segredo cru no header X-CarecaPay-Token. É mais simples, mas não detecta corpo adulterado nem repetição de entrega, então exige HTTPS na sua URL:

if (($_SERVER['HTTP_X_CARECAPAY_TOKEN'] ?? '') !== $_ENV['CARECAPAY_WEBHOOK_SECRET']) {
    http_response_code(401);  // não veio da CarecaPay
    exit;
}

Erros

use CarecaPay\CarecaPayException;

try {
    $carecapay->charges->create(['amount_cents' => 0]);
} catch (CarecaPayException $err) {
    $err->code;    // "invalid_amount" (estável — programe contra ele)
    $err->status;  // 400 (0 em falha de rede, code "network_error")
}

Desenvolvimento

composer install && composer test

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固