跳轉至

PG 定期支付

“PG 經常付款”是指用戶一旦在PG 付款框中登記了付款方法,應用程序服務器將在適合他們時要求從該付款方法付款。 它用來定期支付同樣的產品,例如每月的金額產品。

此文檔描述了“ PG 經常支付” 的集成過程, 以及如何使用 API 從應用程序服務器調用 。 主要API列表如下.

概述

計費週期和間隔由應用服務器管理. app服務器必須在產品持續期間要求付款,Hive不會在指定日期自動付款.

支持的PG和支付方法如下。 未列出的PG和支付方法在連接蜂巢控制檯時將不列入經常性支付列表.

  • Kakao Pay: Kakao Pay Easy Pay
  • 達納爾:信用卡
  • 支付牆:國際信用卡;登記所需的買方電子郵件
  • NHN KCP:信用卡

對接流程

應用程序服務器檢查並註冊您的支付方法 。 一旦支付完畢,蜂巢服務器將嚮應用服務器發出支付通知,告知支付結果. 應用程序服務器存儲order_id從第一次付款通知起作爲發出訂單號,然後用於經常性收費和註銷請求。

PG 經常性付款綜合流量

在應用服務器上完成的PG支付整合流程如下.

  1. 請用戶使用付款方法清單從應用程序服務器。
  2. 請求經常性付款登記使用用戶選擇的產品和支付方法。
  3. 在您的網頁視圖或瀏覽器中顯示作爲註冊回覆收到的HTML支付頁面。
  4. 節省order_id會 議 日 程 和 議 程付款通知當用戶登記支付方法並完成第一次支付時,從蜂巢服務器中獲取。
  5. 請使用order_id您在下次結賬時保存了重新支付與你的計費週期號。
  6. 根據一次性付款通知處理產品付款。
  7. 索取取消當你結束你的經常性支付。

第二輪投票結束後,您的訂單號碼將轉至您的經常性收費答覆和付款通知。 在應用程序服務器中連接並管理您的初始訂單ID和訂單號.

如果用戶關閉支付頁面或未能註冊,蜂巢服務器將不會發送支付通知.

準備工作

在蜂巢控制檯設置您的支付方式和支付通知 URL,然後撥打API 。 如果您在您的應用程序中設置了安全密鑰, 您還需要準備認證符 。

關聯支付方式

從蜂巢控制檯連接您的經常性支付方式到應用程序 。 見PG 設置說明如何設置它。

設置支付通知URL

註冊應用程序服務器的 URL 以在蜂窩控制檯 > 計費 > 付款設置 > PG 設置 > 附加設置。使用與普通 PG 付款相同的設置。 見PG 支付通知設置需要更多信息,說明如何設置。

準備認證令牌

如果你已經設置安全密鑰在應用程序中,您可以通過發行 OAuth 託肯.)中包含此符號。X-Access-Token在請求標題中調用API時。

通用請求和響應

所有API都使用POSTJSON格式中的方法和請求正文。 不支持發送表單 。 通過將每個API的路徑與您想要使用的環境的主機前綴來請求.

  • 生產主機:https://hiveiap.qpyou.cn
  • 沙盒主機:https://sandbox-hiveiap.qpyou.cn

Request header

格式化請求正文爲Content-Type編輯X-Access-Token只有您在應用程序中設置了安全密鑰, 纔會驗證 。

字段 類型 需要嗎? 說明
Content-Type 字符串 要求數 application/json
X-Access-Token 字符串 附加條件 OAuth 2.0 訪問 如果您在應用程序中設置了安全密鑰, 需要鍵入

用戶識別

在要求經常性收費或註銷時,必須告知登記經常性付款的用戶的信息。 蜂巢服務器使用player_type和player_id一起確認你的身份

若爲player_type這是v4通過蜂巢玩家身份vid改爲:player_id如果v0,轉發蜂巢成員UIDuid. player_type與vid_type在付款通知中。

