資料驗證/手機條碼驗證

應用場景

特店系統可使用此API來驗證手機條碼是否存在

❗ 注意事項:
1. 若載具編號為手機條碼載具時,可先呼叫手機條碼驗證API進行檢核,一旦手機條碼有誤,可能會造成發票無法歸戶。
2. 本API調用財政部系統進行數據驗證。但財政部系統可能會進行不預期的維護作業,這會對API的穩定性和可用性造成影響。因此,建議不要將此API作為開立發票前的唯一驗證機制。請將視作一種輔助性驗證工具,以免中斷發票正常的開立。

API介接網址

  • 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/CheckBarcode
  • 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/CheckBarcode

HTTPS傳輸協定

  • Content Type :application/json
  • HTTP Method :POST

特店傳入參數(Json格式)

PlatformID String(10)
特約合作平台商代號

  • 這個參數是專為與綠界簽約的指定平台商所設計,只有在申請開通後才能使用。
  • 如果您是一般廠商,請在介接時將此參數欄位保留為空。
  • 對於平台商,在使用時需要在MerchantID(特店編號)欄位中填入與您已經完成綁定子廠商的MerchantID(特定編號)。
    請注意,只能使用已綁定的子廠商編號,以避免操作失敗。綁定作業請洽所屬業務。

MerchantID String(10)
特店編號 必填

RqHeader Object
傳入資料 必填

Timestamp Number
傳入時間 必填

請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。

❗ 注意事項

  • 驗證時間區間暫訂為 10 分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/
  • 合作特店須進行主機「時間校正」,避免主機產生時差,導致API無法正常運作。

Data String
加密資料 必填

此為加密過JSON格式的資料。加密方法說明

特店傳入參數範例(Json格式)

				
					{
    "MerchantID": "2000132",
    "RqHeader": {
        "Timestamp": 1525168923
    },
    "Data": "加密資料"
}

				
			

Data參數說明(Json格式) : 請先將Json字串進行urlencode後再進行AES加密

MerchantID String(10)
特店編號 必填

BarCode String(8)
手機條碼 必填

  • 格式應為8碼字元
  • 第1碼為『/』; 其餘7碼則由數字【0-9】、大寫英文【A-Z】與特殊符號【+】【-】【.】這39個字元組成;

❗ 注意事項

  1. 若手機條碼中有加號,可能在介接驗證時發生錯誤,請將加號改為空白字元,產生驗證碼。
  2. 英文、數字、符號僅接受半形字元

Data參數範例(Json格式)

				
					{
    "MerchantID": 2000132,
    "BarCode": "/1234567"
}
				
			

綠界回傳參數格式

  • Content Type :application/json
  • HTTP Method :POST

綠界回傳參數(Json格式)

PlatformID String(10)
特約合作平台商代號

MerchantID String(10)
特店編號 

RpHeader Object
回傳資料 

Timestamp Number
回傳時間

Unix timestamp(GMT+8)

TransCode Int
回傳代碼 

1 代表 API 傳輸資料(MerchantID, RqHeader, Data)接收成功,實際的 API 執行結果狀態請參考 RtnCode

TransMsg String(200)
回傳訊息 

Data String
加密資料 

回傳相關資料,此為加密過JSON格式的資料。加密方法說明

綠界回傳參數範例

				
					{
    "MerchantID": "2000132",
    "RpHeader": {
        "Timestamp": 1525169058
    },
    "TransCode": 1,
    "TransMsg": "",
    "Data": "加密資料"
}

				
			

Data參數說明(Json格式) : 請先將Data進行AES解密後再做urldecode

RtnCode Int
回應代碼

1 代表 API 執行成功,其餘代碼均為失敗。

❗ 注意事項

  1. 此欄位值代表呼叫交易作業結果,不代表手機條碼是否存在結果
  2. 9000001:呼叫財政部API失敗
    代表財政部系統目前維護中,無法驗證,請稍後再試

RtnMsg String(200)
回應訊息

IsExist String(1)
手機條碼是否存在

  • 若回應代碼[RtnCode]為1(成功)時,請再判斷此欄位值
  •  Y:存在 
     N:不存在

Data參數範例

				
					{
    "RtnCode": 1,
    "RtnMsg": "",
    "IsExist": "Y"
}
				
			

必填參數

MerchantTradeNo String(20)
特店訂單編號 必填

  • 特店訂單編號均為唯一值,不可重複使用。
  • 英數字大小寫混合

