2016-08-07 4 views
1

Stripe Connected Accounts API에서 계정의 외부 계정을 청구하려면 어떻게해야합니까?Stripe Connected Accounts API에서 계정을 청구하려면 어떻게해야합니까?

내 시스템에 인보이스를 만든 다음 사용자가 지불하도록하고 싶습니다.

첫 번째 화면에는 시스템에 저장된 지불 계좌 목록이 있습니다. 이것은 은행 계좌, 신용 카드, 직불 카드입니다.

내가 지불 할 계좌를 선택하면 내 문제가 시작됩니다.

여기

def pay_invoice invoice_id, source_id 
    invoice = Invoice.find(invoice_id) 
    account = Stripe::Account.retrieve(@account) 
    charge_source = account.external_accounts.retrieve(source_id) 

    c = Stripe::Charge.create(
     :amount => invoice.cents, 
     :currency => "usd", 
     #:customer => @account, 
     :source => charge_source, 
     :description => "Charge for invoice ##{invoice_id}" 
    ) 

end 

메서드에 전달 된 SOURCE_ID가 앞서있어 외부 계정의 ID입니다 내 코드입니다.

내 첫 번째 시도는 소스로 그것을 통과하고 있었고, 난 오류 "그런 토큰"

+0

을 :

그런 다음 코드는 다음과 같이 찾고 끝 –

답변

0

당신이 스트라이프가 토큰을 반환 사용자로부터 신용/직불 카드를 가지고 당신은 두 가지 일을 할 수 있어요. 고객에게 한 번만 청구하면 토큰이 만료됩니다. 2. 해당 토큰을 사용하여 고객을 생성하고 이후 지불을 위해 저장하십시오. 이렇게하면 추가 요금을 낼 수 있습니다.

여기서 토큰을 사용하고 있으며 다음 토큰이 오류를 일으키고 있습니다.

1

연결된 계정 API를 통해 계정을 충전하는 좋은 방법이 없다는 것을 통해 알 수 있습니다.

각 사용자에 대해 스트라이프 계정을 만들고 각 사용자에 대해 스트라이프 연락처를 만들 예정입니다. 내가 :(나뿐만 아니라 고객으로 각 계정을 추가 할 필요가 생각하고

def pay_invoice invoice_id, source_id 
    invoice = Invoice.find(invoice_id) 
    c = Stripe::Customer.retrieve(@customer_id) 
    paying_source = nil 
    c.sources.each do | source| 
     if source.id == source_id 
      paying_source = source 
     end 
    end 

    c = Stripe::Charge.create(
     :amount => invoice.cents, 
     :currency => "usd", 
     :customer => c, 
     :source => paying_source, 
     :description => "Charge for invoice ##{invoice_id}" 
    ) 

    invoice.status = "paid" 
    invoice.save 

end