如何制作转向 / allpay-4-laravel
Laravel 4的全功能支付服务提供商。
0.1.0
2014-12-15 15:16 UTC
This package is auto-updated.
Last update: 2024-09-10 20:30:14 UTC
README
#Laravel 4的全功能Allpay SDK包装器
allpay-4-laravel是一个将欧付宝官方提供的SDK打包好的Service Provider。
让开发者免于反复初始化SDK、输入配置值的繁琐。
欧付宝官方SDK请见全方位金流SDK技术文件下载
注意:AllPay.Payment.Integration.php(整个Allpay SDK的核心文件)不是我编写的,是Allpay官网提供的SDK。所有功劳和荣誉归给Allpay工程师。
此package仅使用service provider与facade对其进行包装,使其在Laravel上更容易使用。
安装
将allpay-4-laravel添加到你的composer.json
"require": {
"howtomakeaturn/allpay-4-laravel": "0.1.0"
}
接着使用composer安装:
$ composer update
注册Package
将service provider注册在app/config/app.php
中的providers
数组
'providers' => array( // ... 'Howtomakeaturn\Allpay\AllpayServiceProvider', )
将类别名注册在app/config/app.php
中的aliases
数组
'aliases' => array( // ... 'Allpay' => 'Howtomakeaturn\Allpay\Facade\Allpay', )
配置
在config文件夹中新增app/config/allpay-4-laravel.php
,然后添加以下代码:
<?php return array( 'ServiceURL' => "https://payment.allpay.com.tw/Cashier/AioCheckOut", 'HashKey' => "您的hashkey", 'HashIV' => "您的hashiv", 'MerchantID' => "您的merchantid" );
用法
由于allpay-4-laravel只是将欧付宝官方提供的SDK类初始化之后进行包装,实际上您仍然是在操作SDK类对象。
欧付宝官方SDK请见全方位金流SDK技术文件下载
使用示例
###官方文件示例
官方SDK文件,一般订单示例如下:
$oPayment = new AllInOne(); /* 服務參數 */ $oPayment->ServiceURL ="<<您要呼叫的服務位址>>"; $oPayment->HashKey = "<<AllPay提供給您的Hash Key>>"; $oPayment->HashIV = "<<AllPay提供給您的Hash IV>>"; $oPayment->MerchantID ="<<AllPay提供給您的特店編號>>"; /* 基本參數 */ $oPayment->Send['ReturnURL'] = "<<您要收到付款完成通知的伺服器端網址>>"; $oPayment->Send['ClientBackURL'] = "<<您要歐付寶返回按鈕導向的瀏覽器端網址>>"; $oPayment->Send['OrderResultURL'] = "<<您要收到付款完成通知的瀏覽器端網址>>"; $oPayment->Send['ChoosePayment'] = PaymentMethod::ALL; // blah blah array_push($oPayment->Send['Items'], array('Name' => "<<產品C>>", 'Price' => (int)"<<單價>>", 'Currency' => "<<幣別>>", 'Quantity' => (int) "<<數量>>", 'URL' => "<<產品說明位址>>")); /* 產生訂單 */ $oPayment->CheckOut();
使用allpay-4-laravel,您不再需要输入服务参数。代码如下:
Allpay::instance()->Send['ReturnURL'] = "<<您要收到付款完成通知的伺服器端網址>>"; Allpay::instance()->Send['ClientBackURL'] = "<<您要歐付寶返回按鈕導向的瀏覽器端網址>>"; Allpay::instance()->Send['OrderResultURL'] = "<<您要收到付款完成通知的瀏覽器端網址>>"; Allpay::instance()->Send['ChoosePayment'] = PaymentMethod::ALL; // blah blah array_push(Allpay::instance()->Send['Items'], array('Name' => "<<產品C>>", 'Price' => (int)"<<單價>>", 'Currency' => "<<幣別>>", 'Quantity' => (int) "<<數量>>", 'URL' => "<<產品說明位址>>")); /* 產生訂單 */ Allpay::instance()->CheckOut();
高级用法
如果您觉得Allpay::instance()
太多,可以使用缩写Allpay::i()