第三方支付
Last updated
Last updated
第三方付款是指銷售商(以下稱為開發者)在不使用ONE store應用程式提供的結帳模組(In-App結帳SDK)的情況, 直接連接第三方支付平台提供的支付服務。
開發者即使用第三方支付,也須將第三方支付交易明細(購買紀錄、取消記錄)發送給ONE store,開發者有必要對此進行開發和審核。
開發者傳送的第三方支付交易明細會用於ONE store 排行榜和服務,以及作為ONE store和開發者之間的結算資料。
(A) [開發者] 進入ONE store開發者中心> Apps >點選 “商品註冊” 鍵,註冊新增應用程式。
在“商品註冊”畫面中選取“使用第三方支付平台”的選項,設為“使用”。
確認“第三方支付之同意”視窗中所示內容,設為同意(“確認”)。
(B) [開發者] 在“商品註冊”畫面中收到 OAuth Key(Client_secret)。
(C) [開發者] 開發時需參考API伺服器規範。
開發OAuth AccessToken發放、傳送交易紀錄等。
(D) [開發者] 務必確認在Sandbox環境(https://sbpp.onestore.net )下是否正常傳送交易紀錄。
(E) [開發者] 將開發的最終版安裝包(APK)上傳至ONE store開發者中心,並連接商用環境。
首先連接開發者商用環境和ONE store商用環境(https://apis.onestore.net)
接著連接商用環境下,接入開發者想要使用的第三方支付PG。
(F) [開發者] 向ONE store申請審核。
(G) [ONE store] 務必確認在開發者應用程式中完成支付後,是否能在商用環境下發送交易紀錄。
(H) [ONE store] 要求開發者取消用於審核的第三方支付款項。(向開發者聯絡人傳送相應郵件)
(I) [開發者] 取消該交易的支付。
(J) [ONE store] 確認在商用環境下開發者的交易取消紀錄是否能正常發送,如果無誤就表示通過審核。
(K) [開發者] 上架通過審核的應用程式。
需發送交易紀錄的標準如下:
使用第三方支付的情況
使用第三方支付服務直接購買商品
使用第三方支付服務儲值應用內要支付的貨幣* (*應用內貨幣:只能在相關應用可儲值,只能購買相關應用內的商品的貨幣)
使用開發者自設的支付貨幣**來購買商品(**開發者自設的支付貨幣:不僅是相關應用程序,還可以同樣開發公司的其他應用或Web等其他渠道適用第三方支付購買,在多個應用中可以使用的結帳方式)
除外情况 (不使用第三方支付服务)
通過開發者內部推廣活動建立的支付平台(如免費優惠券,現金點數)來購買商品
未在One Store發布的國家範圍內而是在其他國家發生交易時
根據購買ID(developerOrderId)來確認交易紀錄。
所開發的應用程式接入第三方支付服務,須在“第三方支付完成”後,向用戶提供購買ID。(支付完成畫面及郵件通知)
ONE store審核組須根據購買ID確認相對應用程式的第三方支付交易紀錄是否正常發送給ONE store。
發送國家代碼和貨幣代碼時,請注意以下事項:
對於One Store發布的國家中出現的交易,則以 ISO_3166-1_alpha-2為基準發送國家代碼。
貨幣代碼則以國家代碼為基準,根據 ISO_4217 進行發送,如果交易的貨幣與國家貨幣不同,則將其轉換為國家貨幣進行發送。(搜尋Google,截至當日00時)
國家代碼為KR時,Request Header的x-market-code則發送至MKT_ONE。
國家代碼不是KR時,Request Header的x-market-code則發送至MKT_GLB。
ONE store審核組進行確認程序,如無法傳達正確的總供應價格,可進行驗證退貨或停止銷售處理。
開發者支付完成(成功)後,須將相對數據發送給ONE store,同步支付紀錄。同時,支付成功且完成同步的交易如需更改相關數據(取消交易)時,同樣需要發送相關交易紀錄。
發送給ONE store的第三方支付購買或取消的交易內容會反應於ONE store 應用程式的排行榜,面向一般顧客公開,以及用於ONE store和開發者之間的結算資料。
第三方支付連動API是指,為了將在開發商中所進行的第三方支付結帳購買明細及取消明細傳送至ONE store而提供的API。
send3rdPartyPurchase (傳送第三方支付的購買紀錄)
cancel3rdPartyPurchase (取消第三方支付的購買紀錄)
為了各個API的連動,應先進行OAuth認證,在進行OAuth認證前應先收到client_id和client_secret。
ONE store API伺服器根據目的分成開發環境(Sandbox)和商用環境。
開發環境(Sandbox):
套用與商用 API同規則的虛擬連動環境。
開發者開發可連接ONE store和伺服器API後,將應用程式在開發者中心正式上架之前,連動開發環境進行測試。
該流程中,開發者傳送的支付訊息不適用於排名或結算。
商用環境:
實際服務的環境,應同步用戶的完成支付或取消紀錄。
開發者在商用環境中傳送的支付數據會反應於結算業務,如果在商用環境中進行支付測試,須取消相關交易。
開發環境和商用環境的host資訊如下。
外部付款購買記錄傳輸API已更新。(send3rdPartyPurchase-p1 )
使用現有外部付款購買記錄傳輸格式時,無法在美國分發APP.
在美國通過外部付款服務於App時,必須使用send3rdPartyPurchase-p1 格式。
用戶在應用程式中購買商品時,應用程式會在連動時取得所需資訊。(參考4. Reference Code)
將應用程式取得的資訊和用戶的購買請求傳送給開發者伺服器。
開發者伺服器通過第三方支付(PG或其他應用商店所提供的應用程式內支付程序)處理支付,將支付結果傳送給相關應用程式。
同時,將透過第三方支付進行的購買紀錄傳送到ONE store API 伺服器。
(如果ONE store的 OAuth 存取令牌到期)先取得OAuth 存取令牌(AccessToken),再連動API。
建議保存API連動結果做為狀態值,連動失敗時重試。
如連動ONE store的購買紀錄被取消,應將通過第三方支付平台取消的紀錄傳送到ONE store API伺服器。
(如果ONE store的 OAuth 存取令牌到期)先取得OAuth 存取令牌(AccessToken),再連動API。
建議保存API連動結果做為狀態值,連動失敗時重試。
連動ONE store 交易相關伺服器 API時,必須通過 OAuth認證取得 AccessToken (存取令牌)。
AccessToken的有效時間為3600秒,如果有效期間到期或只剩下600秒以下時,再次呼叫 getAccessToken(),可取得新令牌。
已有的AccessToken也可以使用到有效期限結束為止。
開發者可重複取得AccessToken,因此根據開發商的服務實例(instance),可以取得並使用不同的AccessToken。
基本流程如下:
取得AccessToken的流程(1)是如果呼叫API時出現認證錯誤時採用即可。
為了呼叫ONE store的伺服器API,使用 Authorization Bearer的呼叫範例如下。(Bearer值是指呼叫 getAccessToken()後取得的 AccessToken)
Desc: 發放用於使用伺服器API的AccessToken。
URI: /v6/oauth/token
Method: POST, PUT
Request Header
Request Body
Example
Response Body
Example
將第三方支付的購買明細及取消明細傳送給ONE store伺服器的詳細內容。
Desc: 傳送開發商通過第三方支付購買的明細。
URI: /v6/purchase/developer/{packageName}/send/p1
Method: POST
Parameters: String packageName : 呼叫API的應用程式包的名稱。 (Data Size : 128)
Request Header
Example
Request Body
Example
Response Body
Example
Desc: 取消開發商通過第三方支付平台購買的紀錄。
URI: https://{host}/v2/purchase/developer/{packageName}/cancel
Method: POST
Parameters: String packageName : 呼叫API的應用程式包名稱。 (Data Size : 128)
Request Header
Example
Request Body
Example
Response Body
Example
伺服器API正常回應以外發生Error時,另外以JSON形式傳送Response,參考以下內容:
Response Body : JSON形式
Example
本指南包含客戶端開發內容,以支援傳送在 ONE store 銷售的第三方支付應用程式的交易明細。
開發商可以確認以下提供的內容,可直接實現功能或參考範例代碼並使用。
在ONE store安裝的應用程式總共會帶有8個安裝套件(install package)資料,參考下表。
如果使用以下代碼則是通過ONE store安裝程式(Installer)安裝應用程式,必須將相對應用程式的支付訊息傳送給ONE store。
Example
從USIM 卡取得手機電信業者資訊,通過ONE store第三方支付交易明細的傳送API進行傳達。
要傳達的手機電信業者資訊是以MCC+MNC組合的SIM Operator訊息,由5~6位數字組成。
如果像Wi-Fi Tablet一樣的設備無法取得SIM Operator的情況下,可傳送 "UNKNOWN_SIM_OPERATOR" 即可。
Example
外部支付稅款政策
開發者直接通過外部支付銷售時,開發者承擔繳納附加稅和其他相關稅金義務,並有責任直接向相應國家繳納附加稅和其他相關稅款。 (在大韓民國銷售的部分,ONE store代理繳納附加稅,但僅限大韓民國以外開發者。)
外部支付服務費
大韓民國開發者:結算對象金額 * 5% * 1.1(包括VAT / 出具稅金帳單)
大韓民國以外開發者:結算對象金額 * 5%
結算對象金額 = 最終支付金額 - VAT
手續費憑證
大韓民國開發者:出具1張稅金帳單(大韓民國+全球銷售部分) (不過在韓出售的部分,作為共同合資,由One Store/KT/LG U+ 3家公司分別出具憑證。)
大韓民國以外開發者:出具1張發票(韓國+全球銷售部分)
確認憑證路徑如下。 - 開發者中心 > 結算 > 結算現狀 > 外部支付 > 憑證
關於匯款
服務費以銷售月為基準,需要在下個月25日之前匯入指定的虛擬帳戶。
確認虛擬帳戶路行如下。 - 開發者中心 > 結算 > 結算現狀 > 外部支付 > 結算info
大韓民國以外開發者,需要匯入服務費和VAT代理繳納合計的金額。
在國外銀行進行外匯匯款(他行匯款)時,所有手續費由匯款人承擔。SWIFT匯款時,務必把匯款手續費選項設定為OUR(匯款人負擔)。 (是否設定了OUR選項,請向匯款銀行確認。)
修改憑證資料
如果需要修改稅單(發票)中的"我的會員"資料,請在銷售月底之前向開發者中心(devhelper@onestore.net)傳送修改需求
手續費未繳
服務費以ONE store最終收取到的金額為基準,因為匯款手續費等,收到金額不同於全額時,處於“未繳”狀態。
手續費持續未繳時,根據銷售條款,有可能出現產品銷售停止等,服務會受限。
詳細的諮詢事項請發信向ONE store開發者中心詢問。(devhelper@onestore.net)
编号 | Installer | Installer Package Name |
---|---|---|