Conn2Flow
Docs navigation

Reference / Libraries

paypal.php library

PayPal REST API client: credentials from the .env or from the gateway, cached OAuth token, orders, refunds, catalog, plans, subscriptions, invoices, payouts, disputes and webhook.

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() and paypal_log_registro().

  • paypal_formatar_data() produces YYYY-MM-DDTHH:MM:SSZ with date(), which uses the server time zone: the Z (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-environment uses 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

78 of 78

paypal_gateways_pagamentos_configurar

view source · line 64 ↗
paypal_gateways_pagamentos_configurar(array|false $params = false): bool

Configura a biblioteca PayPal para usar um gateway de pagamentos do banco.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se configurado com sucesso, false caso contrário

paypal_gateway_persistir_token

view source · line 169 ↗
paypal_gateway_persistir_token(array $token_data): bool

Persiste o token OAuth no banco de dados do gateway ativo.

Parameters

$token_dataarray
Dados do token (access_token, token_type, expires_at, etc)

Returns

bool
True se persistido, false se não está em modo gateway

paypal_gateway_atualizar_conexao

view source · line 242 ↗
paypal_gateway_atualizar_conexao(bool $sucesso, string $mensagem = ''): bool

Atualiza o status de conexão do gateway ativo.

Parameters

$sucessobool
Se a conexão foi bem-sucedida
$mensagemstring
Mensagem descritiva do resultado

Returns

bool
True se atualizado, false se não está em modo gateway

paypal_padrao_persistir_token

view source · line 313 ↗
paypal_padrao_persistir_token(array $token_data): bool

Persiste 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

bool
True se persistido com sucesso

paypal_requisicao

view source · line 484 ↗
paypal_requisicao(array|false $params = false): array|false

Realiza requisição HTTP para a API do PayPal.

Parameters

$paramsarray|false
Parâmetros da requisição

Returns

array|false
Array com resposta ou false em erro

paypal_autenticar

view source · line 600 ↗
paypal_autenticar(array|false $params = false): array|false

Autentica com PayPal e obtém access token OAuth 2.0.

Parameters

$paramsarray|false
Parâmetros da função (opcional)

Returns

array|false
return['expires_at'] Timestamp de expiração

paypal_gerar_client_token

view source · line 673 ↗
paypal_gerar_client_token(array|false $params = false): string|false

Gera o client token usado pelos Card Fields/Hosted Fields no navegador.

Parameters

$paramsarray|false
Parâmetros opcionais

Returns

string|false
Client token ou false em erro

paypal_validar_payment_source

view source · line 731 ↗
paypal_validar_payment_source(mixed $payment_source): bool

Valida a estrutura mínima de uma fonte de pagamento aceita neste fluxo.

Parameters

$payment_sourcemixed
Fonte de pagamento recebida pelo backend

Returns

bool
True para payment_source.card ou payment_source.token não vazios

paypal_criar_pedido

view source · line 770 ↗
paypal_criar_pedido(array|false $params = false): array|false

Cria um pedido (order) no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
return['approve_url'] URL para aprovação do pedido

paypal_capturar_pedido

view source · line 944 ↗
paypal_capturar_pedido(array|false $params = false): array|false

Captura um pedido (order) aprovado no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
return['capture_data'] Dados completos da captura

paypal_processar_pagamento_transparente

view source · line 1023 ↗
paypal_processar_pagamento_transparente(array|false $params = false): array|false

Processa um pagamento transparente recebido do frontend.

Parameters

$paramsarray|false
Parâmetros do fluxo

Returns

array|false
Resultado normalizado ou false para payload inválido/erro da API

paypal_consultar_pedido

view source · line 1125 ↗
paypal_consultar_pedido(array|false $params = false): array|false

Consulta detalhes de um pedido no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do pedido ou false em erro

paypal_reembolsar

view source · line 1181 ↗
paypal_reembolsar(array|false $params = false): array|false

Processa reembolso de uma captura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
return['status'] Status do reembolso

paypal_consultar_reembolso

view source · line 1258 ↗
paypal_consultar_reembolso(array|false $params = false): array|false

Consulta detalhes de um reembolso no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do reembolso ou false em erro

paypal_processar_webhook

view source · line 1408 ↗
paypal_processar_webhook(array|false $params = false): array|false

Processa evento de webhook do PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
return['event_data'] Dados completos do evento

paypal_criar_produto

view source · line 1482 ↗
paypal_criar_produto(array|false $params = false): array|false

Cria um produto no catálogo do PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do produto ou false em erro

paypal_listar_produtos

view source · line 1559 ↗
paypal_listar_produtos(array|false $params = false): array|false

Lista produtos do catálogo do PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de produtos ou false em erro

paypal_consultar_produto

view source · line 1612 ↗
paypal_consultar_produto(array|false $params = false): array|false

Consulta detalhes de um produto no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do produto ou false em erro

paypal_criar_plano

view source · line 1759 ↗
paypal_criar_plano(array|false $params = false): array|false

Cria um plano de assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do plano ou false em erro

paypal_listar_planos

view source · line 1881 ↗
paypal_listar_planos(array|false $params = false): array|false

Lista planos de assinatura do PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de planos ou false em erro

paypal_consultar_plano

view source · line 1937 ↗
paypal_consultar_plano(array|false $params = false): array|false

Consulta detalhes de um plano no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do plano ou false em erro

paypal_ativar_plano

view source · line 1981 ↗
paypal_ativar_plano(array|false $params = false): bool

Ativa um plano de assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se ativado com sucesso, false em erro

paypal_desativar_plano

view source · line 2025 ↗
paypal_desativar_plano(array|false $params = false): bool

Desativa um plano de assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se desativado com sucesso, false em erro

paypal_criar_assinatura

view source · line 2150 ↗
paypal_criar_assinatura(array|false $params = false): array|false

Cria uma assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da assinatura ou false em erro

paypal_consultar_assinatura

view source · line 2280 ↗
paypal_consultar_assinatura(array|false $params = false): array|false

Consulta detalhes de uma assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da assinatura ou false em erro

paypal_capturar_assinatura

view source · line 2465 ↗
paypal_capturar_assinatura(array|false $params = false): array|false

Captura pagamento autorizado de uma assinatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da captura ou false em erro

paypal_criar_fatura

view source · line 2603 ↗
paypal_criar_fatura(array|false $params = false): array|false

Cria uma fatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da fatura ou false em erro

paypal_listar_faturas

view source · line 2792 ↗
paypal_listar_faturas(array|false $params = false): array|false

Lista faturas do PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de faturas ou false em erro

paypal_consultar_fatura

view source · line 2845 ↗
paypal_consultar_fatura(array|false $params = false): array|false

Consulta detalhes de uma fatura no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da fatura ou false em erro

paypal_enviar_fatura

view source · line 2892 ↗
paypal_enviar_fatura(array|false $params = false): bool

Envia uma fatura para o destinatário.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se enviada com sucesso, false em erro

paypal_cancelar_fatura

view source · line 2950 ↗
paypal_cancelar_fatura(array|false $params = false): bool

Cancela uma fatura enviada no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se cancelada com sucesso, false em erro

paypal_lembrete_fatura

view source · line 3009 ↗
paypal_lembrete_fatura(array|false $params = false): bool

Envia lembrete de pagamento de uma fatura.

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se enviado com sucesso, false em erro

paypal_gerar_qrcode_fatura

view source · line 3207 ↗
paypal_gerar_qrcode_fatura(array|false $params = false): string|false

Gera QR Code para pagamento de uma fatura.

Parameters

$paramsarray|false
Parâmetros da função

Returns

string|false
Base64 da imagem do QR Code ou false em erro

paypal_buscar_faturas

view source · line 3265 ↗
paypal_buscar_faturas(array|false $params = false): array|false

Busca faturas no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de faturas ou false em erro

paypal_deletar_fatura

view source · line 3334 ↗
paypal_deletar_fatura(array|false $params = false): bool

Deleta uma fatura (apenas rascunhos).

Parameters

$paramsarray|false
Parâmetros da função

Returns

bool
True se deletada com sucesso, false em erro

paypal_criar_payout

view source · line 3430 ↗
paypal_criar_payout(array|false $params = false): array|false

Cria um payout (pagamento em lote) no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do payout ou false em erro

paypal_consultar_payout

view source · line 3538 ↗
paypal_consultar_payout(array|false $params = false): array|false

Consulta detalhes de um payout no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do payout ou false em erro

paypal_consultar_item_payout

view source · line 3596 ↗
paypal_consultar_item_payout(array|false $params = false): array|false

Consulta detalhes de um item de payout no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do item ou false em erro

paypal_cancelar_item_payout

view source · line 3642 ↗
paypal_cancelar_item_payout(array|false $params = false): array|false

Cancela um item de payout não reclamado no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados do item cancelado ou false em erro

paypal_listar_disputas

view source · line 3760 ↗
paypal_listar_disputas(array|false $params = false): array|false

Lista disputas no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de disputas ou false em erro

paypal_consultar_disputa

view source · line 3823 ↗
paypal_consultar_disputa(array|false $params = false): array|false

Consulta detalhes de uma disputa no PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com dados da disputa ou false em erro

paypal_aceitar_disputa

view source · line 3870 ↗
paypal_aceitar_disputa(array|false $params = false): array|false

Aceita reclamação e faz reembolso ao comprador.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com resultado ou false em erro

paypal_contestar_disputa

view source · line 3941 ↗
paypal_contestar_disputa(array|false $params = false): array|false

Contesta uma disputa fornecendo evidências.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com resultado ou false em erro

paypal_escalar_disputa

view source · line 4066 ↗
paypal_escalar_disputa(array|false $params = false): array|false

Escala uma disputa para reclamação.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com resultado ou false em erro

paypal_listar_transacoes

view source · line 4126 ↗
paypal_listar_transacoes(array|false $params = false): array|false

Lista transações da conta PayPal.

Parameters

$paramsarray|false
Parâmetros da função

Returns

array|false
Array com lista de transações ou false em erro

paypal_formatar_valor

view source · line 4242 ↗
paypal_formatar_valor(float $valor, string $moeda = 'BRL'): string

Formata valor monetário para exibição.

Parameters

$valorfloat
Valor numérico
$moedastring
Código da moeda (padrão: BRL)

Returns

string
Valor formatado

paypal_traduzir_status

view source · line 4269 ↗
paypal_traduzir_status(string $status, string $tipo = 'order'): string

Traduz status do PayPal para português.

Parameters

$statusstring
Status em inglês
$tipostring
Tipo: order, subscription, invoice, dispute, payout

Returns

string
Status traduzido

paypal_calcular_taxa

view source · line 4405 ↗
paypal_calcular_taxa(float $valor, string $tipo = 'nacional'): array

Calcula taxa do PayPal para um valor.

Parameters

$valorfloat
Valor da transação
$tipostring
Tipo: nacional, internacional

Returns

array
Array com valor líquido e taxa estimada

paypal_formatar_data

view source · line 4463 ↗
paypal_formatar_data(string|int $data, bool $incluir_hora = true): string

Converte data para formato PayPal.

Parameters

$datastring|int
Data (timestamp ou string)
$incluir_horabool
Incluir hora no formato

Returns

string
Data formatada

The Future is Hybrid: Human + AI.

Conn2Flow is the tool. If you need the Architect to design your company's strategy using this technology...

Hire Specialized Consulting