綠界金流串接
最近因為在串綠界的金流,來記錄一下好了。
首先要先去綠界下載 API 文件還有 SDK,我是用 php 寫的所以就下載 php 那包。
接下來要傳資料到後端去處理:
接著在 post 後處理資料再送到綠界就可以了
最後處理回傳的付款資訊即可。
首先要先去綠界下載 API 文件還有 SDK,我是用 php 寫的所以就下載 php 那包。
接下來要傳資料到後端去處理:
接著在 post 後處理資料再送到綠界就可以了
include('ECPay.Payment.Integration.php'); try { $obj = new ECPay_AllInOne(); //服務參數 $obj->ServiceURL = "https://payment-stage.ecpay.com.tw/Cashier/AioCheckOut/V5"; //服務位置,記得測試完要還成正式網址 $obj->HashKey = '5294y06JbISpM5x9' ; //測試用Hashkey,請自行帶入ECPay提供的HashKey $obj->HashIV = 'v77hoKGq4kWxNNIS' ; //測試用HashIV,請自行帶入ECPay提供的HashIV $obj->MerchantID = '2000132'; //測試用MerchantID,請自行帶入ECPay提供的MerchantID $obj->EncryptType = '1'; //CheckMacValue加密類型,請固定填入1,使用SHA256加密 //基本參數(請依系統規劃自行調整) $MerchantTradeNo = "Test".time() ; $obj->Send['ReturnURL'] = "接收回傳資料的網址" ; //付款完成通知回傳的網址 $obj->Send['MerchantTradeNo'] = $MerchantTradeNo; //訂單編號 $obj->Send['MerchantTradeDate'] = date('Y/m/d H:i:s'); //交易時間 $obj->Send['TotalAmount'] = 2000; //交易金額 $obj->Send['TradeDesc'] = "good to drink" ; //交易描述 $obj->Send['ChoosePayment'] = ECPay_PaymentMethod::ALL ; //付款方式:全功能 //訂單的商品資料 array_push($obj->Send['Items'], array('Name' => "歐付寶黑芝麻豆漿", 'Price' => (int)"2000", 'Currency' => "元", 'Quantity' => (int) "1", 'URL' => "dedwed")); //產生訂單(auto submit至ECPay) $obj->CheckOut(); } catch (Exception $e) { echo $e->getMessage(); }
最後處理回傳的付款資訊即可。
require('ECPay.Payment.Integration.php'); try { // 收到綠界科技的付款結果訊息,並判斷檢查碼是否相符 $AL = new ECPay_AllInOne(); $AL->MerchantID = '2000132'; $AL->HashKey = '5294y06JbISpM5x9'; $AL->HashIV = 'v77hoKGq4kWxNNIS'; // $AL->EncryptType = ECPay_EncryptType::ENC_MD5; // MD5 $AL->EncryptType = ECPay_EncryptType::ENC_SHA256; // SHA256 $feedback = $AL->CheckOutFeedback(); // 以付款結果訊息進行相對應的處理 /** 回傳的綠界科技的付款結果訊息如下: Array ( [MerchantID] => [MerchantTradeNo] => [StoreID] => [RtnCode] => [RtnMsg] => [TradeNo] => [TradeAmt] => [PaymentDate] => [PaymentType] => [PaymentTypeChargeFee] => [TradeDate] => [SimulatePaid] => [CustomField1] => [CustomField2] => [CustomField3] => [CustomField4] => [CheckMacValue] => ) 再個別寫入資料庫更新即可 */ // 在網頁端回應 1|OK echo '1|OK'; } catch(Exception $e) { echo '0|' . $e->getMessage(); }
留言