lightshire/laravel-paypal

此软件包最新版本(dev-master)没有提供许可证信息。

Paypal API的基本Laravel PHP包装器

dev-master 2014-02-11 07:04 UTC

This package is not auto-updated.

Last update: 2024-09-28 15:18:28 UTC


README

###概述:这个paypal laravel包装器是为了在paypal沙盒中同时或批量进行不同的差异而创建的。这是我自己的REST API预订系统的宠物项目。(LOLS)

###安装:从您的composer.json添加以下内容

	"lightshire/laravel-paypal": "dev-master"

####服务提供商

	'providers'	=> array(
			'Lightshire\Paypal\PaypalServiceProvider',
			'Lightshire\Paypal\IpnServiceProvider'
		)

####外观

'facades' 	=> array(
			'Paypal'		=> 'Lightshire\Paypal\Facades\Facade',
			'IpnListener'	=> 'Lightshire\Paypal\Facades\IpnListenerFacade'
		)

#####使用 - 目前没有明确的使用!

####部署配置文件 您可以通过运行以下命令轻松部署配置文件

	php artisan config:publish lightshire/laravel-paypal

您应该看到以下内容

	return array(
			'endpoint' 		=> 'api.sandbox.paypal.com',
			'client_id'		=> 'nil',
			'secret' 		=> 'nil',
			'mode' 			=> 'sandbox'
		);

根据您的paypal配置,将mode更改为livesandbox

一旦您已经创建了自己的paypal应用程序,您将获得一个Client ID和一个Secret。这些值应该替换数组中的nil

####添加预制的artisan命令 为了轻松编辑内嵌的sdk_config.ini,创建了artisan命令command:paypalconfig。要安装

将以下内容添加到app/start/artisan.php

Artisan::add(new Lightshire\Paypal\PaypalConfig);

####初始化Paypal实例连接 在所有配置完成后,要初始化Paypal实例

Paypal::make();

由于每个连接只有一个实例,因此直接通过new Paypal创建实例不会覆盖实例,而是运行make方法。要通过连接获取当前实例

Paypal::getInstance()

###使用Paypal的即时支付通知进行安全交易 Paypal需要有一个可变回调来初始化IPNListener

示例

$mode 		= Config::get('laravel-paypal::config.mode');
$listener 	= new IpnListener();

if($mode == 'sandbox') {
	$listener->use_sandbox = true;
}

try {
	$verified = $listener->processIpn();
}catch(Exception $exs) {
	//an error occured
	exit(0);
}

if($verified) {
	//verified
}else {
	//not verified
}

您也可以使用以下方式直接等待确认,它会返回truefalse

Paypal::IPNConfirmer()

####致谢 致谢 - https://github.com/Quixotix/PHP-PayPal-IPN