AORUS Care 項目
名詞說明
主站:https://www.aorus.com/template.php
副站:http://domain.com (僅作示意,後續替換為真實地址)
使用主站組合(iframe)副站的方式共同開發。
- 若用戶未登錄,則 iframe 副站地址。
- 若用戶已登錄,則 iframe 副站地址+openid參數。
<iframe src="http://domain.com?openid=${用戶標識}">
OAuth 實現方式
主站
- 主站通過書面方式向副站提供 appid 以及 appsecret(保留),用於副站認證。
- 主站需為副站提供 openid(參考上方代碼片段),用於副站跟蹤主站用戶。
- 主站需通過書面方式向副站提供 預授權地址,用於接收來自副站的數據。
// ***************************************
// 副站在訂單支付成功后向主站推送如下消息
// ***************************************
{
"success":true,// 表明接口已處理
"msgCode":null,// 錯誤碼
"msgInfo":null,// 錯誤消息
"model":{
"openId":"", // 用戶標識
"timestamp":1411034505, // 時間戳
"msgId":"", // 消息標識
"msgType":"", // 消息類型
"entity":null, // 針對實體的加密算法後續提供,調試過程先不考慮加密。
}
}
// ***************************************
// 主站接收到消息時需要應答副站,副站接收到消息后認為消息已送達。否則副站每隔5分鐘檢查無應答的消息并嘗試重發,重發上限為6次。
// ***************************************
{
"success":true,
"msgCode":null,
"msgInfo":null,
"model":{
"timestamp":1411034505, // 時間戳
"msgId":"", // 消息標識
}
}
副站
- 副站通過書面方式向主站提供 encrptsecret,用於AES對稱加密返回結果(可延後至業務調通后處理)。
- 副站可使用 openid(可選)、appid(必填) 調用主站開放給副站的相關接口。
業務說明
1、若用戶發起登錄,則需要刷新 iframe 的src,以便於副站獲取到用戶登錄信息。
2、副站調取OPEN的接口獲取商品清單。
3、
4、用戶確認商品并下訂單。
5、(可選)用戶填寫壓單需要的資料,比如:銀行卡號、安全碼。「具體信息需要去stripe上核查是否支持預授權額度操作?」
6、進入支付頁面,填寫的銀行信息準備付款。「用戶的銀行卡信息是否需要傳輸到主站」
7、副站服務端獲取到支付成功的狀態后(壓單也算作支付成功狀態的特例,定時器凍結(查資料是否可行)),向主站服務端POST相關信息。會涉及到:Extended Warranty & Cross-Shipment 服務。前端頁面會跳轉到支付成功頁面,並且返回首頁由主站控制。
付款完成頁面中的按鈕導頁的部分,麻煩請導頁至:「需要完整的URL」
aorus_care_pay_finish.php?s=參數
* 若為購買服務→無須給參數
* 若為Standard付款或預售權 →參數為物流編號
窮盡接口
提供方 |
接口名稱 |
HTTP METHOD |
接口描述 |
依賴數據對象 |
主站 |
|
POST |
獲取服務清單 |
服務(若服務已購買則需標註不可購買)、產品 |
主站 |
|
POST |
接收來自副站的消息 |
銀行卡、服務、產品、訂單、用戶 |
副站 |
/aorus/order |
PUT |
下單 |
服務、訂單、用戶 |
副站 |
/aorus/order |
DELETE |
取消下單 |
服務、訂單、用戶 |
副站 |
/aorus/preauth |
PUT |
預授權 |
銀行卡、服務、產品、訂單 |
副站 |
/aorus/preauth |
DELETE |
取消預授權 |
銀行卡、服務、產品、訂單 |
副站 |
/aorus/payment |
PUT |
支付 |
銀行卡、服務、產品、訂單 |
副站 |
/aorus/payment |
DELETE |
取消支付 |
銀行卡、服務、產品、訂單 |
TODO:用戶的基本資料信息
TODO:新增查詢訂單狀態的接口
TODO:查詢消息沒有應答的訂單
TODO:用戶的銀行卡信息需要傳輸到主站
數據對象
用戶
數據定義 |
主站數據字段 |
副站數據字段 |
用戶id |
user_id |
userId |
用戶姓名 |
name |
name |
產品
數據定義 |
主站數據字段 |
副站數據字段 |
產品序列號 |
product_sn |
productSn |
產品名稱 |
model_name |
productName |
服務
數據定義 |
主站數據字段 |
副站數據字段 |
服務名稱 |
service_name |
serviceName |
服務價格(USD) |
price |
servicePrice |
折扣金額(USD) |
discount_price |
discountPrice |
服務描述 |
|
|
服務配圖 |
|
|
原價(USD) |
|
|
折扣(USD) |
|
|
返修
數據定義 |
主站數據字段 |
副站數據字段 |
報修編號 |
reference_no |
repairSn |
訂單
數據定義 |
主站數據字段 |
副站數據字段 |
訂單編號 |
|
orderId |
訂單價格(USD) |
|
orderFee |
減免價格(USD) |
|
discountFee |
實際支付價格(USD) |
|
realFee |
退款價格(USD) |
|
refundFee |
訂單狀態 |
|
orderStatus |
下單時間 |
|
orderCreateTime |
支付
數據定義 |
主站數據字段 |
副站數據字段 |
支付金額 |
|
payFee |
支付模式 |
|
payMode |
支付狀態 |
|
payStatus |
支付源 |
|
paySource |
支付流水號 |
|
paySn |
支付時間 |
|
payDatetime |
銀行卡
數據定義 |
主站數據字段 |
副站數據字段 |
卡號id(唯一標識符) |
|
cardId |
卡號 |
|
cardNo |
卡品牌(visa、master etc.) |
|
cardBrand |
MM/YY |
|
cardSecurity |
UPS信息
數據定義 |
主站數據字段 |
副站數據字段 |
收件人 |
|
|
收件國家 |
|
|
收件城市(省市區響鎮) |
|
|
收件地址(街道門牌號) |
|
|
聯繫方式 |
|
|
郵編 |
|
|