player_id必須是數值爲1或以上的數字字符串。 如果一個非數字值被傳遞,10010002返回一個錯誤。

Response body

如果成功的話codeJSON 響應中的字符串"0"。該錯誤也響應 HTTP 狀態代碼200檢查code在體內。 Token 認證失敗響應 HTTP 狀態代碼401.

如果反覆支付註冊成功,則會返回支付頁面HTML而不是JSON. 見登記冊答覆.

字段 類型 包含響應 說明
code 字符串 JSON的回應 結果碼."0"成功,見錯誤代碼其他數值
message 字符串 JSON的回應 結果消息,包括髮生錯誤的原因,內部錯誤消息是Internal server error

共同成功對策的例子包括:

"傑森"("Json")

```json
{ "code": "0", "message": "SUCCESS" }
```

支付方式列表查詢API

查看您的經常性支付方法。 顯示列表中按數組排列的付款方法,並將用戶所選項目的標識符傳遞給經常性的付款登記請求。

Request info

請求路徑是/v2/payment/recurring/methods。請求方法和授權標題遵循共同請求和答覆.

  • 生產 URL:https://hiveiap.qpyou.cn/v2/payment/recurring/methods
  • 沙盒 URL :https://sandbox-hiveiap.qpyou.cn/v2/payment/recurring/methods

Request body

水平價格是您爲產品設定的貨幣價格。 如果您指定market_pid,它只返回能夠以該貨幣支付的支付方法,並按產品定出分級價格。

若爲country省略,國家由請求服務器的IP決定,因此建議通過用戶的國別代碼.

字段 類型 需要嗎? 說明
appid 字符串 要求數 應用程序標識
market_pid 字符串 選擇 產品標識. 用於按照產品分級價格所在的貨幣過濾支付方法
country 字符串 選擇、建議 用戶國家代碼. ISO 3166-1 α-2格式
language 字符串 選擇 支付方法顯示名稱語言. 默認爲en

下面是要求檢查產品支付方法的正文item08用於韓國用戶。

"傑森"("Json")

```json
{ "appid": "com.com2us.example.normal.freefull.google.global.android.common", "market_pid": "item08", "country": "KR", "language": "ko" }
```

Response body

成功對策包括:共同反應領域和數組payment_methods。數組中的每個項目都是PG和支付方法信息。

字段 類型 包含位置 說明
payment_methods 矩陣 反應機構 經常性支付方法清單. 序列是顯示順序
agency_id 整數 payment_methods[] PG 標識符. 照原樣轉發經常性入學申請
agency_code 字符串 payment_methods[] PG碼.kakaopay, danal_tpay, paymentwall, kcp_billing
agency_name 字符串 payment_methods[] PG 名稱
pay_method 字符串 payment_methods[] 支付方法代碼.kakaopay, card
payment_method_id 整數 payment_methods[] 付款方法標識符。 按原樣轉發經常性付款登記申請
payment_method_name 字符串 payment_methods[] 基於language
icon_url 字符串 payment_methods[] 支付方法圖標 URL
currency 字符串 payment_methods[] 支付貨幣

下面是回覆KakaoPay支付方法的例子。https://…輸入icon_url是一個略去實際 URL 的標記。

"傑森"("Json")

```json
{
  "code": "0",
  "message": "SUCCESS",
  "payment_methods": [
    { "agency_id": 3, "agency_code": "kakaopay", "agency_name": "카카오페이", "pay_method": "kakaopay",
      "payment_method_id": 472, "payment_method_name": "카카오페이", "icon_url": "https://…", "currency": "KRW" }
  ]
}
```

回返情況10010003如果找不到應用程序或物品,或者檢查了出售的物品。 如果沒有符合國家和產品貨幣標準的經常性付款方法,10010005將返回。

定期支付註冊API

它請求支付頁面HTML,以便用戶可以註冊支付方法,進而進行第一次支付. 應用程序服務器仍然會在您的網頁視圖或瀏覽器中顯示收到的 HTML 。

