Caminho no Gestor bibliotecas/paypal.php
Chamadas diretas à API REST do PayPal (api-m.paypal.com em produção, api-m.sandbox.paypal.com em sandbox), sem SDK. A versão registrada é 3.1.0 (paypal_info()).
Credenciais: dois modos
| Modo | De onde vêm as credenciais | Onde o token OAuth é guardado |
|---|---|---|
| padrão | .env: PAYPAL_MODE (sandbox/live), PAYPAL_CLIENT_ID, PAYPAL_SECRET, PAYPAL_WEBHOOK_ID |
Variáveis do módulo admin-environment (paypal-access-token…) |
| gateway | Registro paypal da tabela gateways_pagamentos |
Colunas access_token, token_expires_at e token_data do próprio gateway |
PAYPAL_DEFAULT (padrao ou gateway) escolhe o modo de paypal_auto_configurar(). Para um gateway específico: paypal_gateways_pagamentos_configurar(['id' => 7]). O .env só preenche as credenciais do ambiente de PAYPAL_MODE.
paypal_autenticar() reaproveita o token em $_GESTOR['paypal-token'] enquanto faltarem mais de 5 minutos para vencer, e pede outro (client_credentials) quando não. ['force_refresh' => true] força. No modo gateway, uma falha de autenticação marca o gateway como desconectado (paypal_gateway_atualizar_conexao()), e cada transação pode somar às estatísticas dele (paypal_gateway_registrar_transacao()).
Requisição
paypal_requisicao(['endpoint', 'method', 'data', 'headers', 'auth_basic', 'access_token']) devolve ['http_code', 'data', 'raw'] ou false. Como no Stripe, erro da API não é false: confira http_code. Erros vão para gestor/logs/paypal-<data>.log.
Operações
| Área | Funções |
|---|---|
| Pedidos (Orders v2) | paypal_criar_pedido(), paypal_capturar_pedido(), paypal_consultar_pedido(), paypal_processar_pagamento_transparente(), paypal_gerar_client_token() e paypal_validar_payment_source() (cartão direto na página) |
| Reembolsos | paypal_reembolsar(), paypal_consultar_reembolso() |
| Catálogo e planos | paypal_criar_produto(), paypal_listar_produtos(), paypal_consultar_produto(), paypal_atualizar_produto(); paypal_criar_plano(), paypal_listar_planos(), paypal_consultar_plano(), paypal_ativar_plano(), paypal_desativar_plano(), paypal_atualizar_precos_plano() |
| Assinaturas | paypal_criar_assinatura(), paypal_consultar_assinatura(), paypal_suspender_assinatura(), paypal_ativar_assinatura(), paypal_cancelar_assinatura(), paypal_capturar_assinatura(), paypal_listar_transacoes_assinatura() |
| Faturas (Invoicing v2) | paypal_criar_fatura(), paypal_listar_faturas(), paypal_buscar_faturas(), paypal_consultar_fatura(), paypal_enviar_fatura(), paypal_lembrete_fatura(), paypal_cancelar_fatura(), paypal_deletar_fatura(), paypal_registrar_pagamento_fatura(), paypal_registrar_reembolso_fatura(), paypal_gerar_qrcode_fatura(), paypal_gerar_numero_fatura() |
| Payouts | paypal_criar_payout(), paypal_consultar_payout(), paypal_consultar_item_payout(), paypal_cancelar_item_payout() |
| Links de pagamento | paypal_gerar_link_pagamento(), paypal_verificar_link_pagamento() |
| Disputas | paypal_listar_disputas(), paypal_consultar_disputa(), paypal_aceitar_disputa(), paypal_contestar_disputa(), paypal_mensagem_disputa(), paypal_escalar_disputa() |
| Relatórios | paypal_listar_transacoes(), paypal_consultar_saldo() |
| Conferências | paypal_pedido_pago(), paypal_assinatura_ativa(), paypal_fatura_paga() |
Webhook
paypal_validar_webhook(['headers' => getallheaders(), 'body' => $corpoCru]) pede ao próprio PayPal a verificação da assinatura (verify-webhook-signature, com o PAYPAL_WEBHOOK_ID) e só aceita verification_status = SUCCESS. paypal_processar_webhook(['body' => …, 'callback' => …]) decodifica o evento e chama o callback; ele não valida, então chame antes o paypal_validar_webhook().
O endpoint /_gateways/paypal/webhook (controlador plataforma-gateways) valida e dispara o hook paypal.webhook; há também as rotas de retorno e cancelamento do checkout.
Utilitários e armadilhas
-
paypal_formatar_valor(),paypal_traduzir_status()(para português),paypal_gerar_id(),paypal_validar_email()epaypal_log_registro(). -
paypal_formatar_data()geraAAAA-MM-DDTHH:MM:SSZcomdate(), que usa o fuso do servidor: oZ(UTC) só é verdadeiro se o PHP estiver em UTC. O Gestor não define fuso horário. -
paypal_calcular_taxa($valor, 'nacional'|'internacional')usa taxas fixas no código (4,99% + 0,60 e 5,99% + 0,60), que não acompanham a tabela real do PayPal. Serve só como estimativa. -
O
admin-environmentusa a biblioteca para testar as credenciais.
Auxiliares internos: paypal_gateway_persistir_token(), paypal_is_modo_gateway(), paypal_obter_gateway_id(), paypal_obter_gateway_dados(), paypal_padrao_persistir_token(), paypal_padrao_restaurar_token(), paypal_obter_url_api(), paypal_obter_credenciais().
Funções
Gerado a partir de gestor/bibliotecas/paypal.php · 78 funções
paypal_log_registro
ver no código · linha 39 ↗paypal_log_registro($logData = []): voidRegistra um log de evento relacionado ao PayPal.
Parâmetros
$logData
Retorno
paypal_gateways_pagamentos_configurar
ver no código · linha 64 ↗paypal_gateways_pagamentos_configurar(array|false $params = false): boolConfigura a biblioteca PayPal para usar um gateway de pagamentos do banco.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_gateway_persistir_token
ver no código · linha 169 ↗paypal_gateway_persistir_token(array $token_data): boolPersiste o token OAuth no banco de dados do gateway ativo.
Parâmetros
$token_dataarray- Dados do token (access_token, token_type, expires_at, etc)
Retorno
paypal_gateway_registrar_transacao
ver no código · linha 207 ↗paypal_gateway_registrar_transacao(array|false $params = false): boolRegistra uma transação nas estatísticas do gateway ativo.
Parâmetros
$paramsarray|false- Parâmetros
Retorno
paypal_gateway_atualizar_conexao
ver no código · linha 242 ↗paypal_gateway_atualizar_conexao(bool $sucesso, string $mensagem = ''): boolAtualiza o status de conexão do gateway ativo.
Parâmetros
$sucessobool- Se a conexão foi bem-sucedida
$mensagemstring- Mensagem descritiva do resultado
Retorno
paypal_is_modo_gateway
ver no código · linha 270 ↗paypal_is_modo_gateway(): boolVerifica se a biblioteca está operando em modo gateway (banco de dados).
Retorno
paypal_obter_gateway_id
ver no código · linha 282 ↗paypal_obter_gateway_id(): string|nullObtém o ID do gateway ativo.
Retorno
paypal_obter_gateway_dados
ver no código · linha 294 ↗paypal_obter_gateway_dados(): array|nullObtém os dados completos do gateway ativo.
Retorno
paypal_padrao_persistir_token
ver no código · linha 313 ↗paypal_padrao_persistir_token(array $token_data): boolPersiste o token OAuth nas variáveis do sistema (modo padrão).
Parâmetros
$token_dataarray- Dados do token (access_token, token_type, expires_at, etc)
Retorno
paypal_padrao_restaurar_token
ver no código · linha 355 ↗paypal_padrao_restaurar_token(): boolRestaura o token OAuth persistido nas variáveis do sistema (modo padrão).
Retorno
paypal_auto_configurar
ver no código · linha 403 ↗paypal_auto_configurar(): voidInicializa a biblioteca PayPal automaticamente baseado em $_CONFIG['paypal']['default'].
Retorno
paypal_obter_url_api
ver no código · linha 431 ↗paypal_obter_url_api(): stringObtém a URL base da API do PayPal baseado no modo (sandbox/live).
Retorno
paypal_obter_credenciais
ver no código · linha 450 ↗paypal_obter_credenciais(): array|falseObtém as credenciais do PayPal baseado no modo (sandbox/live).
Retorno
paypal_requisicao
ver no código · linha 484 ↗paypal_requisicao(array|false $params = false): array|falseRealiza requisição HTTP para a API do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da requisição
Retorno
paypal_autenticar
ver no código · linha 600 ↗paypal_autenticar(array|false $params = false): array|falseAutentica com PayPal e obtém access token OAuth 2.0.
Parâmetros
$paramsarray|false- Parâmetros da função (opcional)
Retorno
paypal_gerar_client_token
ver no código · linha 673 ↗paypal_gerar_client_token(array|false $params = false): string|falseGera o client token usado pelos Card Fields/Hosted Fields no navegador.
Parâmetros
$paramsarray|false- Parâmetros opcionais
Retorno
paypal_validar_payment_source
ver no código · linha 731 ↗paypal_validar_payment_source(mixed $payment_source): boolValida a estrutura mínima de uma fonte de pagamento aceita neste fluxo.
Parâmetros
$payment_sourcemixed- Fonte de pagamento recebida pelo backend
Retorno
paypal_criar_pedido
ver no código · linha 770 ↗paypal_criar_pedido(array|false $params = false): array|falseCria um pedido (order) no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_capturar_pedido
ver no código · linha 944 ↗paypal_capturar_pedido(array|false $params = false): array|falseCaptura um pedido (order) aprovado no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_processar_pagamento_transparente
ver no código · linha 1023 ↗paypal_processar_pagamento_transparente(array|false $params = false): array|falseProcessa um pagamento transparente recebido do frontend.
Parâmetros
$paramsarray|false- Parâmetros do fluxo
Retorno
paypal_consultar_pedido
ver no código · linha 1125 ↗paypal_consultar_pedido(array|false $params = false): array|falseConsulta detalhes de um pedido no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_reembolsar
ver no código · linha 1181 ↗paypal_reembolsar(array|false $params = false): array|falseProcessa reembolso de uma captura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_reembolso
ver no código · linha 1258 ↗paypal_consultar_reembolso(array|false $params = false): array|falseConsulta detalhes de um reembolso no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_validar_webhook
ver no código · linha 1311 ↗paypal_validar_webhook(array|false $params = false): boolValida assinatura de webhook do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_processar_webhook
ver no código · linha 1408 ↗paypal_processar_webhook(array|false $params = false): array|falseProcessa evento de webhook do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_criar_produto
ver no código · linha 1482 ↗paypal_criar_produto(array|false $params = false): array|falseCria um produto no catálogo do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_produtos
ver no código · linha 1559 ↗paypal_listar_produtos(array|false $params = false): array|falseLista produtos do catálogo do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_produto
ver no código · linha 1612 ↗paypal_consultar_produto(array|false $params = false): array|falseConsulta detalhes de um produto no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_atualizar_produto
ver no código · linha 1660 ↗paypal_atualizar_produto(array|false $params = false): boolAtualiza um produto no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_criar_plano
ver no código · linha 1759 ↗paypal_criar_plano(array|false $params = false): array|falseCria um plano de assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_planos
ver no código · linha 1881 ↗paypal_listar_planos(array|false $params = false): array|falseLista planos de assinatura do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_plano
ver no código · linha 1937 ↗paypal_consultar_plano(array|false $params = false): array|falseConsulta detalhes de um plano no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_ativar_plano
ver no código · linha 1981 ↗paypal_ativar_plano(array|false $params = false): boolAtiva um plano de assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_desativar_plano
ver no código · linha 2025 ↗paypal_desativar_plano(array|false $params = false): boolDesativa um plano de assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_atualizar_precos_plano
ver no código · linha 2075 ↗paypal_atualizar_precos_plano(array|false $params = false): boolAtualiza os preços de um plano no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_criar_assinatura
ver no código · linha 2150 ↗paypal_criar_assinatura(array|false $params = false): array|falseCria uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_assinatura
ver no código · linha 2280 ↗paypal_consultar_assinatura(array|false $params = false): array|falseConsulta detalhes de uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_suspender_assinatura
ver no código · linha 2325 ↗paypal_suspender_assinatura(array|false $params = false): boolSuspende uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_cancelar_assinatura
ver no código · linha 2371 ↗paypal_cancelar_assinatura(array|false $params = false): boolCancela uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_ativar_assinatura
ver no código · linha 2417 ↗paypal_ativar_assinatura(array|false $params = false): boolAtiva uma assinatura suspensa no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_capturar_assinatura
ver no código · linha 2465 ↗paypal_capturar_assinatura(array|false $params = false): array|falseCaptura pagamento autorizado de uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_transacoes_assinatura
ver no código · linha 2526 ↗paypal_listar_transacoes_assinatura(array|false $params = false): array|falseLista transações de uma assinatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_criar_fatura
ver no código · linha 2603 ↗paypal_criar_fatura(array|false $params = false): array|falseCria uma fatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_faturas
ver no código · linha 2792 ↗paypal_listar_faturas(array|false $params = false): array|falseLista faturas do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_fatura
ver no código · linha 2845 ↗paypal_consultar_fatura(array|false $params = false): array|falseConsulta detalhes de uma fatura no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_enviar_fatura
ver no código · linha 2892 ↗paypal_enviar_fatura(array|false $params = false): boolEnvia uma fatura para o destinatário.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_cancelar_fatura
ver no código · linha 2950 ↗paypal_cancelar_fatura(array|false $params = false): boolCancela uma fatura enviada no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_lembrete_fatura
ver no código · linha 3009 ↗paypal_lembrete_fatura(array|false $params = false): boolEnvia lembrete de pagamento de uma fatura.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_registrar_pagamento_fatura
ver no código · linha 3068 ↗paypal_registrar_pagamento_fatura(array|false $params = false): array|falseRegistra pagamento de uma fatura.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_registrar_reembolso_fatura
ver no código · linha 3140 ↗paypal_registrar_reembolso_fatura(array|false $params = false): array|falseRegistra reembolso de uma fatura.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_gerar_qrcode_fatura
ver no código · linha 3207 ↗paypal_gerar_qrcode_fatura(array|false $params = false): string|falseGera QR Code para pagamento de uma fatura.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_buscar_faturas
ver no código · linha 3265 ↗paypal_buscar_faturas(array|false $params = false): array|falseBusca faturas no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_deletar_fatura
ver no código · linha 3334 ↗paypal_deletar_fatura(array|false $params = false): boolDeleta uma fatura (apenas rascunhos).
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_gerar_numero_fatura
ver no código · linha 3375 ↗paypal_gerar_numero_fatura(): string|falseGera próximo número de fatura disponível.
Retorno
paypal_criar_payout
ver no código · linha 3430 ↗paypal_criar_payout(array|false $params = false): array|falseCria um payout (pagamento em lote) no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_payout
ver no código · linha 3538 ↗paypal_consultar_payout(array|false $params = false): array|falseConsulta detalhes de um payout no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_item_payout
ver no código · linha 3596 ↗paypal_consultar_item_payout(array|false $params = false): array|falseConsulta detalhes de um item de payout no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_cancelar_item_payout
ver no código · linha 3642 ↗paypal_cancelar_item_payout(array|false $params = false): array|falseCancela um item de payout não reclamado no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_gerar_link_pagamento
ver no código · linha 3699 ↗paypal_gerar_link_pagamento(array|false $params = false): array|falseGera um link de pagamento do PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_verificar_link_pagamento
ver no código · linha 3724 ↗paypal_verificar_link_pagamento(array|false $params = false): array|falseVerifica status de um link de pagamento.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_disputas
ver no código · linha 3760 ↗paypal_listar_disputas(array|false $params = false): array|falseLista disputas no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_disputa
ver no código · linha 3823 ↗paypal_consultar_disputa(array|false $params = false): array|falseConsulta detalhes de uma disputa no PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_aceitar_disputa
ver no código · linha 3870 ↗paypal_aceitar_disputa(array|false $params = false): array|falseAceita reclamação e faz reembolso ao comprador.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_contestar_disputa
ver no código · linha 3941 ↗paypal_contestar_disputa(array|false $params = false): array|falseContesta uma disputa fornecendo evidências.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_mensagem_disputa
ver no código · linha 4015 ↗paypal_mensagem_disputa(array|false $params = false): array|falseEnvia mensagem para uma disputa.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_escalar_disputa
ver no código · linha 4066 ↗paypal_escalar_disputa(array|false $params = false): array|falseEscala uma disputa para reclamação.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_listar_transacoes
ver no código · linha 4126 ↗paypal_listar_transacoes(array|false $params = false): array|falseLista transações da conta PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_consultar_saldo
ver no código · linha 4192 ↗paypal_consultar_saldo(array|false $params = false): array|falseConsulta saldo da conta PayPal.
Parâmetros
$paramsarray|false- Parâmetros da função
Retorno
paypal_formatar_valor
ver no código · linha 4242 ↗paypal_formatar_valor(float $valor, string $moeda = 'BRL'): stringFormata valor monetário para exibição.
Parâmetros
$valorfloat- Valor numérico
$moedastring- Código da moeda (padrão: BRL)
Retorno
paypal_traduzir_status
ver no código · linha 4269 ↗paypal_traduzir_status(string $status, string $tipo = 'order'): stringTraduz status do PayPal para português.
Parâmetros
$statusstring- Status em inglês
$tipostring- Tipo: order, subscription, invoice, dispute, payout
Retorno
paypal_assinatura_ativa
ver no código · linha 4344 ↗paypal_assinatura_ativa(string $subscription_id): boolVerifica se uma assinatura está ativa.
Parâmetros
$subscription_idstring- ID da assinatura
Retorno
paypal_pedido_pago
ver no código · linha 4363 ↗paypal_pedido_pago(string $order_id): boolVerifica se um pedido foi pago.
Parâmetros
$order_idstring- ID do pedido
Retorno
paypal_fatura_paga
ver no código · linha 4382 ↗paypal_fatura_paga(string $invoice_id): boolVerifica se uma fatura foi paga.
Parâmetros
$invoice_idstring- ID da fatura
Retorno
paypal_calcular_taxa
ver no código · linha 4405 ↗paypal_calcular_taxa(float $valor, string $tipo = 'nacional'): arrayCalcula taxa do PayPal para um valor.
Parâmetros
$valorfloat- Valor da transação
$tipostring- Tipo: nacional, internacional
Retorno
paypal_gerar_id
ver no código · linha 4440 ↗paypal_gerar_id(string $prefixo = 'TXN'): stringGera um ID único para transações.
Parâmetros
$prefixostring- Prefixo do ID (opcional)
Retorno
paypal_validar_email
ver no código · linha 4451 ↗paypal_validar_email(string $email): boolValida email do PayPal.
Parâmetros
$emailstring- Email a validar
Retorno
paypal_formatar_data
ver no código · linha 4463 ↗paypal_formatar_data(string|int $data, bool $incluir_hora = true): stringConverte data para formato PayPal.
Parâmetros
$datastring|int- Data (timestamp ou string)
$incluir_horabool- Incluir hora no formato
Retorno
paypal_info
ver no código · linha 4482 ↗paypal_info(): arrayObtém informações da biblioteca PayPal.
Retorno