talandis / laravel-paypal
此包最新版本(1.0.0)没有提供许可信息。
1.0.0
2019-03-11 10:23 UTC
Requires
- php: >=7.0
- illuminate/support: 5.*
This package is auto-updated.
Last update: 2024-09-25 18:17:46 UTC
README
安装
使用composer安装此包
composer require talandis/laravel-paypal
配置
更新composer后,将ServiceProvider添加到config/app.php中的providers数组中
'Talandis\LaravelPaypal\LaravelPaypalServiceProvider',
使用发布命令将包配置复制到本地配置中
php artisan config:publish talandis/laravel-paypal
不要忘记将证书和其他详细信息输入到配置文件中。Paypal公共证书不包括在内。您必须手动下载。
使用方法
支付请求
下面是一个简单的支付请求示例。
$paypal = new \Talandis\LaravelPaypal\WebsitePaymentsStandard(); $paypal->setOrderId( 15 ); $paypal->addItem( 'Beer', 10.99 ); $paypal->setReturnUrl(URL::to('paypal/return')); $paypal->setCallbackUrl(URL::to('paypal/callback')); $paypal->setCancelUrl(URL::to('paypal/cancel'))); $requestData = $paypal->getCartUploadParams(); $requestUrl = $paypal->getRequestUrl();
示例表单
<form action="<?php echo $requestUrl ?>" method="post"> <?php foreach ( $requestData as $fieldName => $value ): ?> <input type="hidden" name="<?php echo $fieldName ?>" value="<? echo $value ?>" /> <?php endforeach; ?> <input type="submit" value="Make payment" /> </form>
支付数据传输(PDT)验证
您需要从PayPal获取额外的PDF令牌。
$paypal = new \Talandis\LaravelPaypal\WebsitePaymentsStandard(); if ( $paypal->validatePDTRequest( Input::get('tx') ) ) { }
即时支付通知(IPN)验证
$paypal = new \Talandis\LaravelPaypal\WebsitePaymentsStandard(); if ( $paypal->validateIPNRequest( Input::all() ) ) { }
每个站点多个配置
如果您有多个PayPal商户账户,并且需要根据某些条件使用它们,则有一个可选的方法。您必须调用setConfiguration()方法并传递一个配置名称。您必须在获取请求参数之前调用此方法。如果未先调用setConfiguration方法,则将使用默认配置。
$paypal = new \Talandis\LaravelPaypal\WebsitePaymentsStandard(); $paypal->setConfiguration( 'custom_configuration' ); $paypal->setOrderId( 15 ); $paypal->addItem( 'Beer', 10.99 ); $paypal->setReturnUrl(URL::to('paypal/return')); $paypal->setCallbackUrl(URL::to('paypal/callback')); $paypal->setCancelUrl(URL::to('paypal/cancel'))); $requestData = $paypal->getCartUploadParams(); $requestUrl = $paypal->getRequestUrl();