Stripe Connect를 사용하여 간단한 서비스 만들기

Stripe Connect는 '플랫폼 및 마켓플레이스를 위한 결제 인프라'로 Stripe에서 제공하는 기능입니다. Stripe Connect를 사용하면 Stripe 계정간에 부모와 자식 관계를 만들고, 자녀 계정에 대한 지불에 대한 플랫폼 수수료를 징수하거나, 부모 계정으로 지불을 회수하고 나서 자식 계정에 입금하는 등의 흐름을 간단하게 할 수 있다 같아요.

이번 Stripe Connect를 활용하여 하루 100엔으로 응원하고 싶은 사람의 페이지에 메시지를 게재할 수 있는 퍼포머 응원 플랫폼 tip me이라는 서비스를 만들었습니다.

사용 프레임워크



백엔드: Ruby on Rails
프론트: ActionView(Rails) + Vue.js

지불 흐름



실제 돈의 흐름은 다음과 같습니다.



출처: htps : // st 리페. 코 m / 드 cs / 콘 ct / 에나 b ぇ 파 y 맨 t

구현 흐름



아래가 싹둑한 실장의 흐름이 됩니다. 변수 부분은 적절히 읽어 주세요.
전제로 stripe-ruby gem을 설치하고 공개 키와 비밀 키를 설정합니다.

1. Stripe 계정 생성
account = Stripe::Account.create({
                  type: account_type,
                  country: 'JP',
                  default_currency: 'jpy',
                  email: current_user.email})

참조) htps : // st 리페. 코 m / 두 cs / 아피 / 아코 응 ts / c 레테

2. Stripe 계정을 링크시킨다(부모와 자식 관계의 작성)
account_link = Stripe::AccountLink.create({
                  account: account.id,
                  refresh_url: stripe_url,
                  return_url: stripe_callback_url,
                  type: 'account_onboarding',
                })

계정 링크 생성 후 redirect_to account_link.url에서 Stripe 계정의 정보 입력 화면으로 리디렉션합니다.

참조) htps : // st 리페. 코 m / 드 cs / 아피 / 아코 응 t_ ㄴ ks / c

3. 결제
Stripe::Charge.create({
                   amount: total_amount,
                   currency: currency,
                   source: stripe_token,
                   application_fee_amount: application_fee_amount,
                   expand: ['balance_transaction']
                 }, 
                 stripe_account: stripe_account_id )

stripe_account에 하위 계정의 ID를 입력합니다.

참조) htps : // st 리페. 코 m / 두 cs / 아피 / 짱 s / c 레테

이상이 매우 거칠지만 구현의 흐름입니다.
주의점으로 Stripe 계정에는 standard, express, custom의 3 종류가 있으며, standard 이외의 계정을 자식 계정으로 Stripe Connect를 사용하면 자식 계정 유지, 출금 시 수수료가 발생합니다.

참조) htps : // st 리페. 코 m / jp / 콘 ct / p 리신 g

결론



퍼포머, 서포터 여러분에게 보다 나은 서비스로 해 가고 싶습니다.
의견·감상·질문 등 있으면 부담없이 연락해 주십시오.
htps : // 치p메. 푹

좋은 웹페이지 즐겨찾기