Path in the Gestor bibliotecas/paypal.php
Direct calls to the PayPal REST API (api-m.paypal.com in production, api-m.sandbox.paypal.com in sandbox), without an SDK. The registered version is 3.1.0 (paypal_info()).
Credentials: two modes
| Mode | Where credentials come from | Where the OAuth token is kept |
|---|---|---|
| default | .env: PAYPAL_MODE (sandbox/live), PAYPAL_CLIENT_ID, PAYPAL_SECRET, PAYPAL_WEBHOOK_ID |
admin-environment module variables (paypal-access-token…) |
| gateway | A paypal record of the gateways_pagamentos table |
The gateway's own access_token, token_expires_at and token_data columns |
PAYPAL_DEFAULT (padrao or gateway) chooses the mode of paypal_auto_configurar(). For a specific gateway: paypal_gateways_pagamentos_configurar(['id' => 7]). The .env only fills the credentials of the PAYPAL_MODE environment.
paypal_autenticar() reuses the token in $_GESTOR['paypal-token'] while more than 5 minutes remain before it expires, and requests another one (client_credentials) otherwise. ['force_refresh' => true] forces it. In gateway mode, an authentication failure marks the gateway as disconnected (paypal_gateway_atualizar_conexao()), and each transaction can add to its statistics (paypal_gateway_registrar_transacao()).
Request
paypal_requisicao(['endpoint', 'method', 'data', 'headers', 'auth_basic', 'access_token']) returns ['http_code', 'data', 'raw'] or false. As with Stripe, an API error is not false: check http_code. Errors go to gestor/logs/paypal-<date>.log.
Operations
| Area | Functions |
|---|---|
| Orders (Orders v2) | paypal_criar_pedido(), paypal_capturar_pedido(), paypal_consultar_pedido(), paypal_processar_pagamento_transparente(), paypal_gerar_client_token() and paypal_validar_payment_source() (card directly on the page) |
| Refunds | paypal_reembolsar(), paypal_consultar_reembolso() |
| Catalog and plans | 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() |
| Subscriptions | paypal_criar_assinatura(), paypal_consultar_assinatura(), paypal_suspender_assinatura(), paypal_ativar_assinatura(), paypal_cancelar_assinatura(), paypal_capturar_assinatura(), paypal_listar_transacoes_assinatura() |
| Invoices (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() |
| Payment links | paypal_gerar_link_pagamento(), paypal_verificar_link_pagamento() |
| Disputes | paypal_listar_disputas(), paypal_consultar_disputa(), paypal_aceitar_disputa(), paypal_contestar_disputa(), paypal_mensagem_disputa(), paypal_escalar_disputa() |
| Reports | paypal_listar_transacoes(), paypal_consultar_saldo() |
| Checks | paypal_pedido_pago(), paypal_assinatura_ativa(), paypal_fatura_paga() |
Webhook
paypal_validar_webhook(['headers' => getallheaders(), 'body' => $rawBody]) asks PayPal itself to verify the signature (verify-webhook-signature, with PAYPAL_WEBHOOK_ID) and only accepts verification_status = SUCCESS. paypal_processar_webhook(['body' => …, 'callback' => …]) decodes the event and calls the callback; it does not validate, so call paypal_validar_webhook() first.
The /_gateways/paypal/webhook endpoint (the plataforma-gateways controller) validates and fires the paypal.webhook hook; there are also the checkout return and cancel routes.
Utilities and pitfalls
-
paypal_formatar_valor(),paypal_traduzir_status()(to Portuguese),paypal_gerar_id(),paypal_validar_email()andpaypal_log_registro(). -
paypal_formatar_data()producesYYYY-MM-DDTHH:MM:SSZwithdate(), which uses the server time zone: theZ(UTC) is only true if PHP runs in UTC. The Gestor does not set a time zone. -
paypal_calcular_taxa($value, 'nacional'|'internacional')uses hard-coded fees (4.99% + 0.60 and 5.99% + 0.60) that do not follow PayPal's actual pricing. Use it only as an estimate. -
admin-environmentuses the library to test the credentials.
Internal helpers: 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().
Functions
Generated from gestor/bibliotecas/paypal.php · 78 functions
paypal_log_registro
view source · line 39 ↗paypal_log_registro($logData = []): voidRegistra um log de evento relacionado ao PayPal.
Parameters
$logData
Returns
paypal_gateways_pagamentos_configurar
view source · line 64 ↗paypal_gateways_pagamentos_configurar(array|false $params = false): boolConfigura a biblioteca PayPal para usar um gateway de pagamentos do banco.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_gateway_persistir_token
view source · line 169 ↗paypal_gateway_persistir_token(array $token_data): boolPersiste o token OAuth no banco de dados do gateway ativo.
Parameters
$token_dataarray- Dados do token (access_token, token_type, expires_at, etc)
Returns
paypal_gateway_registrar_transacao
view source · line 207 ↗paypal_gateway_registrar_transacao(array|false $params = false): boolRegistra uma transação nas estatísticas do gateway ativo.
Parameters
$paramsarray|false- Parâmetros
Returns
paypal_gateway_atualizar_conexao
view source · line 242 ↗paypal_gateway_atualizar_conexao(bool $sucesso, string $mensagem = ''): boolAtualiza o status de conexão do gateway ativo.
Parameters
$sucessobool- Se a conexão foi bem-sucedida
$mensagemstring- Mensagem descritiva do resultado
Returns
paypal_is_modo_gateway
view source · line 270 ↗paypal_is_modo_gateway(): boolVerifica se a biblioteca está operando em modo gateway (banco de dados).
Returns
paypal_obter_gateway_id
view source · line 282 ↗paypal_obter_gateway_id(): string|nullObtém o ID do gateway ativo.
Returns
paypal_obter_gateway_dados
view source · line 294 ↗paypal_obter_gateway_dados(): array|nullObtém os dados completos do gateway ativo.
Returns
paypal_padrao_persistir_token
view source · line 313 ↗paypal_padrao_persistir_token(array $token_data): boolPersiste o token OAuth nas variáveis do sistema (modo padrão).
Parameters
$token_dataarray- Dados do token (access_token, token_type, expires_at, etc)
Returns
paypal_padrao_restaurar_token
view source · line 355 ↗paypal_padrao_restaurar_token(): boolRestaura o token OAuth persistido nas variáveis do sistema (modo padrão).
Returns
paypal_auto_configurar
view source · line 403 ↗paypal_auto_configurar(): voidInicializa a biblioteca PayPal automaticamente baseado em $_CONFIG['paypal']['default'].
Returns
paypal_obter_url_api
view source · line 431 ↗paypal_obter_url_api(): stringObtém a URL base da API do PayPal baseado no modo (sandbox/live).
Returns
paypal_obter_credenciais
view source · line 450 ↗paypal_obter_credenciais(): array|falseObtém as credenciais do PayPal baseado no modo (sandbox/live).
Returns
paypal_requisicao
view source · line 484 ↗paypal_requisicao(array|false $params = false): array|falseRealiza requisição HTTP para a API do PayPal.
Parameters
$paramsarray|false- Parâmetros da requisição
Returns
paypal_autenticar
view source · line 600 ↗paypal_autenticar(array|false $params = false): array|falseAutentica com PayPal e obtém access token OAuth 2.0.
Parameters
$paramsarray|false- Parâmetros da função (opcional)
Returns
paypal_gerar_client_token
view source · line 673 ↗paypal_gerar_client_token(array|false $params = false): string|falseGera o client token usado pelos Card Fields/Hosted Fields no navegador.
Parameters
$paramsarray|false- Parâmetros opcionais
Returns
paypal_validar_payment_source
view source · line 731 ↗paypal_validar_payment_source(mixed $payment_source): boolValida a estrutura mínima de uma fonte de pagamento aceita neste fluxo.
Parameters
$payment_sourcemixed- Fonte de pagamento recebida pelo backend
Returns
paypal_criar_pedido
view source · line 770 ↗paypal_criar_pedido(array|false $params = false): array|falseCria um pedido (order) no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_capturar_pedido
view source · line 944 ↗paypal_capturar_pedido(array|false $params = false): array|falseCaptura um pedido (order) aprovado no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_processar_pagamento_transparente
view source · line 1023 ↗paypal_processar_pagamento_transparente(array|false $params = false): array|falseProcessa um pagamento transparente recebido do frontend.
Parameters
$paramsarray|false- Parâmetros do fluxo
Returns
paypal_consultar_pedido
view source · line 1125 ↗paypal_consultar_pedido(array|false $params = false): array|falseConsulta detalhes de um pedido no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_reembolsar
view source · line 1181 ↗paypal_reembolsar(array|false $params = false): array|falseProcessa reembolso de uma captura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_reembolso
view source · line 1258 ↗paypal_consultar_reembolso(array|false $params = false): array|falseConsulta detalhes de um reembolso no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_validar_webhook
view source · line 1311 ↗paypal_validar_webhook(array|false $params = false): boolValida assinatura de webhook do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_processar_webhook
view source · line 1408 ↗paypal_processar_webhook(array|false $params = false): array|falseProcessa evento de webhook do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_criar_produto
view source · line 1482 ↗paypal_criar_produto(array|false $params = false): array|falseCria um produto no catálogo do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_produtos
view source · line 1559 ↗paypal_listar_produtos(array|false $params = false): array|falseLista produtos do catálogo do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_produto
view source · line 1612 ↗paypal_consultar_produto(array|false $params = false): array|falseConsulta detalhes de um produto no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_atualizar_produto
view source · line 1660 ↗paypal_atualizar_produto(array|false $params = false): boolAtualiza um produto no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_criar_plano
view source · line 1759 ↗paypal_criar_plano(array|false $params = false): array|falseCria um plano de assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_planos
view source · line 1881 ↗paypal_listar_planos(array|false $params = false): array|falseLista planos de assinatura do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_plano
view source · line 1937 ↗paypal_consultar_plano(array|false $params = false): array|falseConsulta detalhes de um plano no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_ativar_plano
view source · line 1981 ↗paypal_ativar_plano(array|false $params = false): boolAtiva um plano de assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_desativar_plano
view source · line 2025 ↗paypal_desativar_plano(array|false $params = false): boolDesativa um plano de assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_atualizar_precos_plano
view source · line 2075 ↗paypal_atualizar_precos_plano(array|false $params = false): boolAtualiza os preços de um plano no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_criar_assinatura
view source · line 2150 ↗paypal_criar_assinatura(array|false $params = false): array|falseCria uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_assinatura
view source · line 2280 ↗paypal_consultar_assinatura(array|false $params = false): array|falseConsulta detalhes de uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_suspender_assinatura
view source · line 2325 ↗paypal_suspender_assinatura(array|false $params = false): boolSuspende uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_cancelar_assinatura
view source · line 2371 ↗paypal_cancelar_assinatura(array|false $params = false): boolCancela uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_ativar_assinatura
view source · line 2417 ↗paypal_ativar_assinatura(array|false $params = false): boolAtiva uma assinatura suspensa no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_capturar_assinatura
view source · line 2465 ↗paypal_capturar_assinatura(array|false $params = false): array|falseCaptura pagamento autorizado de uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_transacoes_assinatura
view source · line 2526 ↗paypal_listar_transacoes_assinatura(array|false $params = false): array|falseLista transações de uma assinatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_criar_fatura
view source · line 2603 ↗paypal_criar_fatura(array|false $params = false): array|falseCria uma fatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_faturas
view source · line 2792 ↗paypal_listar_faturas(array|false $params = false): array|falseLista faturas do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_fatura
view source · line 2845 ↗paypal_consultar_fatura(array|false $params = false): array|falseConsulta detalhes de uma fatura no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_enviar_fatura
view source · line 2892 ↗paypal_enviar_fatura(array|false $params = false): boolEnvia uma fatura para o destinatário.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_cancelar_fatura
view source · line 2950 ↗paypal_cancelar_fatura(array|false $params = false): boolCancela uma fatura enviada no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_lembrete_fatura
view source · line 3009 ↗paypal_lembrete_fatura(array|false $params = false): boolEnvia lembrete de pagamento de uma fatura.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_registrar_pagamento_fatura
view source · line 3068 ↗paypal_registrar_pagamento_fatura(array|false $params = false): array|falseRegistra pagamento de uma fatura.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_registrar_reembolso_fatura
view source · line 3140 ↗paypal_registrar_reembolso_fatura(array|false $params = false): array|falseRegistra reembolso de uma fatura.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_gerar_qrcode_fatura
view source · line 3207 ↗paypal_gerar_qrcode_fatura(array|false $params = false): string|falseGera QR Code para pagamento de uma fatura.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_buscar_faturas
view source · line 3265 ↗paypal_buscar_faturas(array|false $params = false): array|falseBusca faturas no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_deletar_fatura
view source · line 3334 ↗paypal_deletar_fatura(array|false $params = false): boolDeleta uma fatura (apenas rascunhos).
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_gerar_numero_fatura
view source · line 3375 ↗paypal_gerar_numero_fatura(): string|falseGera próximo número de fatura disponível.
Returns
paypal_criar_payout
view source · line 3430 ↗paypal_criar_payout(array|false $params = false): array|falseCria um payout (pagamento em lote) no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_payout
view source · line 3538 ↗paypal_consultar_payout(array|false $params = false): array|falseConsulta detalhes de um payout no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_item_payout
view source · line 3596 ↗paypal_consultar_item_payout(array|false $params = false): array|falseConsulta detalhes de um item de payout no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_cancelar_item_payout
view source · line 3642 ↗paypal_cancelar_item_payout(array|false $params = false): array|falseCancela um item de payout não reclamado no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_gerar_link_pagamento
view source · line 3699 ↗paypal_gerar_link_pagamento(array|false $params = false): array|falseGera um link de pagamento do PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_verificar_link_pagamento
view source · line 3724 ↗paypal_verificar_link_pagamento(array|false $params = false): array|falseVerifica status de um link de pagamento.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_disputas
view source · line 3760 ↗paypal_listar_disputas(array|false $params = false): array|falseLista disputas no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_disputa
view source · line 3823 ↗paypal_consultar_disputa(array|false $params = false): array|falseConsulta detalhes de uma disputa no PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_aceitar_disputa
view source · line 3870 ↗paypal_aceitar_disputa(array|false $params = false): array|falseAceita reclamação e faz reembolso ao comprador.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_contestar_disputa
view source · line 3941 ↗paypal_contestar_disputa(array|false $params = false): array|falseContesta uma disputa fornecendo evidências.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_mensagem_disputa
view source · line 4015 ↗paypal_mensagem_disputa(array|false $params = false): array|falseEnvia mensagem para uma disputa.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_escalar_disputa
view source · line 4066 ↗paypal_escalar_disputa(array|false $params = false): array|falseEscala uma disputa para reclamação.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_listar_transacoes
view source · line 4126 ↗paypal_listar_transacoes(array|false $params = false): array|falseLista transações da conta PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_consultar_saldo
view source · line 4192 ↗paypal_consultar_saldo(array|false $params = false): array|falseConsulta saldo da conta PayPal.
Parameters
$paramsarray|false- Parâmetros da função
Returns
paypal_formatar_valor
view source · line 4242 ↗paypal_formatar_valor(float $valor, string $moeda = 'BRL'): stringFormata valor monetário para exibição.
Parameters
$valorfloat- Valor numérico
$moedastring- Código da moeda (padrão: BRL)
Returns
paypal_traduzir_status
view source · line 4269 ↗paypal_traduzir_status(string $status, string $tipo = 'order'): stringTraduz status do PayPal para português.
Parameters
$statusstring- Status em inglês
$tipostring- Tipo: order, subscription, invoice, dispute, payout
Returns
paypal_assinatura_ativa
view source · line 4344 ↗paypal_assinatura_ativa(string $subscription_id): boolVerifica se uma assinatura está ativa.
Parameters
$subscription_idstring- ID da assinatura
Returns
paypal_pedido_pago
view source · line 4363 ↗paypal_pedido_pago(string $order_id): boolVerifica se um pedido foi pago.
Parameters
$order_idstring- ID do pedido
Returns
paypal_fatura_paga
view source · line 4382 ↗paypal_fatura_paga(string $invoice_id): boolVerifica se uma fatura foi paga.
Parameters
$invoice_idstring- ID da fatura
Returns
paypal_calcular_taxa
view source · line 4405 ↗paypal_calcular_taxa(float $valor, string $tipo = 'nacional'): arrayCalcula taxa do PayPal para um valor.
Parameters
$valorfloat- Valor da transação
$tipostring- Tipo: nacional, internacional
Returns
paypal_gerar_id
view source · line 4440 ↗paypal_gerar_id(string $prefixo = 'TXN'): stringGera um ID único para transações.
Parameters
$prefixostring- Prefixo do ID (opcional)
Returns
paypal_validar_email
view source · line 4451 ↗paypal_validar_email(string $email): boolValida email do PayPal.
Parameters
$emailstring- Email a validar
Returns
paypal_formatar_data
view source · line 4463 ↗paypal_formatar_data(string|int $data, bool $incluir_hora = true): stringConverte data para formato PayPal.
Parameters
$datastring|int- Data (timestamp ou string)
$incluir_horabool- Incluir hora no formato
Returns
paypal_info
view source · line 4482 ↗paypal_info(): arrayObtém informações da biblioteca PayPal.
Returns