在支付頁面上完成註冊後,您將會看到蜂巢結果屏幕. 第一次付款的結果將作爲付款通知轉交應用服務器。

Request info

請求路徑是/v2/payment/recurring/register。請求方法和授權標題遵循共同請求和答覆.

  • 生產 URL:https://hiveiap.qpyou.cn/v2/payment/recurring/register
  • 沙盒 URL :https://sandbox-hiveiap.qpyou.cn/v2/payment/recurring/register

Request body

查看支付方法清單,包括market_pid,並轉發agency_id和payment_method_id列入答覆。country還應傳遞與查閱清單時相同的值。

字段 類型 需要嗎? 說明
appid 字符串 要求數 應用程序標識
market_pid 字符串 要求數 要訂閱的產品標識 。 在所有計費週期使用相同的商品
server_id 字符串 要求數 App 服務器 ID, 在所有時間的付款通知中發送
player_id 字符串 要求數 用戶編號. 見識別用戶
player_type 字符串 要求數 用戶類型.v4或v0
agency_id 整數 要求數 支付方法的 PG 標識符列表查詢回覆
payment_method_id 整數 要求數 付款方法識別符 付款方法清單查詢答覆
email 字符串 附加條件 買家郵件. 需要支付牆壁,沒有使用其他 PG
iap_payload 字符串 選擇 需要轉發到應用程序服務器的更多信息 。 將在付款通知中通報所有計費週期,不得改爲經常性收費請求
country 字符串 選擇、建議 用戶的國家代碼. 它應該與查詢列表時傳遞的值相同,如果省略,則由請求服務器的IP確定
language 字符串 選擇 支付頁面的語言和結果屏幕. 默認爲en

下面是您要求與Kakao Pay登記經常性付款的正文。

"傑森"("Json")

```json
{
  "appid": "com.com2us.example.normal.freefull.google.global.android.common",
  "market_pid": "item08", "server_id": "kr",
  "player_id": "20000032552", "player_type": "v4",
  "agency_id": 3, "payment_method_id": 472,
  "iap_payload": "{\"character\":\"abc\"}",
  "country": "KR", "language": "ko"
}
```

Response body

請檢查一下Content-Type在答覆標題中,由於答覆格式因登記請求的成功而異。 應用程序決定當請求失敗時, 文本用戶會看到什麼 。

結果 HTTP 狀態代碼 內容類型 反應處理
成績 200 text/html 顯示已收付款頁 HTML 。
失敗 200 application/json 確認code和message常見答案

以下是支付月份入學申請中郵件缺失時的回覆.

"傑森"("Json")

```json
{ "code": "10010003", "message": "email is required for paymentwall" }
```

註冊處理

第一次支付是登記時的產品等級價格。 應用選定支付方法的貨幣價格。

您每次申請註冊時都會創建新的經常性付款 。 如果用戶關閉付款頁,經常性付款將仍然不完整,他們將無法要求經常性收費。

第一次付款後,蜂巢服務器將發出付款通知。type改爲:paid保存order_id通知編號。

如果你收到一個10010005錯誤, 請重溫您的支付方法列表, 包括market_pid,並使用答覆中包含的付款方法提出請求。 見錯誤代碼用於瞭解如何處理錯誤的進一步信息。

再次支付API

在第二次付款之後 我們會請求付款 以你的支付方法存檔。 成功的對策是收到付款。 晚期的PG批准與支付牆一樣,在成功回應後可能會導致批准,一旦批准,蜂巢服務器會發出支付通知.

Request info

請求路徑是/v2/payment/recurring/charge。請求方法和認證頭遵循共同請求和答覆.

  • 生產 URL:https://hiveiap.qpyou.cn/v2/payment/recurring/charge
  • 沙盒 URL :https://sandbox-hiveiap.qpyou.cn/v2/payment/recurring/charge

Request body

order_id將發送第一份付款通知的簽發命令號。sequence是一個一元鍵,在同一經常性付款範圍內將計費週期分開,並在重試同一計費週期時防止重複收費。

