網路應用續訂支付介面
支付流程說明
消費流程:
#1)
用戶在App中發起支付,App呼叫SDK支付介面payFromServer2)
SDK與Ali服務端進行付款確認後,向用戶顯示支付頁面3) 使用者確認付款後,SDK向Ali服務端發起並完成付款
4) Ali服務端將支付結果回饋給SDK,並通知App服務端5)
#App服務端透過回呼的訂單訊息,決定是否向App的使用者發放道具
網路應用續訂首次支付
介面說明
:
public static void repayFromServer
#前置條件
##:無
################################ ###:######
public static void repayFromServer ##(String subject, String orderId, String interval, List<String> priceList, String description,
########################## final######### String title, #########final######### String notifyUrl, #########final##### #### String subjectId,######### final########## IPayListener payListener)##################### #####################參數說明##########:############subject#### ##:續費商品包,如「影視包月」############orderId######:訂單號,CP的服務端產生########## ##interval######:自動續費模式(month:按月、season:按季),只支援兩種固定模式;無論按月或按季度都僅支援1年內的續費,即按月續費時,後續應用服務端最多可發起11次續費請求,按季續費後續最多可發起3次續費。 ############priceList######:價格列表,包含此消費,後續每次續約消費金額#######
description(可選):業務權益結束時間,若沒有則為空
title:付款目標商品,如「xx影視」
notifyUrl:付款結束後,阿里伺服器回呼給CP伺服器的回呼位址
subjectId#(可選) 商品ID,如為空,則無法參與消費激勵活動,建議必填。
payListener:回呼函數,支付結束後通知成功或失敗。
請求範例:
AliTvSdk.pay("XX商品", "12345678", "month", Arrays.asList(arr), "权益描述", "支付物品名称", "http://setbycp2", null, new IPayListener(){ @Override public void onSuccess(String title, int amount) { TestToast.show("支付成功"); } @Override public void onError(String title, int amount, String errMsg) { TestToast.show("支付失败, 原因:" + errMsg); } @Override public void onError(String errCode, String errMsg) { TestToast.show(" 支付失败。" + errCode + ":" + errMsg); } @Override public void onCancel(String title, int amount) { TestToast.show("支付取消"); } });
網路應用程式續訂後續付款
######介面說明##########:############商家在使用客戶端成功建立續費序列後,可以透過服務端,向支付後台發送續費請求。 ###############存取方式:TOP##########
TOP存取指南見
//open.taobao.com/doc2/detail.htm?spm=a219a.7629140.0.0 .jlQptD&treeId=49&articleId=101617&docType=1
TOP 輔助工具類別(java)請參閱附錄。
API:
taobao.tvpay.partner. renewal.pay
請求參數結構:
參數名稱 | 參數說明 | 是否必填 | 「詳情 # |
partner_notify_url | #回呼位址 | ||
是 | #partner_order_no ## ##########該筆訂單的商家訂單號碼###################是############## #### ###### | ||
price | #價格,以人民幣分為單位 | 是 | #需要和最初建立序列時一直,否則會報錯。 |
ref_order_no | #序列首筆訂單商家訂單號 | 是 | #從sdk建立序列時,該筆訂單對應的商家訂單號。 |
Seq | #續費序號。 | 是 | #SDK上支付的首筆seq算0,從後台續費的第一筆seq為1,類推。 |
Subject | 商品標題 | 是 | # # |
subject_id | #商品id | 商品id |
傳回基礎結構說明:
欄位 | #說明 |
Code | #success:成功 |
######message###################提示訊息或錯誤訊息######### ###############data.data####### | 傳回業務參數(需要RSA方式使用私鑰解密,得到json#串並解析成結構化的data參數) |
返回基礎結構範例:
{ "tvpay_partner_renewal_pay_response":{ "result":{ "code":"success", "data":{ "order_status":"TRADE_SUCCESS" }, "message":"success", "success":true } } }
如果請求成功(success為true),參考order_status欄位校驗訂單狀態
WAIT_BUYER_PAY 等待買家支付
TRADE_SUCCESS 支付成功
TRADE_CLOSED #交易關閉
如果請求失敗,請參考錯誤碼code字段,分析錯誤原因。
TERM_COUNT_EXCEED_LIMIT#,帳期過多
RENEWAL_PRICE_ERROR#,金額校驗未通過
RENEWAL_PRICE_EXCEED_LIMIT #續費總額超過限制
RENEWAL_ORDER_NOT_ALLOWED 應用程式暫不支援續費
RENEWAL_ORDER_INFO_ERROR 訂單資訊有誤
RENEWAL_THREAD_NOT_FOUND
################################################################################################################################################################################################################################## #RENEWAL_THREAD_STATUS_ERROR 續費序列狀態異常
RENEWAL_ORDER_PAY_FAIL 續費訂單支付失敗
RENEWAL_TIME_ERROR 未到續約時間
RENEWAL_THREAD_SEQ_ERROR #續費帳戶錯誤
# -------------------------------------------------- ------------------------------
服務端支付成功後回呼通知
介面說明:
第三方應用程式需要開發一個HTTP服務,並提供的伺服器介面位址,例如:http://第三方應用服務端位址/XXX 數娛服務端使用商家提供的公鑰(public_key)對參數加密產生加密字串encryptString(解密出來為json格式),並在app請求提供的URL(參數為:notify_url)中加入本次成功的訂單資訊加密串(格式為:notify_url?data=encryptString) 數娛服務端將上述資訊向APP服務端發送http請求,若收到回傳資訊為“ success”,則發送成功,若返回訊息為其他,遞增時間間隔重發。
#Data解密後資料結構:
鍵名稱(key) | |
#(value) | |
#商家訂單編號 | |
伺服器端主動查詢訂單付款狀態
介面說明:
商家可透過此介面主動查詢訂單付款狀態,主要用於客戶端付款成功後,商家接到收付款成功後主動查詢一次,用於驗證訂單是否已付款成功。
存取方式:TOP
TOP存取指南見://open.taobao.com/doc2/detail.htm?spm=a219a. 7629140.0.0.jlQptD&treeId=49&articleId=101617&docType=1
API#:taobao.tvpay.partner.order.query
參數說明 | 是否必填 | ||
詳情 | order_no | #商家訂單號碼 | 是 |
商家自己的訂單號碼
#傳回基礎結構說明
#: | |
#說明 | |
code | #success:成功 |
message | 提示訊息或錯誤訊息 |
傳回基礎結構範例:
{ "tvpay_partner_order_query_response": { "result": { "code": "success", "data": { "data": "PG5Qgxp5C+Muqohd7s01IE9SK/VnYVSxsY7nPqHFR8d+tjx3qLBeTu8llVi0+yaQHdMl/ZMTXxhchl9FiruOkX+GL5aN4S+/C68Tq5Os5dT4iilwNaDT6gw2pBtMUR9maVfXukcvFMLSx7d9XsjebWpapqTMgjOkMQjOHUA0GtcdgfFPE4sFxwB0+8SdbOYF1qoEkBoU8o0brd6/tFTJkqn/uJUbHOoqqLXCB3LmxShRa4m8KRsVPfSavOEjcSO7yfNTu7cLhGoOCRL5ffwLWVxyPRpaLfm0O8CJi9Cllb5nndWzh1zoXUtyBdfw9iHzbE0C7WArO5+YLKVCzA5c4A==" }, "message": "success", "success": true }, "request_id": "118g71ywn59zf" } }
data解密後資料結構:
#鍵名稱 (key) | |
值 | (value) |
partner_order_no | 商家訂單號碼 |
alipay_trade_no | 支付寶交易流水號 |
#order_status | |
#WAIT_BUYER_PAY等待買家支付 | |