Download the PHP package michaeld555/santander-sdk without Composer
On this page you can find all versions of the php package michaeld555/santander-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download michaeld555/santander-sdk
More information about michaeld555/santander-sdk
Files in michaeld555/santander-sdk
Package santander-sdk
Short Description Santander SDK for PHP/Laravel
License MIT
Informations about the package santander-sdk
Santander PHP/Laravel SDK
SDK para integracao com APIs do Santander em projetos Laravel e PHP puro.
Versao
1.0.0
Sumario
- Escopo
- Cobertura de Endpoints
- Instalacao
- Configuracao
- Arquitetura da SDK
- Quickstart Laravel
- Quickstart PHP puro
- Referencia por Modulo
- Erros e Tratamento
- Logs e Observabilidade
- Testes
- Notas da versao 1.0.0
- Documentacao oficial Santander
- Licenca
Escopo
Esta SDK cobre os fluxos principais das colecoes em endpoints/:
- Pagamentos parceiros (
management_payments_partners) - Informacoes de contas (
bank_account_information) - Comprovantes (
consult_payment_receipts) - Pix Automatico (
/api/v1) - Autenticacao OAuth2 (
/auth/oauth/v2/token)
Cobertura de Endpoints
| Dominio | Base endpoint | Acesso via SDK | Metodos |
|---|---|---|---|
| Auth | /auth/oauth/v2/token |
interno (SantanderAuth) |
renovacao automatica de token |
| Workspaces | /management_payments_partners/v1/workspaces |
Santander::workspaces() |
createWorkspace, createWorkspaceValidated, listWorkspaces, getWorkspace, updateWorkspace, deleteWorkspace |
| Pix Payments | /management_payments_partners/v1/workspaces/:workspaceid/pix_payments |
Santander::pix() |
transferPix, createPayment, confirmPayment, getPayment, listPayments |
| Bank Slip Payments | /management_payments_partners/v1/workspaces/:workspaceid/bank_slip_payments |
Santander::bankSlips() |
createPayment, confirmPayment, getPayment, listPayments, listAvailableBankSlips |
| Barcode Payments | /management_payments_partners/v1/workspaces/:workspaceid/barcode_payments |
Santander::barcodes() |
createPayment, confirmPayment, getPayment, listPayments |
| Vehicle Taxes | /management_payments_partners/v1/workspaces/:workspaceid/vehicle_taxes_payments |
Santander::vehicleTaxes() |
listAvailableVehicleTaxes, createPayment, confirmPayment, getPayment, listPayments |
| Taxes by Fields | /management_payments_partners/v1/workspaces/:workspaceid/taxes_by_fields_payments |
Santander::taxesByFields() |
createPayment, confirmPayment, getPayment, listPayments |
| Contas | /bank_account_information/v1/banks/:bank_tax_id |
Santander::accounts() |
listAccounts, getBalance, getStatement |
| Comprovantes | /consult_payment_receipts/v1/payment_receipts |
Santander::receipts() |
paymentList, paymentListIterByPages, createReceipt, getReceipt, receiptCreationHistory |
| Pix Automatico - Location | /api/v1/locrec |
Santander::pixAutomatic() |
createLocation, listLocations, getLocation, unbindLocation |
| Pix Automatico - Recorrencia | /api/v1/rec |
Santander::pixAutomatic() |
createRecurrence, listRecurrences, getRecurrence, updateRecurrence, cancelRecurrence |
| Pix Automatico - Solicitacao de confirmacao | /api/v1/solicrec |
Santander::pixAutomatic() |
createConfirmationRequest, getConfirmationRequest, reviewConfirmationRequest |
| Pix Automatico - Cobranca recorrente | /api/v1/cobr |
Santander::pixAutomatic() |
createRecurringCharge, reviewRecurringCharge, getRecurringCharge, listRecurringCharges, requestRecurringChargeRetry |
| Pix Automatico - Webhooks | /api/v1/webhookrec e /api/v1/webhookcobr |
Santander::pixAutomatic() |
configure*Webhook, get*Webhook, delete*Webhook |
Instalacao
Publicar configuracao (Laravel):
Configuracao
Variaveis de ambiente
Tabela de configuracao
| Variavel | Obrigatoria | Default | Descricao |
|---|---|---|---|
SANTANDER_CLIENT_ID |
Sim | - | Client ID da aplicacao no Santander |
SANTANDER_CLIENT_SECRET |
Sim | - | Client secret da aplicacao no Santander |
SANTANDER_CERT |
Sim na maioria dos cenarios | - | Certificado client TLS. Pode ser string (caminho) ou array compativel com Guzzle |
SANTANDER_BASE_URL |
Sim | - | URL base da API (trust-open ou trust-sandbox) |
SANTANDER_WORKSPACE_ID |
Nao | vazio | Se vazio, SDK tenta descobrir o primeiro workspace PAYMENTS ativo |
SANTANDER_BANK_TAX_ID |
Nao | 90400888000142 |
CNPJ base usado pelos endpoints de contas |
SANTANDER_LOG_LEVEL |
Nao | ERROR |
ERROR ou ALL |
SANTANDER_TIMEOUT |
Nao | 60 |
Timeout HTTP em segundos |
URLs usuais
- Sandbox:
https://trust-sandbox.api.santander.com.br - Producao:
https://trust-open.api.santander.com.br
Observacoes importantes
- O placeholder de workspace aceita
:workspaceide:workspace_idinternamente. - Se
SANTANDER_WORKSPACE_IDnao for informado e nao existir workspacePAYMENTSativo, a SDK lancaSantanderClientError. - Para endpoints de contas, o
bank_tax_idpode ser definido na config ou sobrescrito por metodo.
Arquitetura da SDK
Camadas
SantanderAuth: gerencia token OAuth2 e renovacaoSantanderApiClient: executa requests HTTP, substitui placeholders e centraliza logs/erros- Modulos de dominio (
Pix,PaymentReceipts,BankAccounts, etc): expoem metodos por endpoint SantanderSdk: facade de alto nivel para acessar todos os modulos
Fluxo de request
- O modulo chama
SantanderApiClientcom endpoint + payload - O client injeta
AuthorizationeX-Application-Key - O client resolve placeholders de URL
- O Santander responde
- A SDK retorna array normalizado ou lanca excecao especifica
Quickstart Laravel
Quickstart PHP puro
Referencia por Modulo
1) Pix (Santander::pix())
Fluxo simplificado: transferPix
- Entrada:
pixKey: chave PIX string (CPF/CNPJ/EMAIL/EVP/CELULAR) ou arraybeneficiaryvalue: valor numericodescription: descricaotagseidopcionais
- Comportamento:
- cria pagamento
- aguarda
READY_TO_PAYquando necessario - confirma com status
AUTHORIZED - retorna estrutura padrao:
Fluxo detalhado (baixo nivel)
2) Comprovantes (Santander::receipts())
Paginacao lazy por generator:
3) Workspaces (Santander::workspaces())
4) Contas (Santander::accounts())
Sobrescrevendo bank_tax_id por chamada:
5) Bank Slips (Santander::bankSlips())
6) Barcode (Santander::barcodes())
7) Vehicle Taxes (Santander::vehicleTaxes())
8) Taxes by Fields (Santander::taxesByFields())
9) Pix Automatico (Santander::pixAutomatic())
Location
Recorrencia
Solicitacao de confirmacao
Cobranca recorrente
Webhooks
Erros e Tratamento
Excecoes da SDK
SantanderRequestError- erro HTTP, timeout de conexao ou resposta nao bem sucedida
- contem
getStatusCode()egetContent()
SantanderClientError- erro de configuracao local (workspace ausente, parametros invalidos, etc)
SantanderRejectedError- pagamento rejeitado pelo banco durante create/confirm
SantanderStatusTimeoutError- timeout ao aguardar mudanca de status no fluxo de polling
Exemplo de captura
Observacao sobre transferPix
transferPix e um helper de alto nivel. Para fluxos de controle total (idempotencia propria, reprocesso customizado, auditoria por etapa), prefira createPayment + confirmPayment + getPayment.
Logs e Observabilidade
Configurar SANTANDER_LOG_LEVEL:
ERROR: registra apenas falhasALL: registra falhas e sucessos
Quando habilitado, o log inclui:
- metodo HTTP
- URL
- request body
- query params
- status code
- response body parseado (quando possivel)
- tipo/mensagem de erro
Testes
Rodar suite atual:
Notas da versao 1.0.0
- Adicionados modulos:
WorkspaceManagement,BankAccounts,BankSlipPayments,BarcodePayments,VehicleTaxesPayments,TaxesByFieldsPayments,PixAutomatic Pixexpandido comcreatePayment,confirmPayment,listPayments,getPaymentSantanderApiClientagora resolve placeholders:workspaceide:workspace_id- Configuracao nova:
bank_tax_id - README expandido com referencia completa
Documentacao oficial Santander
- User guide: https://developer.santander.com.br/api/user-guide/user-guide-introduction
- Transferencias e pagamentos: https://developer.santander.com.br/api/documentacao/transferencias-pix-visao-geral#/
- Comprovantes: https://developer.santander.com.br/api/documentacao/comprovantes-visao-geral#/
Licenca
MIT
All versions of santander-sdk with dependencies
illuminate/support Version ^10.0|^11.0
illuminate/http Version ^10.0|^11.0
guzzlehttp/guzzle Version ^7.0