iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
永豐金融APIs

掌握訂單與線上金流的剪不斷理還亂系列 第 8

Day08 永豐金API 建立訂單交易

終於要進入成立訂單的部份了,先看一下成立訂單所需要的參數,

{
    "ShopNo":  "bank001" //永豐金提供的商店編號
    "OrderNo":  "202109141230" //店家自訂訂單編號
    "Amount": 888 //訂單金額
    "CurrencyID":  "TWD" //幣別 固定為twd
    "PrdtName":  "商品名稱" //呈現於付款頁面上面的商品名稱
    "ReturnURL":  "user_back_url" //使用者付款完成後導向的頁面
    "BackendURL":  "notify_url"  //付款完成通知server url
    "PayType":  "A" //付款方式 A: ATM付款, C: 信用卡付款
    "ATMParam" : { //atm付款才需設定
      "ExpireDate":  "20210914" //atm付款截止日期為設定日期的晚上23:59:59,格式Ymd
    }
    "CardParam": { //信用卡付款才需設定
      "ExpMinutes": 20 //信用卡付款連結失效時間,1-30分鐘
   }
}

這邊只列出常用控制項目,以及atm、信用卡付款常用設定項目,
一些銀行請款相關設定都用預設,
以及要特別注意‘ATMParam’跟‘CardParam’,
是分別於atm付款及信用卡刷卡才會特別出現的參數,
然後把這些資料利用我們前幾天封裝好的函式進行測試,
apiService的組成可看Day7 永豐金API 基礎流程 -- 整理

$data; //上面上串資料
//記得設定order_api_url及nonce_api_url
$service =  "OrderCreate"; //服務名稱
echo apiService($service, $data);

//response 信用卡
{
	"OrderNo": "店家自訂訂單號",
	"ShopNo": "商店店號",
	"TSNo": "永豐金訂單號",
	"Amount": 50000,
	"Status": "S", //S:正常 F:失敗
	"Description": "S0000 – 處理成功",
	"PayType": "C",
	"CardParam": {
		"CardPayURL": "信用卡付款網址"
	}
}

//response atm
{
	"OrderNo": "店家自訂訂單號",
	"ShopNo": "商店店號",
	"TSNo": "永豐金訂單號",
	"Amount": 50000,
	"Status": "S", //S:正常 F:失敗
	"Description": "S0000 – 處理成功",
	"PayType": "A",
	"ATMParam": {
		"AtmPayNo": "atm匯款帳號",
		"WebAtmURL": "web atm匯款url",
		"OtpURL": "簡訊動態密碼otp付款 url"
	}
}

這邊拿到response之後,在導向到對應的付款頁面,
信用卡導向到CardParam->CardPayURL,
ATM有幾個操作,首先是有直接提供匯款帳號的,所以是可以直接呈現在網站上,
讓使用者自行匯款,或者導向service或OtpURL進行線上付款,
依照目前大環境來說,我個人是偏好直接顯示匯款帳號,
讓使用者自行選擇現場匯款或者線上轉帳。

至於如果status為失敗,有太多種情況,
一步步依照提示的錯誤訊息進行debug即可,
比較容易出現的錯誤有json跟array的轉換,以及url多斜線/的情況,
稍微注意一下即可。


上一篇
Day07 永豐金API 基礎流程 -- 整理
下一篇
Day09 永豐金API 查詢訂單
系列文
掌握訂單與線上金流的剪不斷理還亂30

尚未有邦友留言

立即登入留言