❗ 注意事項:請勿使用超商代碼販售「遊戲點數(卡)」、「遊戲虛寶」,如經檢舉或稽核屬實,綠界及超商有權限制您的繳費金額或終止使用權益。

MerchantTradeNo String(20)
特店訂單編號 必填

  • 特店訂單編號均為唯一值,不可重複使用。
  • 英數字大小寫混合

Timestamp String(10)
傳入時間 必填

Timestamp String(10)
傳入時間 必填

請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。

❗ 注意事項:請勿使用超商代碼販售「遊戲點數(卡)」、「遊戲虛寶」,如經檢舉或稽核屬實,綠界及超商有權限制您的繳費金額或終止使用權益。

綠界回傳參數範例

付款結果通知會以下表格式參數直接回傳,並以「參數=值」表示,參數與參數之間以&隔開 

				
					1|MerchantID=XXX&MerchantTradeNo=XXX&RtnCode=XXX&BookingNote=&RtnMsg=XXX&AllPayLogisticsID=XXX&LogisticsType=XXX&LogisticsSubType=XXX&GoodsAmount=XXX&UpdateStatusDate=XXX&ReceiverName=XXX&ReceiverPhone=XXX&ReceiverCellPhone=XXX&ReceiverEmail=XXX&ReceiverAddress=XXX&CVSPaymentNo=XXX &CVSValidationNo=XXX &CheckMacValue=XXX

				
			

綠界回傳參數範例

付款結果通知會以下表格式參數直接回傳,並以「參數=值」表示,參數與參數之間以&隔開 

				
					1|MerchantID=XXX&MerchantTradeNo=XXX&RtnCode=XXX&BookingNote=&RtnMsg=XXX&AllPayLogisticsID=XXX&LogisticsType=XXX&LogisticsSubType=XXX&GoodsAmount=XXX&UpdateStatusDate=XXX&ReceiverName=XXX&ReceiverPhone=XXX&ReceiverCellPhone=XXX&ReceiverEmail=XXX&ReceiverAddress=XXX&CVSPaymentNo=XXX &CVSValidationNo=XXX &CheckMacValue=XXX

				
			
  • 測試環境
				
					<div id="ECPayPayment"></div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://ecpg-stage.ecpay.com.tw/Scripts/sdk-1.0.0.js?t=20210121100116"></script>
				
			
  • 正式環境
				
					<div id="ECPayPayment"></div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://ecpg.ecpay.com.tw/Scripts/sdk-1.0.0.js?t=20210121100116"></script>
				
			
Copy
{
    "MerchantID": "2000132",
    "UnifiedBusinessNo": "PythonExample"
    "No": 123
}
Copy
{
    "MerchantID": "2000132",
    "UnifiedBusinessNo": "CSharpExample"
    "No": 123
}

特店Request參數說明 (Json格式)

PlatformID String(10)
特約合作平台商代號

  • 提供特約合作平台商向綠界申請開通後使用,一般廠商介接請放空值。
  • 平台商使用時,MerchantID(特店編號)欄位僅限帶入已綁定子廠商的特店編號,以免造成失敗。

MerchantID String(10)
特店編號 必填

RqHeader Object
傳入資料 必填

Timestamp  Number
傳入時間 必填

請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。

❗ 注意事項

  • 驗證時間區間暫訂為 10 分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/
  • 合作特店須進行主機「時間校正」,避免主機產生時差,導致API無法正常運作。

Data String
加密資料 必填

此為加密過JSON格式的資料。加密方法說明

綠界Response參數說明 (Json格式)

PlatformID String(10)
特約合作平台商代號

MerchantID String(10)
特店編號 

RpHeader Object
回傳資料 

Timestamp Number
回傳時間

時間戳 Unix timestamp

TransCode Int
回傳代碼 

1 代表 API 傳輸資料(MerchantID, RqHeader, Data)接收成功,實際的 API 執行結果狀態請參考 RtnCode

TransMsg String(200)
回傳訊息 

Data String
加密資料 

回傳相關資料,此為加密過JSON格式的資料。加密方法說明

Copy
{
    "MerchantID": "2000132",
    "UnifiedBusinessNo": "PythonExample"
    "No": 123
}
Copy
{
    "MerchantID": "2000132",
    "UnifiedBusinessNo": "CSharpExample"
    "No": 123
}

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

綠界官方網站