網路應用支付介面
支付流程說明
#消費流程:
1) 使用者在App中發起支付,App呼叫SDK支付介面payFromServer
2) SDK與Ali服務端進行付款確認後,向使用者顯示付款頁面
#3) 用戶確認付款後,SDK向Ali服務端發起並完成支付
4) Ali服務端將支付結果回饋給SDK,並通知App服務端
5) App服務端透過回呼的訂單訊息,決定是否要發給App的使用者道具
網路應用程式支付介面
介面說明:
# App服務端將支付參數傳遞給App,App呼叫支付介面payFromServer完成支付阿里服務端將支付結果通知SDK和App服務端,App服務端決定道具是否發放
前置條件: 無
函數原型:
public static void payFromServer(String title, String amount, String orderId, String notifyUrl,String subjectId, IPayListener payListener)參數說明:
title:支付物品名稱,如“寶石”
amount:人民幣“分” (如amount =100,代表1元人民幣)
subjectId商品ID(用於參與激勵活動商品標示,由CP自訂)可選
orderId:訂單號,CP的服務端產生
notifyUrl:支付結束後,阿里伺服器回呼給CP伺服器的回呼位址
payListener:回呼函數,支付結束後通知App客戶端成功或失敗。
請求範例:
Stringamount = “2”; String title ="支付人民币0.02元"; finalString orderId = System.currentTimeMillis() +""; // App服务端提供回调接口,用于接收支付成功的消息 String notifyUrl ="http://xxxx.com/callback/notify"; AliTvSdk.payFromServer(title, amount,orderId, notifyUrl,subjectId, newIPayListener() { @Override publicvoidonSuccess(String title,intamount) { TestToast.show("二维码扫码支付成功"); } @Override publicvoidonError(String title,intamount, String errMsg) { TestToast.show("二维码扫码支付失败,原因:"+ errMsg); } @Override publicvoidonCancel(String title,intamount) { TestToast.show("二维码扫码支付取消"); } });
服務端支付成功後回呼通知
介面說明:
##第三方應用程式需要開發一個HTTP服務,並提供的伺服器介面位址,例如:http://第三方應用服務端位址/XXX 數娛服務端使用商家提供的公鑰(public_key)對參數加密產生加密串連encryptString(解密出來為json格式),並在app請求提供的URL(參數為:notify_url)中加入本次成功的訂單資訊加密串(格式為:notify_url?data=encryptString) 數娛服務端將上述資訊向APP服務端發送http請求,若收到回傳訊息為“success”,則發送成功,若回傳訊息為其他,遞增時間間隔重發。Data解密後資料結構:
#鍵名稱(key) | |
#(value) | |
partner_order_no | #商家訂單編號 |
伺服器端主動查詢訂單付款狀態
介面說明:
商家可以透過該介面主動查詢訂單付款狀態,主要用於客戶端付款成功後,商家接到收付款成功後主動查詢一次,用於驗證訂單是否已付款成功。接取方式: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 | |
商家訂單號碼 | 是 |
#傳回基礎結構說明 | |
傳回基礎結構範例:
{ "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等待買家庭支付 | |
TRADE_SUCCESS 支付成功 | |
##TRADE_CLOSED交易關閉 | |
TRADE_CLOSED交易關閉 | price |
訂單價格,以人民幣分成單位 | subject |
商品標題 | #subject_id |
##subject_id | ##商品id |
buyer_logon_id