2016-09-16 75 views
0

我們在其中一個應用程序中使用Stripe支付網關。條紋 - 無法轉移到連接的獨立帳戶

在我們的模型中,我們將有客戶和條帶連接的賬戶。 我們會向客戶收取某些服務的費用,然後定期(每週/每月等)將客戶收入的份額轉移至 關聯賬戶。關聯賬戶持有人是各種業務合作伙伴。

我可以用卡成功創建客戶,並在以後使用Stripe Java API收取費用。但我在將金額轉移到獨立連接帳戶時遇到問題。

通過遵循Stripe文檔中的this鏈接,我正在連接到獨立帳戶。
連接到獨立帳戶後,我正在接收帳戶的條紋帳戶ID,可發佈密鑰,令牌等在我正在存儲在數據庫中的響應。
後來嘗試將資金轉移到此關聯帳戶時,我收到異常。

com.stripe.exception.InvalidRequestException: No such token: pk_test_kXinGPY8H2cyc5vWOQagwkbE; 

我真的不確定在轉移到關聯賬戶時,'source'參數的值應該是多少。是否應該提前支付給客戶的付款?由於將向客戶收取多於一筆付款,並且只有一筆定期轉賬至關聯賬戶,所以我不確定應該從哪裏來源。

我的示例代碼,

Stripe.apiKey = "platform account's secret key" 
Charge charge = null; 
Map<String, Object> chargeParams = new HashMap<String, Object>(); 
chargeParams.put("amount", 200); 
chargeParams.put("currency", "usd"); 
chargeParams.put("source", "pk_test_kXinGPY8H2cyc5vWOQagwkbE"); //{platform accounts public key} 
chargeParams.put("destination", ""acct_18gKXJHZfNFseiFv""); //Connected account's id   
charge = Charge.create(chargeParams); 

我只是想知道,如果上述的業務場景可通過磁條網關來實現。如果是的話,請給我指出我在上面示例代碼中可能犯的任何錯誤。 謝謝。

編輯:

這麼看來,正常情況下,條紋不允許從一個條紋賬戶中的資金轉移到其他沒有轉移是 直接鏈接到一個客戶收費。 它允許從一個Stripe賬戶到其他賬戶的特殊情況轉賬,但是這些付款的數量不能超過您整體交易的10%。

我們的情況我們只需要定期向我們的分商支付他們的收入份額,而不一定是條帶到條帶的轉移。我們始終可以將我們的客戶註冊爲他/她自己的Stripe平臺帳戶中的一位客戶。我們會將客戶的信用卡/借記卡詳細信息添加到該客戶的帳戶 。然後,我們可以使用客戶的客戶賬戶將資金轉移到獨立賬戶。
它應該工作,對吧?

回答

1

與條紋典型的付款流程,可以在兩個步驟可分爲:

  1. 客戶端,在您的前端代碼(HTML + JavaScript的),您使用CheckoutStripe.js(配置爲與您發佈的API密鑰)收集客戶的付款信息並將其變爲令牌。一旦創建了令牌,您就可以將其發送到您的服務器。

  2. 服務器端,在您的後端代碼(在您的情況下,在Java中),您使用該標記實際create a charge

您代碼中的問題是您使用可發佈密鑰作爲source參數。該參數應該包含在前端中創建的令牌的ID。令牌ID是以"tok_"後跟隨機字母數字字符開始的字符串。

其餘代碼看起來是正確的,但如果您的平臺需要取消事務處理,您可能需要添加application_fee參數。事實上,您的平臺將支付Stripe的費用,但由於所有資金都發送到關聯賬戶,因此不會收到交易中的任何款項。

+0

感謝您的回覆。就我而言,我們只會在前端捕獲客戶卡信息一次。使用Stripe.js,我們正在檢索卡令牌並使用該卡令牌在應用程序中創建一個客戶。隨後,我們將根據需要使用存儲卡向存儲的客戶收費。然後將支付給客戶的部分付款轉移至關聯賬戶。這是我遇到問題的地方;轉移到關聯賬戶。 – ivish

+0

@ivish:如果你已經有了一個客戶對象,你只需要在你的費用創建請求中不傳遞一個'source'參數,而是傳遞一個帶有客戶ID的'customer'參數。 – Ywain

+0

我們成功地使用存儲卡向客戶收費。這不是問題。我們的問題是我們無法轉移到關聯賬戶。在我們的情況下,我們會在一個月內多次向客戶收費。在月末,我們需要將從客戶收到的部分付款轉移到關聯賬戶。 – ivish

0

爲什麼不建立一個特殊的客戶鏈接到公司的目標銀行賬戶並收取「他」轉移給你的股東?除非您使用stripe進行審覈,否則您可以將其用作頻道。