字段 類型 需要嗎? 說明
appid 字符串 要求數 您註冊的應用程序的應用標識
order_id 字符串 要求數 發佈命令編號order_id第一次付款通知
sequence 整數 要求數 計費週期號. 它的值爲 2 以上, 當重試同一計費週期時使用相同的值
player_id 字符串 要求數 註冊用戶的身份
player_type 字符串 要求數 註冊用戶的類型

下面是請求第二次付款的文本,並附有簽發訂單號。

"傑森"("Json")

```json
{ "appid": "com.com2us.example.normal.freefull.google.global.android.common",
  "order_id": "H4179125520850787386", "sequence": 2,
  "player_id": "20000032552", "player_type": "v4" }
```

Response body

成功的響應將包括這個計費週期的共同響應字段和訂單號. 請將此數字與此計費週期關聯保存 。

字段 類型 包含響應 說明
order_id 字符串 成功重試響應 此計費週期的順序號, 如order_id相應的計費週期的付款通知和退款通知

下面是返回第二順序號的成功響應.

"傑森"("Json")

```json
{ "code": "0", "message": "SUCCESS", "order_id": "H5179125523990923210" }
```

再次支付條件和重試

您將隨時使用重複支付註冊時指定的產品付費。 一個計費週期號由應用服務器管理,Hive不檢查連續計費週期.

如果你停止出售某物品,我們將處理已登記的經常性付款的經常性收費請求。 停止只出售塊 新的註冊, 所以不要要求 重複收費停止計費。

當再次要求使用相同的sequence,處理如下。

重複狀態 回應 額外費用 App 服務器處理
已支付 10010007 無 忽略重複請求, 因爲這些請求已經支付過時間
待覈準 以同樣方式成功回應order_id 無 根據付款通知支付產品
傳輸請求失敗 付款重試結果 重試付款 用同樣的方法重試sequence

返回 PG 失敗的原因message與10010024在PG批准失敗的情況下。 請建議用戶確認支付方法, 並再次嘗試同樣的方法sequence。內部錯誤10010001, 10010004,以及10010022也經過同樣的重審sequence.

解約API

當您取消了經常性付款時,蜂巢服務器會刪除與經常性付款一起註冊的支付方法.10010023返回取消後請求重複收費時的錯誤。

Request info

請求路徑是/v2/payment/recurring/cancel。請求方法和認證頭遵循共同請求和答覆.

  • 生產 URL:https://hiveiap.qpyou.cn/v2/payment/recurring/cancel
  • 沙盒 URL :https://sandbox-hiveiap.qpyou.cn/v2/payment/recurring/cancel

Request body

提供您想要終止的經常性付款的發單編號, 以及您註冊的應用程序和用戶信息 。 命令編號在第二輪之後無法取消 。

字段 類型 需要嗎? 說明
appid 字符串 要求數 您註冊的應用程序的應用標識
order_id 字符串 要求數 發佈命令編號order_id第一次付款通知
player_id 字符串 要求數 註冊用戶的身份
player_type 字符串 要求數 註冊用戶的類型

下面是您要求取消 重複付款的正文 與簽發的訂單號。

"傑森"("Json")

```json
{ "appid": "com.com2us.example.normal.freefull.google.global.android.common",
  "order_id": "H4179125520850787386",
  "player_id": "20000032552", "player_type": "v4" }
```

Response body

成功對策包括共同對策領域code和message。下面是撤銷成功的回應。

"傑森"("Json")

```json
{ "code": "0", "message": "SUCCESS" }
```

返回時10010003如果找不到經常性付款,或10010023如果它已經被撤銷或沒有活動。 請重試10010004錯誤, 無法刪除 PG 支付方法 。

支付通知和結果處理

蜂巢服務器以與普通PG支付相同的格式,將經常性支付結果發送給相同的支付通知URL. 請參看PG 付款結果通知服務用於請求格式和發送字段。

關聯訂單號和支付期次

