歐付寶提供各種金流、電子發票、Open ID、平台綁定的整合 API 與 SDK 工具包,取得串接資訊後,即可開始使用歐付寶系統,若於測試環境中串接,則不需要特別申請帳號。
( 若不開發金流串接程式,可以用「快速收款」或「一址付」微型賣場功能,直接開始線上收款。)
歐付寶全方位(All In One)金流 PHP SDK
歐付寶提供了基本的 SDK 程式 (php, Java, C#, Ruby on Rails, Node.js)
歐付寶金流整合SDK技術文件(PHP版)
SDK 技術文件則支援 php, Java, C#
其它程式語言,請參考文件。
在測試環境串接歐付寶系統,需要填寫的資訊:
欄位 | 欄位說明 |
---|---|
特店編號(MerchantID) | 2000132 |
廠商後台測試環境 | 測試環境 |
廠商後台測試帳號/密碼 | StageTest/test1234 |
介接測試 Hash Key | 5294y06JbISpM5x9 |
介接測試 Hash IV | v77hoKGq4kWxNNIS |
信用卡測試卡號 | 4311-9522-2222-2222 |
信用卡測試安全碼 | 222 |
信用卡測試有效年月 | 設定大於測試時間的年月 |
( 測試網頁 )
首先要 include 使用官方提供的 sdk 文件
include('[path]/AllPay.Payment.Integration.php');
使用 AllInOne 的類別來串接金流
$obj = new AllInOne();
填入測試環境固定的服務參數
測試環境:
https://payment-stage.allPay.com.tw/Cashier/AioCheckOut/V4
參數 | 參數名稱 | 型態 | 說明 | 範例 |
---|---|---|---|---|
*MerchantID | 會員編號(由 O’Pay提供) | String(10) | 測試編號 | 2000132 |
*MerchantTradeNo | 會員交易編號(由會員提供) | String(20) | 會員交易編號均為唯一值,不可重複 | allPay1234 |
*MerchantTradeDate | 會員交易時間 | String(20) | 格式為:yyyy/MM/dd HH:mm:ss | 2012/03/21 15:40:18 |
*PaymentType | 交易類型 | String(20) | 請固定填入 aio | aio |
*TotalAmount | 交易金額 | Int | 請帶整數,不可有小數點(僅限新台幣) | 5000 |
*TradeDesc | 交易描述 | String(200) | allPay 商城購物 | |
*ItemName | 商品名稱 | String(200) | 商品名稱請以符號#分隔 | 手機 20 元X2#隨身碟60 元 X1 |
*ReturnURL | 付款完成通知回傳網址 | String(200) | 付款完成後將導到該網址 | http://your.web.site/receive.php |
*ChoosePayment | 選擇預設付款方式 | String(20) | (詳見文件) | Credit |
*CheckMacValue | 檢查碼 | String | 請參考附錄檢查碼機制(p.42) |
透過 sdk 可以快速帶入服務參數
//服務參數
$obj->ServiceURL = "https://payment-stage.opay.tw/Cashier/AioCheckOut/V4"; //服務位置
$obj->HashKey = '5294y06JbISpM5x9' ;//測試用Hashkey
$obj->HashIV = 'v77hoKGq4kWxNNIS' ;//測試用HashIV
$obj->MerchantID = '2000132';//測試用MerchantID
$obj->EncryptType = '1';//CheckMacValue加密類型,請固定填入1,使用SHA256加密
填入 API 必要的參數
$obj->Send['ReturnURL'] = "http://www.opay.tw/receive.php";
$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'] = PaymentMethod::ALL;
//訂單的商品資料
array_push($obj->Send['Items'], array('Name' => "歐付寶黑芝麻豆漿", 'Price' => (int)"2000", 'Currency' => "元", 'Quantity' => (int) "1", 'URL' => "dedwed"));
送出 request 產生訂單
$obj->CheckOut();
送出後會顯示該訂單資訊
進入訂單頁後,使用 ( stageuser001/test1234 ) 登入測試帳號,即可選擇付款方式,成功後會進到下個頁面。