Documentação
Uso
Apoiar
Importante
Laravel 11 será a última versão suportada para v3.0. A v4 está sendo trabalhada ativamente e será lançada no final de outubro de 2024. Para a v4, as seguintes alterações estão sendo introduzidas:
PHP 8.1+ necessário.
É necessário Laravel 10 e posteriores.
Integração do PayPal JS SDK.
Plug-in Symfony.
A documentação do pacote pode ser visualizada clicando no seguinte link:
https://laravel-paypal.readthedocs.io/en/latest/
A documentação antiga pode ser encontrada no seguinte link:
https://srmklive.github.io/laravel-paypal/docs.html
A seguir estão algumas maneiras pelas quais você pode acessar o provedor paypal:
// Importe os namespaces da classe primeiro, antes de usá-la diretamenteuse SrmklivePayPalServicesPayPal as PayPalClient;$provider = new PayPalClient;// Através de fachada. Não há necessidade de importar namespaces$provider = PayPal::setProvider();
O arquivo de configuração paypal.php está localizado na pasta de configuração . A seguir está seu conteúdo quando publicado:
return ['mode' => env('PAYPAL_MODE', 'sandbox'), // Só pode ser 'sandbox' Ou 'live'. Se vazio ou inválido, 'live' será usado.'sandbox' => ['client_id' => env('PAYPAL_SANDBOX_CLIENT_ID', ''),'client_secret' => env('PAYPAL_SANDBOX_CLIENT_SECRET', ''),'app_id ' => 'APP-80W284485P519543T',
],'live' => ['client_id' => env('PAYPAL_LIVE_CLIENT_ID', ''),'client_secret' => env('PAYPAL_LIVE_CLIENT_SECRET', ''),'app_id' => env('PAYPAL_LIVE_APP_ID', ' '),
],'payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Venda'), // Só pode ser 'Venda', 'Autorização' ou 'Pedido''moeda' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Altere isso de acordo com o seu application.'locale' => env('PAYPAL_LOCALE', 'en_US'), // força o idioma do gateway, ou seja, it_IT, es_ES, en_US ... (somente para checkout expresso)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true ), // Valida SSL ao criar cliente API.]; Você pode substituir a configuração da API do PayPal chamando o método setApiCredentials :
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID',
],'payment_action' => 'Venda','currency' => 'USD','notify_url' => 'https://your-site.com/paypal/notify','locale' => 'en_US', 'validar_ssl' => verdadeiro,
];$provider->setApiCredentials($config); Depois de definir a configuração da API do PayPal chamando o método setApiCredentials . Você precisa obter o token de acesso antes de realizar qualquer chamada de API
$provedor->getAccessToken();
Por padrão, a moeda utilizada é USD . Se desejar alterá-lo, você pode chamar o método setCurrency para definir uma moeda diferente antes de chamar qualquer método API respectivo:
$provedor->setCurrency('EUR');Observe que nos exemplos abaixo, a chamada para
addPlanTrialPricingé opcional e pode ser omitida ao criar assinaturas sem período de teste.
setReturnAndCancelUrl()é opcional. Se você definir URLs, deverá usar domínios reais. por exemplo, localhost, project.test não funciona.
$response = $provider->addProduct('Produto de demonstração', 'Produto de demonstração', 'SERVIÇO', 'SOFTWARE')
->addPlanTrialPricing('DIA', 7)
->addDailyPlan('Plano Demo', 'Plano Demo', 1.50)
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', '2021-12-10'); $response = $provider->addProduct('Produto de demonstração', 'Produto de demonstração', 'SERVIÇO', 'SOFTWARE')
->addPlanTrialPricing('DIA', 7)
->addWeeklyPlan('Plano Demo', 'Plano Demo', 30)
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', '2021-12-10'); $response = $provider->addProduct('Produto de demonstração', 'Produto de demonstração', 'SERVIÇO', 'SOFTWARE')
->addPlanTrialPricing('DIA', 7)
->addMonthlyPlan('Plano Demo', 'Plano Demo', 100)
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', '2021-12-10'); $response = $provider->addProduct('Produto de demonstração', 'Produto de demonstração', 'SERVIÇO', 'SOFTWARE')
->addPlanTrialPricing('DIA', 7)
->addAnnualPlan('Plano Demo', 'Plano Demo', 600)
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', '2021-12-10'); $response = $provider->addProduct('Produto de demonstração', 'Produto de demonstração', 'SERVIÇO', 'SOFTWARE')
->addCustomPlan('Plano Demo', 'Plano Demo', 150, 'MÊS', 3)
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', '2021-12-10'); $response = $this->client->addProductById('PROD-XYAB12ABSB7868434')
->addBillingPlanById('P-5ML4271244454362WXNWU5NQ')
->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel')
->setupSubscription('John Doe', '[email protected]', $start_date);Esta versão suporta Laravel 6 ou superior.
Em caso de qualquer problema, por favor, crie um na seção Problemas.
Se você gostaria de contribuir:
Bifurque este repositório.
Implemente seus recursos.
Gerar solicitação pull.