模擬串接服務 - 請款單建立

經銷商『請款單建立』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/companyinvoicecreator" }
JSON格式,AES256加密資料
3 encry_data 『請款單建立』欄位資料 string 必填
『請款單建立』欄位參考
JSON格式,AES256加密資料
特約商店『請款單建立』請求欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/companyinvoicecreator" }
JSON格式,AES256加密資料
3 encry_data 『請款單建立』欄位資料 string 必填
『請款單建立』欄位參考
JSON格式,AES256加密資料
請款單建立』欄位
Id Name Description Type Additional Information
1 store_uid 請款方商務代號 string 必填
2 buy_store_uid 購買方商務代號(不一定有) string 非必填
3 store_order_id 客戶自訂請款單號,不可重複 string 必填
4 tong_bian 賣方統編 string 非必填
5 company_name 賣方公司名稱 string 非必填
6 company_tel 賣方公司電話 string
7 sales_name 賣方負責業務姓名 string 非必填
8 sales_phone 賣方負責業務手機 string 非必填
9 sales_tel 賣方負責業務電話 string
10 sales_mail 賣方負責業務mail string 非必填
11 buy_company_tong_bian 買方公司統編 string
12 buy_company_name 買方公司名稱 string
13 buy_company_tel 買方公司電話 string 非必填
14 buy_name 買方業務姓名 string 非必填
15 buy_phone 買方業務手機 string 非必填
16 buy_tel 買方業務電話 string
17 buy_mail 購買人mail string 非必填
18 date_start 請款起始日 string 非必填
19 date_end 請款截止日 string 非必填
20 create_type 發票先開後開,預設 0 int 非必填
『收據類型開立先後順序』值參考
21 product_tax_type 商品價格是否含稅,預設 1 int 非必填
『資料含不含稅』值參考
22 tax_type 營業稅,預設 1 int 非必填
『發票稅率別』值參考
23 tax 稅額 string 非必填
24 pay_mode 付款方式,使用前請先確認與MyPay的簽約是否有該項支付工具 array 非必填
每筆『付款方式』欄位參考
25 product_detail 請款資料 array 非必填
每筆『請款項目資料』欄位參考
26 discount_type 折扣方式,預設0 int 非必填
『折扣類型』值參考
27 discount $discount_type,不可有小數,如果是減價0以上都可,如果是折扣0~100 int
28 memo 備註 string 非必填
29 invoice_memo 發票備註 string 非必填
30 echo_0 自訂回傳參數 1 string 非必填
31 echo_1 自訂回傳參數 2 string 非必填
32 echo_2 自訂回傳參數 3 string 非必填
33 echo_3 自訂回傳參數 4 string 非必填
34 echo_4 自訂回傳參數 5 string 非必填
請款單建立』回傳欄位
Id Name Description Type Additional Information
1 code 請求回傳碼 string 『執行狀態碼』值參考
2 msg 代碼訊息 string
3 resultData 執行結果 object 『請款單建立結果』欄位參考
收據類型開立先後順序』 值內容
Value Description Type Additional Information
0 不預設 integer
1 發票先開 integer
2 發票後開 integer
3 收據先開 integer
4 收據後開 integer
資料含不含稅』 值內容
Value Description Type Additional Information
0 無效
1 含稅 integer
2 不含稅 integer
發票稅率別』 值內容
Value Description Type Additional Information
0 無效值
1 應稅(預設) integer
2 零稅率 integer
3 免稅 integer
付款方式』 值內容
Value Description Type Additional Information
all 全部可用支付方式(預設) string
MobilePayAll 指定下列線上行動支付方式
支付寶、Pi 拍錢包、LINEPay、微信、街口支付、悠遊付
string
CREDITCARD 信用卡 string
CSTORECODE 超商代碼 string
WEBATM WEBATM string
E_COLLECTION 虛擬帳號 string
UNIONPAY 銀聯卡 string
SVC 點數卡(GASH ,Imoney) string
ABROAD 海外信用卡 string
ALIPAY 支付寶 string
WECHAT 微信支付 string
DIRECTDEBIT 定期定額扣款 string
DIRECTDEBIT_ABROAD 定期定額扣款(國外信用卡) string
LINEPAYON LINE Pay線上付款 string
LINEPAYOFF LINE Pay線下付款 string
WECHATOFF 微信支付線下 string
APPLEPAY APPLE PAY string
GOOGLEPAY Google Pay string
EACH eACH交易 string
C_INSTALLMENT 信用卡分期 string
C_REDEEM 信用卡紅利 string
CARDLESS 無卡分期 string
PION Pi 拍錢包線上 string
PIOFF Pi 拍錢包線下 string
AMEX 美國運通 string
JKOON 街口支付線上 string
JKOOFF 街口支付線下 string
ALIPAYOFF 支付寶線下 string
M_RECHARGE 儲值交易 string
EASYWALLETON 悠遊付線上 string
EASYWALLETOFF 悠遊付線下 string
AFP 後付款 string
BARCODE 超商條碼繳費 string
CASH 自行收款 string
請款項目資料』欄位
Id Name Description Type Additional Information
1 name 請款名目 string
2 price 定價 string
3 selling_price 售價 string
4 quantity 數量 string
折扣類型』 值內容
Value Description Type Additional Information
0 無折扣 integer
1 減價 integer
2 打折 integer
執行狀態碼』 值內容
Value Description Type Additional Information
100 資料不正確 string
400 系統錯誤 string
B200 執行成功 string
B500 執行失敗 string
請款單建立結果』欄位
Id Name Description Type Additional Information
1 code 執行結果回傳代碼 string 『請款單建立回應代碼』值參考
2 msg 執行結果錯誤訊息 string
3 store_order_id 商店訂單編號 string
4 order_uid 回傳請款單系統提供單號 string
5 key 驗證碼 string
6 url 請款單輸入介面網址 string
7 echo_0 自訂回傳參數 1 string
8 echo_1 自訂回傳參數 2 string
9 echo_2 自訂回傳參數 3 string
10 echo_3 自訂回傳參數 4 string
11 echo_4 自訂回傳參數 5 string
請款單建立回應代碼』 值內容
Value Description Type Additional Information
A0000 成功 string
A0001 客戶自訂請款單號重複 string
A0002 失敗 string
A0003 發票備註超過70個字 string
AES256資料加密方式說明

1、所有的API送出HTTPs請求之欄位中,service 和 encry_data 欄位皆進行 AES256+BASE64 加密處理。
2、AES加密,格式為CBC,長度為256bits,金鑰長度32,IV長度16,傳遞內文為加密後組合IV並經過Base64轉換後傳出。

方式:
使用自訂的AES256函式將JSON資料加密後,再將IV資料和此AES256加密後的JSON資料串聯後,使用base64再進行加密成ASCII字串即可完成加密。

    PHP加密示意:
    AesEncrypt -> base64_ecode($IV . $JSON)

    C#加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Java加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Node.js加密示意:
    AesEncrypt -> concat([IV,JSON], [IV_SIZE,JSON_SIZE]) -> toString('base64')
    Python加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> base64.b64encode

範例程式碼