Download the PHP package mupaybr/mupay-sdk without Composer
On this page you can find all versions of the php package mupaybr/mupay-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package mupay-sdk
MuPag SDK para PHP
Integre pagamentos MuPag em poucos minutos com um SDK pequeno, tipado e feito para quem quer criar uma cobranca sem estudar a API inteira primeiro.
Compatibilidade: o pacote, o namespace e a classe cliente principal foram renomeados: de
mupaybr/mupay-sdk,Mupay\Sdk\Mupayparamupag/mupag-sdk,MuPag\Sdk\MuPagClient.
Com isso voce ganha:
- API idiomatica:
$mupag->charges->create(...) - sandbox pronto com
MuPagClient::test(...) Idempotency-Keyautomatica por invocacao e chave de negocio explicita para fluxos financeiros- retries com backoff para falhas transientes e
429 - erros tipados com
request_id,code,suggestione link de documentacao - paginacao automatica por
Iterator - verificacao de webhooks com HMAC-SHA256 e tolerancia de timestamp
- suporte a PSR-18 para cliente HTTP e PSR-3 para logger
Pague em 5 minutos
Crie uma cobranca PIX de teste:
Pronto: voce recebe o objeto da cobranca e pode mostrar o QR Code ou link de pagamento retornado pela API.
Configuracao
Use MuPagClient::test() para sandbox (sk_test_*) e MuPagClient::prd() para producao (sk_prd_*).
Se seu app ja usa um client HTTP PSR-18 ou logger PSR-3, injete direto no factory. O SDK nao salva chave em arquivo, cache ou log.
Criar cobranca
Se voce nao passar idempotencyKey, o SDK gera uma chave segura e a reutiliza nos retries internos
daquela invocacao. Uma nova chamada gera outra chave. Em pagamentos, use desde o inicio uma chave
estavel derivada do ID imutavel da operacao de negocio.
Para cartão, envie também payer_ip com o IP literal do pagador observado no checkout (não o IP
do servidor do merchant). O contrato atual aceita uma parcela, rejeita soft_descriptor e falha
fechado quando o merchant exige 3DS.
Listar cobrancas sem pensar em pagina
O iterator busca a proxima pagina apenas quando necessario. Seu codigo continua simples mesmo com milhares de cobrancas.
Cancelar assinatura
O cancelamento usa POST /v1/subscriptions/{id}/cancel com um payload contendo mode e reason.
O backend decide a transicao de estado e preserva auditoria.
Verificar webhook
Nunca confie no payload antes de validar assinatura:
O payload assinado e {timestamp}.{raw_json_body}. A assinatura usa HMAC-SHA256 e comparacao em tempo constante com hash_equals; o JSON segue { "id": string, "type": string, "data": object }.
Tratar erros sem adivinhar
ApiException preserva status HTTP, codigo estavel da API, sugestao, URL de documentacao e request_id. Isso reduz tentativa e erro durante integracao.
OutcomeUnknownException significa que a mutacao pode ter sido aceita, mas a resposta final nao foi
confirmada. idempotencyKey() retorna exatamente a chave enviada: persista-a e reconcilie ou repita
somente o mesmo payload. Retries limitados cobrem transporte, 408, 425, 429, 5xx e
409/idempotency_in_progress, usando backoff exponencial com jitter e Retry-After limitado.
409/idempotency_outcome_unknown e qualquer 409 sem codigo reconhecidamente definitivo ficam
desconhecidos imediatamente. Somente fingerprint_conflict, idempotency_fingerprint_conflict e
idempotency_key_reused sao definitivos quando nenhuma tentativa anterior ficou ambigua. Depois de uma
ambiguidade, apenas um 2xx JSON estrutural e financeiramente valido confirma o resultado; um 4xx,
409 ou 429 posterior nao o redefine como definitivo.
Exemplos
examples/create_charge.php: cria cobranca PIXexamples/list_charges.php: lista cobrancas com iteratorexamples/verify_webhook.php: valida assinatura de webhook
Desenvolvimento
Publicacao no Packagist
Nome do pacote Composer: mupag/mupag-sdk.
O repositorio de publicacao e mupaybr/mupag-sdk-php. Para ficar publico para qualquer dev PHP usar com composer require mupag/mupag-sdk, o pacote precisa estar no Packagist e o composer.json precisa estar na raiz desse repositorio.
Migracao para MuPag 0.2.0
Atualize a dependencia, o namespace e a classe cliente juntos:
Antes:
Depois:
O pacote e o namespace antigos nao fazem parte da API publica da versao 0.2.0.
Fluxo recomendado:
- Manter o conteudo publicavel do SDK na raiz de
mupaybr/mupag-sdk-php. - Criar a tag SemVer
v0.2.0. - Entrar no Packagist, clicar em Submit e informar a URL publica do repositorio.
- Habilitar hook/auto-update do Packagist para novas tags.
Depois disso, qualquer projeto PHP instala assim:
All versions of mupay-sdk with dependencies
guzzlehttp/guzzle Version ^7.9
psr/http-client Version ^1.0
psr/http-message Version ^1.0
psr/log Version ^1.1 || ^2.0 || ^3.0