iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 14
1

歐付寶提供各種金流、電子發票、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();

送出後會顯示該訂單資訊

prepay

進入訂單頁後,使用 ( stageuser001/test1234 ) 登入測試帳號,即可選擇付款方式,成功後會進到下個頁面。

pay_succ


上一篇
Day 12 - 歐付寶 (1) 介紹
下一篇
Day 14 - 歐付寶 (3) CVS 付款
系列文
使用PHP串接金流相關API30

1 則留言

0
cythilya
iT邦新手 4 級 ‧ 2017-12-24 22:46:13

/images/emoticon/emoticon54.gif

/images/emoticon/emoticon55.gif

我要留言

立即登入留言