talandis/laravel-paypal

此包最新版本(1.0.0)没有提供许可信息。

1.0.0 2019-03-11 10:23 UTC

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();