付款通知不包括經常性付款和計費週期號。 應用程序服務器應當使用您保存的已發佈的訂單號和order_id在經常性收費答覆中確定哪些經常性付款通知對應哪些經常性付款。

何時發送 type order_id App 服務器處理
完成第一筆付款 paid 發佈命令編號 保存初始訂單ID並處理首輪付款
二局後還錢 paid 適用時間order_id經常性收費答覆 與節省的計費週期掛鉤後處理產品付款
從蜂巢控制檯或 PG 償還計費週期 cancelled 重用時間順序號 由於這一計費週期而處理退款

server_id, iap_payload, market_pid,在登記時發出的價值將始終在付款通知中告知。

發放商品和退款

使用purchase_bypass_info在付款通知中,type這是paid覈實收據並支付物品。 請參看PG 付款結果通知服務用於轉發字段。

重新供資的計費週期將遵守退還用戶經常性費用根據正常付款情況。

錯誤代碼

即使HTTP狀態代碼是200你必須檢查code在JSON體內。 識別錯誤代碼和請求狀態 :

代碼 相關 API 原因 處理方法
0 JSON 常見反應 成績 處理每個API的成功答覆
10010001 常見 內部錯誤 重試. 使用相同的重試sequence
10010002 常見 缺少所需值、印刷錯誤、非JSON體、非POST方法。 包含如果sequence經常性費用少於或等於1或等於player_type錯誤 修改請求值和格式
10010003 查看和登記支付方法 APP或產品未找到,產品中止. 失蹤email登記時在支付牆上 檢查應用和產品. 要求它作爲一個銷售項目,並在輸入電子郵件後重新要求支付牆壁
10010003 償還、註銷 沒有發現經常性付款。 非初始命令 ID 或另一個應用程序或用戶的經常性付款 確認第一個初始訂單 ID 和註冊的應用程序和用戶信息
10010004 常見 PG 互鎖錯誤, 包括取消時未刪除 PG 支付方法 重試. 使用相同的重試sequence
10010005 查看和登記支付方法 沒有符合國家和產品貨幣的經常性付款方法 重審清單,包括market_pid,並在答覆中包含的支付方法中登記
10010007 經常性費用 我已經付過錢了 忽略此爲重複
10010022 常見 內部錯誤 重試. 使用相同的重試sequence
10010023 償還、註銷 因取消,招生失敗,招生不全等原因未啓用訂閱. 提醒用戶重新列出
10010024 經常性費用 未批准超過限額,停牌等PG. 包含 PG 失敗的原因 。message 在用戶被告知支付方法後,再使用同樣的方法sequence
HTTP 軟件401 常見 Token 認證失敗 校驗X-Access-Token證書

對接注意事項

連接PG經常性支付時,檢查訂單號與訂單號的使用方式,支付項目時,價格依據,取消範圍.

使用簽發訂單號

重複收費和取消申請必須附有簽發命令號order_id在第一次付款通知中。 回返a10010003如果請求使用中學後命令編號,則出錯。 見一體化流動如何管理訂單號。

期次編號和重試

使用sequence從2開始。 你必須照樣前進sequence重試同一輪付款時,避免雙重計費。 參見經常性收費通過計費週期狀態和重試方法進行響應。

根據支付通知發放商品

根據type paid付款通知。 付款不應僅僅針對成功的經常性費用。 參見付款通知和結果處理 API學習如何驗證收款並鏈接賬單週期。

應用支付時的商品價格

每次付款的數額是要求付款時的產品等級價格。 變更項目價格的,在下期分期支付更新後的金額. 參見經常性收費如果停薪,將如何處理。

Paymentwall購買者電子郵件

在用支付牆壁登記經常性付款時,請輸入買方給用戶的電子郵件並轉發給email請參考經常性付款登記 API請求字段和進入條件。

區分解約與退款

如果你取消了你的經常性付款,你不會被退 任何你已經支付的時間。 如果你想要退款 這些計費週期, 你需要處理 一個單獨的退款。 參見撤銷 API撤銷請求和答覆。