laravel paypal
1.0.0
文档
用法
支持
重要的
Laravel 11 将是 v3.0 支持的最后一个版本。 v4 正在积极开发中,将于 2024 年 10 月下旬发布。对于 v4,引入的更改如下:
需要 PHP 8.1+。
需要 Laravel 10 及以上版本。
集成 PayPal JS SDK。
Symfony 插件。
可以通过单击以下链接查看该包的文档:
https://laravel-paypal.readthedocs.io/en/latest/
旧文档可以在以下链接中找到:
https://srmklive.github.io/laravel-paypal/docs.html
以下是您可以访问 PayPal 提供商的一些方法:
// 先导入类命名空间,然后直接使用use SrmklivePayPalServicesPayPal as PayPalClient;$provider = new PayPalClient;// 通过facade。无需导入命名空间$provider = PayPal::setProvider();
配置文件paypal.php位于config文件夹中。以下为发布时的内容:
return ['mode' => env('PAYPAL_MODE', 'sandbox'), // 只能是 'sandbox' 或 'live'。如果为空或无效,则使用 'live'。 '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', '销售'), // 只能是'销售'、'授权'或'订单''货币' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // 相应地更改此值your application.'locale' => env('PAYPAL_LOCALE', 'en_US'), // 强制网关语言,即 it_IT, es_ES, en_US ...(仅用于快速结账)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true), // 创建 api 客户端时验证 SSL。];
您可以通过调用setApiCredentials
方法来覆盖 PayPal API 配置:
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID', ],' payment_action' => '销售','currency' => '美元','notify_url' => 'https://your-site.com/paypal/notify','locale' => 'en_US', 'validate_ssl' => 真, ];$provider->setApiCredentials($config);
通过调用setApiCredentials
方法设置 PayPal API 配置后。在执行任何 API 调用之前,您需要获取访问令牌
$provider->getAccessToken();
默认情况下,使用的货币是USD
。如果您想更改它,您可以在调用任何相应的 API 方法之前调用setCurrency
方法来设置不同的货币:
$provider->setCurrency('EUR');
请注意,在下面的示例中,对
addPlanTrialPricing
的调用是可选的,当您创建没有试用期的订阅时可以省略它。
setReturnAndCancelUrl()
是可选的。如果您设置网址,则必须使用真实的域名。例如 localhost,project.test 不起作用。
$response = $provider->addProduct('演示产品', '演示产品', '服务', '软件') ->addPlanTrialPricing('DAY', 7) ->addDailyPlan('演示计划', '演示计划', 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('演示产品', '演示产品', '服务', '软件') ->addPlanTrialPricing('DAY', 7) ->addWeeklyPlan('演示计划', '演示计划', 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('演示产品', '演示产品', '服务', '软件') ->addPlanTrialPricing('DAY', 7) ->addMonthlyPlan('演示计划', '演示计划', 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('演示产品', '演示产品', '服务', '软件') ->addPlanTrialPricing('DAY', 7) ->addAnnualPlan('演示计划', '演示计划', 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('演示产品', '演示产品', '服务', '软件') ->addCustomPlan('演示计划', '演示计划', 150, '月份', 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);
该版本支持 Laravel 6 或更高版本。
如有任何问题,请在问题部分创建一个。
如果您愿意贡献:
分叉这个存储库。
实现您的功能。
生成拉取请求。