此包已被弃用且不再维护。未建议替代包。

AIo - Allpay, Ecpay Laravel 5版本

安装: 120

依赖者: 0

建议者: 0

安全性: 0

星标: 2

关注者: 1

分支: 1

开放问题: 0

类型:ectool

1.0.8 2018-04-03 08:20 UTC

This package is auto-updated.

Last update: 2020-05-16 11:55:10 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads

Aio - Laravel 5版本

它是从ScottChayaa/Allpay包派生的

步骤 1: 下载包

使用composer命令安装

composer require kevin50406418/aio

或者将package添加到composer.json中

"require": {
  "kevin50406418/aio": "^1.0.0"
},

然后更新安装

composer update

或者全新安装

composer install

步骤 2: 修改配置文件

config/app.php中的providersaliases参数中增加,根据需求添加

Allpay

'providers' => [
  // ...
  Kevin50406418\Aio\AllpayServiceProvider::class,
]

'aliases' => [
  // ...
  'Allpay' => Kevin50406418\Aio\Facade\Allpay::class,
]

Ecpay

'providers' => [
  // ...
  Kevin50406418\Aio\EcpayServiceProvider::class,
]

'aliases' => [
  // ...
  'Ecpay' => Kevin50406418\Aio\Facade\Ecpay::class,
]

#### 步骤 3: 发布配置到你的项目中 执行以下命令,将package的配置文件配置到你的项目中

Allpay

php artisan vendor:publish --provider=Kevin50406418\Aio\AllpayServiceProvider

Ecpay

php artisan vendor:publish --provider=Kevin50406418\Aio\EcpayServiceProvider

可以查看config/allpay.php或config/ecpay.php,默认是测试Allpay/Ecpay设置

return [
    'ServiceURL' => 'http://payment-stage.allpay.com.tw/Cashier/AioCheckOut',
    'HashKey'    => '5294y06JbISpM5x9',
    'HashIV'     => 'v77hoKGq4kWxNNIS',
    'MerchantID' => '2000132',
];

如何使用

Allpay

use Allpay;

Ecpay

use Ecpay;
public function Demo()
{
    //Official Example : 
    //https://github.com/allpay/PHP/blob/master/AioSDK/example/sample_Credit_CreateOrder.php
    
    //基本參數(請依系統規劃自行調整)
    Allpay::i()->Send['ReturnURL']         = "http://www.allpay.com.tw/receive.php" ;
    Allpay::i()->Send['MerchantTradeNo']   = "Test".time() ;           //訂單編號
    Allpay::i()->Send['MerchantTradeDate'] = date('Y/m/d H:i:s');      //交易時間
    Allpay::i()->Send['TotalAmount']       = 2000;                     //交易金額
    Allpay::i()->Send['TradeDesc']         = "good to drink" ;         //交易描述
    Allpay::i()->Send['ChoosePayment']     = \PaymentMethod::ALL ;     //付款方式

    //訂單的商品資料
    array_push(Allpay::i()->Send['Items'], array('Name' => "歐付寶黑芝麻豆漿", 'Price' => (int)"2000",
               'Currency' => "", 'Quantity' => (int) "1", 'URL' => "dedwed"));

    //Go to AllPay
    echo "歐付寶頁面導向中...";
    echo Allpay::i()->CheckOutString();
}

尽量使用laravel开发时返回String的CheckOutString()方法
当然使用CheckOut()也是可以的
但如果使用的话,我猜后面可能会遇到获取不到特定Session的问题

欧付宝返回页面时会用到这个方法
使用方法示例

public function PayReturn(Request $request)
{
    /* 取得回傳參數 */
    $arFeedback = Allpay::i()->CheckOutFeedback($request->all());
    //...
}

注意要传入$request->all()
因为官方原始的方法是带入了$_POST → Laravel 5不鸟你这个,所以会出错
固做此修正
不过这部分没有多做说明,留给大家试试看