kollway / allpay
Laravel的全额支付服务提供商
1.0.3
2018-03-02 02:44 UTC
Requires
- php: >=5.4
This package is not auto-updated.
Last update: 2024-09-22 03:46:36 UTC
README
#Allpay SDK包装器为Laravel
allpay-laravel是一个包装了欧付宝官方提供的SDK的Service Provider。
让开发人员省去重复初始化SDK、输入配置值的麻烦。
关于欧付宝官方SDK,请参见全方位金流SDK技术文件下载
注意:AllPay.Payment.Integration.php(整个Allpay SDK的核心文件)不是我写的,是Allpay官网提供的SDK。所有功劳和荣誉归功于Allpay工程师。
此包只是使用service provider与facade将其包装,使其在Laravel上更易于使用。
安装
将allpay-4-laravel添加到您的composer.json
"require": {
"kollway/allpay": "0.1.0"
}
然后使用composer安装:
$ composer update
注册Package
将service provider注册到app/config/app.php
中的providers
数组
'providers' => array( // ... 'Kollway\Allpay\AllpayServiceProvider', )
将类名缩写注册到app/config/app.php
中的aliases
数组
'aliases' => array( // ... 'Allpay' => 'Kollway\Allpay\Facade\Allpay', )
配置
在config文件夹中添加app/config/allpay-4-laravel.php
,然后添加以下code:
<?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();