2017-10-21 3 views
0

, 그들은 '나는 돈, 계획을 클릭하고 팝업은 누군가가 자신의 계획을 업데이트하는 경우API를 사용하여 고객이 파일에 신용 카드를 가지고 있다는 것을 어떻게 알 수 있습니까? 누군가가 서버에 가입하는 경우

(신용 카드 정보 등을 요청) 스트라이프 체크 아웃 팝업으로 표시됩니다 스트라이프 체크 아웃 팝업을 표시해야합니다. 고객이 줄무늬로 존재할뿐만 아니라 스트라이프 시스템에 신용 카드가 있다는 것을 어떻게 확인할 수 있습니까? 따라서 신용 카드 세부 정보를 다시 입력하지 않고도 계획을 업데이트/변경할 수 있습니다.

답변

0

고객 테이블에 true 또는 false 값을 갖는 열을 추가 할 수 있으며 고객을 만들 때 기본값 false를 만들 수 있습니다. 고객 카드가 파일로 확인되면 해당 값이 true로 변경 될 수 있습니다.

1

Stripe Customer를 만들고 Stripe 고객 ID를 사용자 테이블에 저장하는 것이 좋습니다. 여기서 귀하의 고객/사용자가 User 모델의 일부이고 데이터베이스의 users 테이블에서 추적되고 있다고 가정합니다.

스트라이프 문서에는 스트라이프 고객 생성을위한 recipe이 있습니다. 우리는 여기서 그릴 것입니다.

먼저, Stripe gem을 Gemfile에 추가하려고합니다.

다음으로 stripe_customer_id 테이블에 문자열 열을 추가하기 위해 마이그레이션을 실행해야합니다. 당신이 새로운 스트라이프 고객을 만들 것 중 하나

current_user.get_or_create_stripe_customer! params[:stripe_token], params[:stripe_email] 

를 호출 할 수 있습니다 또는 스트라이프 고객을 검색하기 위해 지불을 처리하는 컨트롤러에서

def get_or_create_stripe_customer!(stripe_token, stripe_email = nil) 
    return self.stripe_customer_id if self.stripe_customer_id.present? 
    stripe_email = self.email if stripe_email.nil? 

    customer = customer = Stripe::Customer.create(
    :email => stripe_email, 
    :source => stripe_token, 
) 

    self.update_attribute(:stripe_customer_id, customer.id) 
    return customer.id 
end 

:

다음 귀하의 사용자 모델에 다음을 추가 신분증. 참고 :이 코드 샘플에서 current_user은 로그인 한 사용자를 나타내는 변수입니다.

current_user.stripe_customer_id.present?을 쿼리하여 고객에게 신용 카드가 있는지 확인할 수 있습니다. stripe_customer_id을 사용하여 향후 요금을 생성 할 수도 있습니다.

는 스트라이프 고객 생성 (예 : 파일에 신용 카드 정보 보관) 및 스트라이프 고객 ID를 사용하여 새 청구 금액 생성에 대해 자세히 안내합니다.